【Android】聊天機(jī)器人*第二課

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è)演示。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,094評(píng)論 25 709
  • 寫(xiě)了兩次,總是沒(méi)有把它寫(xiě)完,因?yàn)檫@個(gè)太虛幻了,基本不能實(shí)現(xiàn),但是又舍不得放棄,女人天生愛(ài)幻想啊! 有足...
    安小敏閱讀 180評(píng)論 2 1
  • 我是替領(lǐng)導(dǎo)辦事的財(cái)神, 我能容納不計(jì)其數(shù)的錢(qián)。 所有百姓捐來(lái)的款都 放在我肚子里。 我一時(shí)也特別榮光, 可我卻是過(guò)...
    旖旎i閱讀 229評(píng)論 0 2

友情鏈接更多精彩內(nèi)容