您的位置:首页 > Web前端 > JavaScript

解析数组json

2016-05-26 11:37 489 查看
<span style="font-size:18px;">public class MainActivity extends Activity {
//定义全局变量
private ListView lv;
String path = "http://172.17.29.120/localuser/ljy/datas/data.json";
private HttpResponse httpResponse;
private List<Bean> list;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获得控件
lv = (ListView) findViewById(R.id.listView1);
//开启一个线程
new Thread() {

@Override
public void run() {
sendGet();
}

}.start();
}
//自定义适配器
class Myad extends BaseAdapter {

private TextView tv1;
private TextView tv2;
private SmartImageView img;

@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = View.inflate(MainActivity.this, R.layout.item, null);
tv1 = (TextView) convertView.findViewById(R.id.textView1);
tv2 = (TextView) convertView.findViewById(R.id.textView2);
img = (SmartImageView) convertView.findViewById(R.id.imageView1);

tv1.setText(list.get(position).title);
tv2.setText(list.get(position).intro);
img.setImageUrl(list.get(position).pic);
return convertView;
}
}

// 获取网络数据方法
public void sendGet() {
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(path);
try {
httpResponse = client.execute(get);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = httpResponse.getEntity();
String str = EntityUtils.toString(entity, "gbk");
Gson gson = new Gson();
Type tp = new TypeToken<ArrayList<Bean>>() {
}.getType();
list = gson.fromJson(str, tp);
runOnUiThread(new Runnable() {

@Override
public void run() {
lv.setAdapter(new Myad());
}
});
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: