以下代码用于从我的网络服务获取数据并将其存储在我的应用程序中:
//GET APP INFORMATION
public static String getAppInformation() {
String data = "";
//test the get method data retrieval using the HttpRequest Class
try {
data = makeHttpRequest("http://www.mywebsite.com/abc.php?action=abc.get");
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
如何停止获取“android.os.NetworkOnMainThreadException”异常并返回数据变量?
最佳答案
从线程调用 getAppInformation,而不是从 oncreate()
class CallDemo extends Thread
{
public void run()
{
getAppInformation()
}
}
以及来自 oncreate()
new CallDemo().start();
通过使用asynctask
class DemoClass extends AsyncTask<String, Void, String>
{
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
String result=getAppInformation();
return result;
}
}
和oncreate代码
try
{
DemoClass d=new DemoClass();
d.execute("");
String data=d.get();
}
catch(Exception e)
{
}
关于java - 从 Java/Android 中的 Web 服务检索数据。 android.os.NetworkOnMainThreadException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27294674/