1、json数据解析
解析数据,就需要写一个解析函数,这里就简单的写在mainActivity中:
public void parseText(String str){
try {
JSONObject jb = new JSONObject(str);
System.out.println(jb.getString("code"));
System.out.println(jb.getString("text"));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
因为我们可以看到之前获得的回应中,有的两个参数就是code和text(忘了的可以看一下上一篇内容)
然后在我们之前的getDataurl()方法中,我们就调用刚写的解析函数:
@Override
public void getDataurl(String data) {
// TODO Auto-generated method stub
//System.out.println(data);
parseText(data);
}
大家不要弄混了,这个getDataurl函数就是我们在HttpGetDataListener接口中定义的,然后我们在mainActivity中实现的。
最后实现的结果是(在logCat中看):
- System.out: 100000
- System.out: 亲爱的,悄悄地告诉我你在哪个城市?
是不是和浏览器中获得内容是一样的呢?只是把它分成了两部分获取。
2、数据封装
数据封装,就需要建一个新的数据类:ListData
这里只是封装了一下一条内容。
package com.ych.wechat;
//不仅仅是封装内容,时间,语句,判断左右之类
public class ListData {
private String content;
public ListData(String content) {
// TODO Auto-generated constructor stub
setContent(content);
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
写完后,我们就需要在mainActivity中修改相关:
……
//没有修改的就不再展示
private List<ListData> lists;
……
private void initView(){
lists = new ArrayList<ListData>();
}
public void parseText(String str){
try {
JSONObject jb = new JSONObject(str);
//System.out.println(jb.getString("code"));
//System.out.println(jb.getString("text"));
ListData listData;
listData = new ListData(jb.getString("text"));//只是封装了一条数据
lists.add(listData);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这样就是完成了简单的封装,这里更多的是做个演示。