我正在尝试将一个php页面拉到android上的字符串。 问题是我无法在try之外获得response_str变量。 无论我在做什么,它都会继续返回null。 URL返回1或0。
这是我的代码:
public String IsLoggedIn() {
String url_text = "http://klh-dev.com/lehava/lehava/system/isloggedin.php";
String response_str = null;
try {
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url_text.toString());
ResponseHandler<String> responseHandler = new BasicResponseHandler();
response_str = client.execute(request, responseHandler);
}
catch (Exception e) {
}
return response_str;
}
我得到的错误:
10-31 20:33:27.906: I/chromium(13374): [INFO:CONSOLE(74)] "Uncaught TypeError: Object [object Object] has no method 'n33_scrolly'", source: http://www.klh-dev.com/lehava/lehava/system/js/init.js (74)
谢谢你, Morha13
答案 0 :(得分:0)
如果您在主线程上执行此操作,那么您可能会收到NetworkOnMainThreadException。
如果是这种情况,请尝试将代码移动到后台线程,例如使用AsyncTask。
并且不要忘记互联网许可。
试试这个:
new AsyncTask<Void, Void, Void>(){
@Override
protected Void doInBackground(Void... voids) {
String url_text = "http://klh-dev.com/lehava/lehava/system/isloggedin.php";
String response_str = null;
try {
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url_text.toString());
ResponseHandler<String> responseHandler = new BasicResponseHandler();
response_str = client.execute(request, responseHandler);
Log.v("Response", response_str);
}
catch (Exception e) {
e.printStackTrace();
}
return null;
}
}.execute();