80,351
社区成员
发帖
与我相关
我的任务
分享
package com.json.testj;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
public class MainActivity extends Activity{
private static final int JSON = 1;
private ListView listView;
private Button button;
private Handler handler;
private ArrayList<Knowledge> list;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button=(Button)findViewById(R.id.button);
listView = (ListView)findViewById(R.id.question_knowledge);
handler = new Handler(){
public void handleMessage(Message msg){
super.handleMessage(msg);
Bundle bundle = msg.getData();
String json = bundle.getString("json");
list = new ArrayList<Knowledge>();
if(msg.what==JSON){
list = JSONUtil.parseJson(json);
Log.i("list", list.toString());
}
}
};
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
getResult();
ListAdapter adapter = new ListAdapter(getBaseContext(), list);
listView.setAdapter(adapter);
}
});
}
public void getResult(){
final String uri = "http://www.yuerme.com:8181/client/lore/queryLore.do?uid=";
new Thread(new Runnable() {
@Override
public void run() {
Bundle bundle = new Bundle();
String str = HttpUtils.getJsonContent(uri);
bundle.putString("json", str);
Message msg = new Message();
msg.setData(bundle);
msg.what=JSON;
handler.sendMessage(msg);
}
}).start();
}
}
package com.json.testj;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.util.Log;
public class JSONUtil {
public static ArrayList<Knowledge> parseJson(String jsonString){
ArrayList<Knowledge> list = new ArrayList<Knowledge>();
Knowledge knowledge = new Knowledge();
try {
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray jsonArray = jsonObject.getJSONArray("data");
for(int i=0;i<jsonArray.length();i++){
JSONObject item = jsonArray.getJSONObject(i);
String title = item.getString("title");
String content = item.getString("content");
knowledge.setTitle(title);
knowledge.setContent(content);
list.add(knowledge);
}
} catch (JSONException e) {
e.printStackTrace();
}
Log.i("result", "json数据获取成功");
return list;
}
}
package com.json.testj;
import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class ListAdapter extends BaseAdapter {
private ArrayList<Knowledge> alist;
private LayoutInflater inflater;
private TextView title,content;
private Knowledge knowledge;
public ListAdapter(Context context,ArrayList<Knowledge> list) {
inflater = LayoutInflater.from(context);
alist = list;
}
@Override
public int getCount() {
return alist.size()==0?0:alist.size();
}
@Override
public Knowledge getItem(int position) {
if(alist==null||alist.size()==0)
return null;
return alist.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null)
convertView = inflater.inflate(R.layout.listitem, null);
knowledge = getItem(position);
title = (TextView)convertView.findViewById(R.id.title);
title.setText(knowledge.getTitle().toString());
content = (TextView)convertView.findViewById(R.id.content);
content.setText(knowledge.getContent().toString());
return convertView;
}
}