如何使用Android中HTTPGET请求? [英] How to use HttpGet Request in Android?
本文介绍了如何使用Android中HTTPGET请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用这code,但它捕获在一个try-catch错误。哪里是一个错误?
当我打印错误, content.setText(ex.getMessage());
为空
下面是相关code:
公共类MainActivity延伸活动{ TextView的内容;
FNAME的EditText,电子邮件; @覆盖
保护无效的onCreate(捆绑savedInstanceState){ super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main); 内容=(的TextView)findViewById(R.id.content);
按钮saveme =(按钮)findViewById(R.id.save);
saveme.setOnClickListener(新Button.OnClickListener(){
公共无效的onClick(视图v){
Toast.makeText(getBaseContext(),请稍候,连接到服务器,Toast.LENGTH_LONG).show(); 尝试{
字符串loginValue = URLEn coder.en code(FFA,UTF-8);
字符串fnameValue = URLEn coder.en code(fdsfdb,UTF-8); HttpClient的客户端=新DefaultHttpClient();
串的URL =HTTP://mysite/app.php一个=+ loginValue +和b =+ fnameValue; 尝试{
串SetServerString;
HTTPGET HTTPGET =新HTTPGET(URL);
ResponseHandler所<串GT; ResponseHandler所=新BasicResponseHandler();
SetServerString = Client.execute(HTTPGET,ResponseHandler所);
content.setText(SetServerString);
}赶上(例外前){
content.setText(ex.getMessage());
}
}赶上(UnsupportedEncodingException前){
content.setText(ex.getMessage());
}
}
});
}
}
解决方案
我想你NetworkOnMainThreadException。你应该在后台线程中执行网络通信。考虑使用IntentService或AsyncTask的。
I am using this code, but it catches an error in a try-catch. Where is a mistake?
When I print a error, content.setText(ex.getMessage());
is empty.
Here is the relevant code:
public class MainActivity extends Activity {
TextView content;
EditText fname, email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
content = (TextView) findViewById(R.id.content);
Button saveme = (Button) findViewById(R.id.save);
saveme.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Toast.makeText(getBaseContext(), "Please wait, connecting to server.", Toast.LENGTH_LONG).show();
try {
String loginValue = URLEncoder.encode("ffa", "UTF-8");
String fnameValue = URLEncoder.encode("fdsfdb", "UTF-8");
HttpClient Client = new DefaultHttpClient();
String URL = "http://mysite/app.php?a=" + loginValue + "&b=" + fnameValue;
try {
String SetServerString;
HttpGet httpget = new HttpGet(URL);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
SetServerString = Client.execute(httpget, responseHandler);
content.setText(SetServerString);
} catch (Exception ex) {
content.setText(ex.getMessage());
}
} catch (UnsupportedEncodingException ex) {
content.setText(ex.getMessage());
}
}
});
}
}
解决方案
I think you get NetworkOnMainThreadException. You should perform network communication on background thread. Consider using IntentService or AsyncTask.
这篇关于如何使用Android中HTTPGET请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文