我正在开发一个 android 应用程序,我需要访问在 asp.net 中作为网页完成的服务器端
以下是网页网址:
theWebPageURL?action=methodName&email=theEmail
我不知道我应该使用什么方法来访问此 URL 并将电子邮件参数发送给它并获得响应。
我搜索了很多,没有一个工作
谁能帮帮我?
我正在开发一个 android 应用程序,我需要访问在 asp.net 中作为网页完成的服务器端
以下是网页网址:
theWebPageURL?action=methodName&email=theEmail
我不知道我应该使用什么方法来访问此 URL 并将电子邮件参数发送给它并获得响应。
我搜索了很多,没有一个工作
谁能帮帮我?
我建议查看这两个类似的问题:
如何在 Android 中向 HTTP GET 请求添加参数?
更新
下面的代码是我根据上面两个链接中的答案汇总的工作示例;如果这对您有帮助,请务必感谢他们。
为了演示,这个示例中的 uri 被构建到http://www.google.com/search?q=android中。
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Construct the URI
String uri = "http://www.google.com/search?";
List<NameValuePair> params = new LinkedList<NameValuePair>();
params.add(new BasicNameValuePair("q", "android"));
uri += URLEncodedUtils.format(params, "utf-8");
// Run the HTTP request asynchronously
new RequestTask().execute(uri);
}
class RequestTask extends AsyncTask<String, String, String>{
@Override
protected String doInBackground(String... uri) {
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response;
String responseString = null;
try {
response = httpclient.execute(new HttpGet(uri[0]));
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == HttpStatus.SC_OK){
ByteArrayOutputStream out = new ByteArrayOutputStream();
response.getEntity().writeTo(out);
out.close();
responseString = out.toString();
} else{
//Closes the connection.
response.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}
} catch (ClientProtocolException e) {
//TODO Handle problems..
} catch (IOException e) {
//TODO Handle problems..
}
return responseString;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
// result contains the response string.
}
}
}
而且,当然,不要忘记将其添加到您的清单中:
<uses-permission android:name="android.permission.INTERNET" />