美文网首页
【Android】聊天机器人*第二课

【Android】聊天机器人*第二课

作者: 吃吃吃鱼呀 | 来源:发表于2016-11-20 22:21 被阅读9次

    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();
            }
            
        }
    

    这样就是完成了简单的封装,这里更多的是做个演示。

    相关文章

      网友评论

          本文标题:【Android】聊天机器人*第二课

          本文链接:https://www.haomeiwen.com/subject/kyuypttx.html