Android ThreadException-尝试从网站接收数据
我现在正在开发一个应用程序,为期一周。不幸的是,有一个错误很难解决,因为我现在真的不知道该怎么办。请参阅下面的LogCat列表副本Android ThreadException-尝试从网站接收数据,android,json,http,Android,Json,Http,我现在正在开发一个应用程序,为期一周。不幸的是,有一个错误很难解决,因为我现在真的不知道该怎么办。请参阅下面的LogCat列表副本 01-04 00:14:23.662: E/log_tag(3073): Error in http connectionandroid.os.NetworkOnMainThreadException 01-04 00:14:23.662: E/log_tag(3073): Error converting result java.lang.NullPointerE
01-04 00:14:23.662: E/log_tag(3073): Error in http connectionandroid.os.NetworkOnMainThreadException
01-04 00:14:23.662: E/log_tag(3073): Error converting result java.lang.NullPointerException
01-04 00:14:23.672: D/AndroidRuntime(3073): Shutting down VM
01-04 00:14:23.672: W/dalvikvm(3073): threadid=1: thread exiting with uncaught exception (group=0x409961f8)
01-04 00:14:23.692: E/AndroidRuntime(3073): FATAL EXCEPTION: main
01-04 00:14:23.692: E/AndroidRuntime(3073): java.lang.RuntimeException: Unable to start activity ComponentInfo{united.aristal.freewallet/united.aristal.freewallet.GroupHistory}: java.lang.NullPointerException
01-04 00:14:23.692: E/AndroidRuntime(3073): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)
01-04 00:14:23.692: E/AndroidRuntime(3073): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
01-04 00:14:23.692: E/AndroidRuntime(3073): at android.app.ActivityThread.access$600(ActivityThread.java:122)
01-04 00:14:23.692: E/AndroidRuntime(3073): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
01-04 00:14:23.692: E/AndroidRuntime(3073): at android.os.Handler.dispatchMessage(Handler.java:99)
01-04 00:14:23.692: E/AndroidRuntime(3073): at android.os.Looper.loop(Looper.java:137)
01-04 00:14:23.692: E/AndroidRuntime(3073): at android.app.ActivityThread.main(ActivityThread.java:4340)
01-04 00:14:23.692: E/AndroidRuntime(3073): at java.lang.reflect.Method.invokeNative(Native Method)
01-04 00:14:23.692: E/AndroidRuntime(3073): at java.lang.reflect.Method.invoke(Method.java:511)
01-04 00:14:23.692: E/AndroidRuntime(3073): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-04 00:14:23.692: E/AndroidRuntime(3073): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-04 00:14:23.692: E/AndroidRuntime(3073): at dalvik.system.NativeStart.main(Native Method)
01-04 00:14:23.692: E/AndroidRuntime(3073): Caused by: java.lang.NullPointerException
01-04 00:14:23.692: E/AndroidRuntime(3073): at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116)
01-04 00:14:23.692: E/AndroidRuntime(3073): at org.json.JSONTokener.nextValue(JSONTokener.java:94)
01-04 00:14:23.692: E/AndroidRuntime(3073): at org.json.JSONArray.<init>(JSONArray.java:87)
01-04 00:14:23.692: E/AndroidRuntime(3073): at org.json.JSONArray.<init>(JSONArray.java:103)
01-04 00:14:23.692: E/AndroidRuntime(3073): at united.aristal.freewallet.GroupHistory.retrieveGroupInfo(GroupHistory.java:295)
01-04 00:14:23.692: E/AndroidRuntime(3073): at united.aristal.freewallet.GroupHistory.onCreate(GroupHistory.java:95)
01-04 00:14:23.692: E/AndroidRuntime(3073): at android.app.Activity.performCreate(Activity.java:4465)
01-04 00:14:23.692: E/AndroidRuntime(3073): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
01-04 00:14:23.692: E/AndroidRuntime(3073): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
01-04 00:14:23.692: E/AndroidRuntime(3073): ... 11 more
01-04 00:14:23.662:E/log_标记(3073):http连接中出错android.os.NetworkOnMainThreadException
01-04 00:14:23.662:E/log_标记(3073):转换结果java.lang.NullPointerException时出错
01-04 00:14:23.672:D/AndroidRuntime(3073):关闭虚拟机
01-04 00:14:23.672:W/dalvikvm(3073):threadid=1:线程以未捕获异常退出(组=0x409961f8)
01-04 00:14:23.692:E/AndroidRuntime(3073):致命异常:主
01-04 00:14:23.692:E/AndroidRuntime(3073):java.lang.RuntimeException:无法启动活动组件信息{united.aristal.freewallet/united.aristal.freewallet.GroupHistory}:java.lang.NullPointerException
01-04 00:14:23.692:E/AndroidRuntime(3073):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)
01-04 00:14:23.692:E/AndroidRuntime(3073):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
01-04 00:14:23.692:E/AndroidRuntime(3073):在android.app.ActivityThread.access$600(ActivityThread.java:122)
01-04 00:14:23.692:E/AndroidRuntime(3073):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
01-04 00:14:23.692:E/AndroidRuntime(3073):在android.os.Handler.dispatchMessage(Handler.java:99)上
01-04 00:14:23.692:E/AndroidRuntime(3073):在android.os.Looper.loop(Looper.java:137)
01-04 00:14:23.692:E/AndroidRuntime(3073):在android.app.ActivityThread.main(ActivityThread.java:4340)上
01-04 00:14:23.692:E/AndroidRuntime(3073):位于java.lang.reflect.Method.Invokenactive(本机方法)
01-04 00:14:23.692:E/AndroidRuntime(3073):位于java.lang.reflect.Method.invoke(Method.java:511)
01-04 00:14:23.692:E/AndroidRuntime(3073):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-04 00:14:23.692:E/AndroidRuntime(3073):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-04 00:14:23.692:E/AndroidRuntime(3073):在dalvik.system.NativeStart.main(本机方法)
01-04 00:14:23.692:E/AndroidRuntime(3073):由以下原因引起:java.lang.NullPointerException
01-04 00:14:23.692:E/AndroidRuntime(3073):位于org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116)
01-04 00:14:23.692:E/AndroidRuntime(3073):位于org.json.JSONTokener.nextValue(JSONTokener.java:94)
01-04 00:14:23.692:E/AndroidRuntime(3073):位于org.json.JSONArray(JSONArray.java:87)
01-04 00:14:23.692:E/AndroidRuntime(3073):位于org.json.JSONArray(JSONArray.java:103)
01-04 00:14:23.692:E/AndroidRuntime(3073):在united.aristal.freewallet.GroupHistory.retrieveGroupInfo(GroupHistory.java:295)
01-04 00:14:23.692:E/AndroidRuntime(3073):在united.aristal.freewallet.GroupHistory.onCreate(GroupHistory.java:95)
01-04 00:14:23.692:E/AndroidRuntime(3073):在android.app.Activity.performCreate(Activity.java:4465)上
01-04 00:14:23.692:E/AndroidRuntime(3073):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)上
01-04 00:14:23.692:E/AndroidRuntime(3073):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
01-04 00:14:23.692:E/AndroidRuntime(3073):。。。还有11个
存在当前问题的脚本副本:
/********************************************************************
* RETRIEVING GROUP INFO *
*********************************************************************/
public void retrieveGroupInfo(){
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("link");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}
catch(Exception e){
Log.e("log_tag", "Error in http connection"+e.toString());
}
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line="0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n\n");
}
is.close();
result = sb.toString();
}
catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
try{
jArray = new JSONArray(result);
JSONObject json_data=null;
for(int i = 0; i < jArray.length(); i++){
json_data = jArray.getJSONObject(i);
retrievedId.add(json_data.getInt("id"));
String getDate = recoverDate(json_data.getString("date"));
String getTime = json_data.getString("time");
String getCategory = json_data.getString("category");
String getObjectName = json_data.getString("object_name");
String getObjectVal = json_data.getString("object_value");
String getValType = json_data.getString("value_type");
//String getUsername = json_data.getString("username");
historyItems.add(
getCategory + "\t: " + getObjectName + "\n" +
"Price\t: € " + getObjectVal + "\n" +
"Date\t: " + getDate + " " + getTime);
historyValueType.add(getValType);
}
ListView lv = (ListView) findViewById(R.id.listViewMenu);
lv.setAdapter(fancyAdapter);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
alertdialogUpdateDelete(position);
//showToast(historyItem.get(position).toString());
}
});
}
catch(JSONException e1){
//Toast.makeText(getBaseContext(), "No Record Found." ,Toast.LENGTH_LONG).show();
}
catch (ParseException e1) {
e1.printStackTrace();
}
}
/********************************************************************
*检索组信息*
*********************************************************************/
public void retrieveGroupInfo(){
试一试{
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“链接”);
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
HttpResponse response=httpclient.execute(httppost);
HttpEntity=response.getEntity();
is=entity.getContent();
}
捕获(例外e){
e(“Log_标记”,“http连接错误”+e.toString());
}
试一试{
BufferedReader reader=新的BufferedReader(新的InputStreamReader(is,“iso-8859-1”),8;
sb=新的StringBuilder();
sb.append(reader.readLine()+“\n”);
字符串行=“0”;
而((line=reader.readLine())!=null){
sb.追加(第+行“\n\n”);
}
is.close();
结果=sb.toString();
}
捕获(例外e){
Log.e(“Log_标记”,“错误转换结果”+e.toString());
}
试一试{
jArray=新的JSONArray(结果);
JSONObject json_data=null;
for(int i=0;i