Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“错误”;Android.os.NetworkOnMainThreadExeption“;在登录android中_Android - Fatal编程技术网

“错误”;Android.os.NetworkOnMainThreadExeption“;在登录android中

“错误”;Android.os.NetworkOnMainThreadExeption“;在登录android中,android,Android,我尝试用IP从android应用程序连接到mysql数据库,在我尝试运行我的应用程序后,我单击登录按钮转到下一页,但错误显示消息“不幸已停止” 我不知道出了什么问题,也许我认为我的类中存在json解析 这是class>JSON 解析器 公共类JSONParser{ 静态InputStream为空; 静态JSONObject jObj=null; 静态字符串json=“”; //建造师 公共JSONParser(){ } 公共JSONObject getJSONFromUrl(字符串url,列表参

我尝试用IP从android应用程序连接到mysql数据库,在我尝试运行我的应用程序后,我单击登录按钮转到下一页,但错误显示消息“不幸已停止”

我不知道出了什么问题,也许我认为我的类中存在json解析

这是class>JSON 解析器

公共类JSONParser{
静态InputStream为空;
静态JSONObject jObj=null;
静态字符串json=“”;
//建造师
公共JSONParser(){
}
公共JSONObject getJSONFromUrl(字符串url,列表参数){
//发出HTTP请求
试一试{
//defaultHttpClient
DefaultHttpClient httpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(url);
setEntity(新的UrlEncodedFormEntity(参数));
HttpResponse HttpResponse=httpClient.execute(httpPost);
HttpEntity HttpEntity=httpResponse.getEntity();
is=httpEntity.getContent();
}捕获(不支持的编码异常e){
e、 printStackTrace();
}捕获(客户端协议例外e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
试一试{
BufferedReader reader=新的BufferedReader(新的InputStreamReader(is,“iso-8859-1”),8;
StringBuilder sb=新的StringBuilder();
字符串行=null;
而((line=reader.readLine())!=null){
sb.追加(第+行“\n”);
}
is.close();
json=sb.toString();
Log.e(“JSON”,JSON);
}捕获(例外e){
Log.e(“缓冲区错误”,“错误转换结果”+e.toString());
}
//尝试将字符串解析为JSON对象
试一试{
jObj=新的JSONObject(json);
}捕获(JSONException e){
Log.e(“JSON解析器”,“错误解析数据”+e.toString());
}
//返回JSON字符串
返回jObj;
}
}

当您试图在其主线程上执行网络操作时,会引发此异常

异步任务中运行代码
或创建不同的
线程


别忘了添加internet权限:

<uses-permission android:name="android.permission.INTERNET"/>


阅读本文,您应该从AsyncTask而不是activity执行所有这些操作。Httpcalls和其他长时间运行的操作不得在主UI线程上执行,请尝试改用AsyncTask
<uses-permission android:name="android.permission.INTERNET"/>