【发布时间】:2014-06-24 19:35:29
【问题描述】:
这是我的主要活动代码,但是当我运行代码时,它说不幸的是程序已停止工作。在 LogCat 中它说:执行 doInBackground() 时发生错误。
我回显了所有接收到的 json 值,所有的都被提取并添加到数组列表中。
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.Fragment;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.util.ArrayMap;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final String URL="http://10.0.3.2/other";
static String TITLE = "username";
static String DESCIPTION = "password";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Getdata().execute();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
return super.onCreateOptionsMenu(menu);
}
private class Getdata extends AsyncTask<String, Void, Void>{
ProgressDialog pDialog;
JSONParser jsp=new JSONParser();
JSONObject job;
ArrayList<HashMap<String, String>> arraylist;
CustomAdapter adapter;
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
pDialog=new ProgressDialog(MainActivity.this);
pDialog.setIndeterminate(false);
pDialog.setTitle("please wait");
pDialog.setMessage("Loading");
pDialog.show();
}
@Override
protected Void doInBackground(String... params) {
// TODO Auto-generated method stub
List<NameValuePair> param = new ArrayList<NameValuePair>();
param.add(new BasicNameValuePair("tag", "all"));
job= jsp.getJSONFromUrl(URL, param);
try{
JSONArray jarr= job.getJSONArray("names");
for (int i = 0; i < jarr.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
job = jarr.getJSONObject(i);
// Retrive JSON Objects
map.put("username", job.getString("username"));
map.put("password", job.getString("password"));
Log.e("jsob", job.toString());
// Set the JSON Objects into the array
arraylist.add(map);
}
} catch(JSONException e){
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
ListView lv= (ListView) findViewById(R.id.list);
adapter = new CustomAdapter(MainActivity.this, arraylist);
lv.setAdapter(adapter);
pDialog.dismiss();
}
}
}
【问题讨论】:
-
发布整个错误日志