1、json數(shù)據(jù)解析
解析數(shù)據(jù),就需要寫(xiě)一個(gè)解析函數(shù),這里就簡(jiǎn)單的寫(xiě)在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();
}
}
因?yàn)槲覀兛梢钥吹街矮@得的回應(yīng)中,有的兩個(gè)參數(shù)就是code和text(忘了的可以看一下上一篇內(nèi)容)
然后在我們之前的getDataurl()方法中,我們就調(diào)用剛寫(xiě)的解析函數(shù):
@Override
public void getDataurl(String data) {
// TODO Auto-generated method stub
//System.out.println(data);
parseText(data);
}
大家不要弄混了,這個(gè)getDataurl函數(shù)就是我們?cè)贖ttpGetDataListener接口中定義的,然后我們?cè)趍ainActivity中實(shí)現(xiàn)的。
最后實(shí)現(xiàn)的結(jié)果是(在logCat中看):
- System.out: 100000
- System.out: 親愛(ài)的,悄悄地告訴我你在哪個(gè)城市?
是不是和瀏覽器中獲得內(nèi)容是一樣的呢?只是把它分成了兩部分獲取。
2、數(shù)據(jù)封裝
數(shù)據(jù)封裝,就需要建一個(gè)新的數(shù)據(jù)類(lèi):ListData
這里只是封裝了一下一條內(nèi)容。
package com.ych.wechat;
//不僅僅是封裝內(nèi)容,時(shí)間,語(yǔ)句,判斷左右之類(lèi)
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;
}
}
寫(xiě)完后,我們就需要在mainActivity中修改相關(guān):
……
//沒(méi)有修改的就不再展示
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"));//只是封裝了一條數(shù)據(jù)
lists.add(listData);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
這樣就是完成了簡(jiǎn)單的封裝,這里更多的是做個(gè)演示。