虽然这只是一个粗略的草图..我只是想看看它是否会工作..任何时候我运行程序它都不会崩溃,也不会显示任何东西。logcat 上显示的错误是 php 页面的 JSON 结果。我不知道为什么 Postexecute() 方法不起作用...
这是错误
09-14 18:21:07.079: E/JSON(21310): {"tag":"getTopic","success":1,"error":0,"data":[{"title":"Facebook 终于rolls GRAPH Search","tid":"81","time":"2013-06-22 10:05:18"},{"title":"什么是 Ubuntu for Android?","tid":" 69","time":"2013-06-22 10:18:00"},{"title":"Android 和 Windows 在同一设备上(三星)","tid":"98","time": "2013-06-22 10:18:35"},{"title":"\"Tweet\" 已被验证为英文真词","tid":"67","time":"2013 -06-22 10:27:33"},{"title":"Instagram 现在有视频录制","tid":"97","time":"2013-06-22 10:27:45"},{"title":"一封致 DBanj 的公开信","tid":"70","time":"2013-06 -22 10:31:41"},{"title":"MTN 通话率 wahala","tid":"84","time":"2013-06-22 10:32:44"},{" title":"女性必备的朋友类型","tid":"33","time":"2013-06-22 10:45:41"},{"title":"不求回报","tid":"106","time":"2013-06-22 18:15:06"},{"title":"我爱你","tid":"107", "time":"2013-06-22 18:28:56"},{"title":"我讨厌!!!","tid":"115","time":"2013-06-23 19:06:26"},{"title":"Spoils of love","tid":"116","time":"2013-06-23 19:14:43"} ,{"title":"一封男人给女人的道歉信","tid":"117","time":"2013-06-26 12:43:02"},{"title":"斋月开始明天(在 sha Allah)!!!","tid":"120","time":"2013-07-09 15:06:09"},{"title":"防止婚姻不忠", "tid":"29","time":"2013-07-14 12:06:31"},{"title":"如何建立健康的关系","tid":"121","time ":"2013-08-02 17:17:32"},{"title":"ASUU 罢工不会很快结束","tid":"124","time":"2013-08-27 12:56:26"},{"title":"Google 宣布 Android 4.4 KitKat","tid":"126","time": "2013-09-06 20:51:32"},{"title":"Apple 推出 iPhone 5s 和 iPhone 5c","tid":"127","time":"2013-09-11 15:29 :40"}]}
这就是课堂
import java.util.ArrayList;
import java.util.HashMap;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.nairation.library.JSONParser;
import com.nairation.library.UserFunctions;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class Topic_page extends Activity implements OnItemClickListener{
public static final String TOPIC_DURATION = "relative";
public static final String TOPIC_TITLE = "title";
public static final String TOPIC_PREVIEW = "Testing out";
public static final String TOPIC_ID = null;
public static final Object TOPIC_THUMB_URL = null;
ListView list;
TopicListAdapter adapter;
UserFunctions userf;
JSONParser jpa;
ArrayList<HashMap<String, String>> topicList = new ArrayList<HashMap<String,String>>();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.topic_page);
list = (ListView) findViewById(R.id.topic_list);
adapter = new TopicListAdapter(this, topicList);
list.setAdapter(adapter);
list.setOnItemClickListener(this);
try{
new ServiceSync().execute("mash");
}catch(Exception e){
String message = e.getMessage();
}
}
private class ServiceSync extends AsyncTask<String, JSONObject, JSONObject>{
@Override
protected JSONObject doInBackground(String... params) {
// TODO Auto-generated method stub
String uname = params[0];
userf = new UserFunctions();
JSONObject jp = userf.getTopic(uname);
return jp;
}
@Override
protected void onPostExecute(JSONObject result) {
// TODO Auto-generated method stub
//super.onPostExecute(result);
try {
JSONArray obj = result.getJSONArray("data");
for (int i = 0; i < result.length(); i++) {
JSONObject data = obj.getJSONObject(i);
HashMap<String, String> map = new HashMap<String, String>();
String title = data.getString(TOPIC_TITLE);
String time = data.getString("time");
String tid = data.getString("tid");
map.put(TOPIC_TITLE, title);
map.put("Date", time);
topicList.add(map);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Problem with loading the feeds", Toast.LENGTH_LONG).show();
}
}
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
}
}
那么JSON结果没有被处理可能是什么问题..