Google gson+async-http初体验

///2016/10/19

//by   xbw


gson 2.3.1

async-http 1.4.8


android studio

compile 'com.loopj.android:android-async-http:1.4.8'
compile 'com.google.code.gson:gson:2.3.1'

gson方便之处就是我们写好bean适配json数据的,他会自动对应起来

这是知乎日报的Latest.java

package com.xbw.mvp.model;

import java.util.List;

/**
 * Created by xubowen on 2016/10/19.
 */
public class Latest {


    /**
     *{"date":"20161019","stories":[{"title":"山西的古建筑,简直就是开挂一般的存在","ga_prefix":"101919","images":["http:\/\/pic3.zhimg.com\/e42ad2a598fd09b6347c9dee0ed7c46e.jpg"],"multipic":true,"type":0,"id":8891786},{"title":"如何迈入科学观鸟的大坑(划掉)门","ga_prefix":"101918","images":["http:\/\/pic3.zhimg.com\/88d43428cc47063d332abaf0137db4b6.jpg"],"multipic":true,"type":0,"id":8900972},{"images":["http:\/\/pic4.zhimg.com\/edb8023267b5821579c1eb5f0dc0f243.jpg"],"type":0,"id":8901317,"ga_prefix":"101917","title":"知乎好问题 · 怎样才能拍出那种超级大的月亮?"},{"title":"一盘东北地三鲜,下得三碗大米饭","ga_prefix":"101916","images":["http:\/\/pic2.zhimg.com\/531dfa9ecd9808b9b42e6be7dd1fdec5.jpg"],"multipic":true,"type":0,"id":8900845},{"title":"为什么看了那么多家居美图,我的家里还是乱七八糟?","ga_prefix":"101915","images":["http:\/\/pic2.zhimg.com\/565382590a2b027fe6182d1cac9e546d.jpg"],"multipic":true,"type":0,"id":8901047},{"title":"三分钟培训 + 考试,从此一眼分清公猫母猫","ga_prefix":"101914","images":["http:\/\/pic4.zhimg.com\/7db51d247c8a0c747551a171513dd99b.jpg"],"multipic":true,"type":0,"id":8900877},{"images":["http:\/\/pic1.zhimg.com\/15a66e40f7c1220639a7489079597874.jpg"],"type":0,"id":8898232,"ga_prefix":"101913","title":"「这孩子又白又胖可真好」,不,并不好,甚至可能出问题"},{"images":["http:\/\/pic1.zhimg.com\/90987dbdf5135d2f26f7141cd3e8a9a0.jpg"],"type":0,"id":8893648,"ga_prefix":"101912","title":"大误 · 所以你猜,我们当中谁最厉害?"},{"images":["http:\/\/pic2.zhimg.com\/b1bb8f2560235063e008dc452e1cd9ed.jpg"],"type":0,"id":8897852,"ga_prefix":"101911","title":"难以定义的「文化」,也在影响着经济发展"},{"images":["http:\/\/pic4.zhimg.com\/323bf8fdf221aa0a2bd9c809a1a1e51f.jpg"],"type":0,"id":8898922,"ga_prefix":"101910","title":"细胞是如何杀死病毒的?"},{"images":["http:\/\/pic2.zhimg.com\/0b60d6d630aec63074b0474a2ab4bed1.jpg"],"type":0,"id":8894051,"ga_prefix":"101909","title":"作为全职家庭主妇,我自编自导拍了个电影"},{"images":["http:\/\/pic1.zhimg.com\/de3c6c4c04335114336a2972cdd26a98.jpg"],"type":0,"id":8898697,"ga_prefix":"101908","title":"网约车让城市变得更堵了吗?"},{"images":["http:\/\/pic4.zhimg.com\/1bcab5aaade024bc69b347e2e53d6fe7.jpg"],"type":0,"id":8899106,"ga_prefix":"101907","title":"昨晚的发布会,老罗拿出了这两款手机和系统新功能"},{"images":["http:\/\/pic1.zhimg.com\/a49d840ef349caaf42e9a88128e2141c.jpg"],"type":0,"id":8897393,"ga_prefix":"101907","title":"人工智能领域,中国人 \/ 华人有多牛?大概占了半壁江山吧"},{"images":["http:\/\/pic3.zhimg.com\/fe0da2b13e9b4e4dac6b42d207e2a7da.jpg"],"type":0,"id":8899108,"ga_prefix":"101907","title":"读读日报 24 小时热门 TOP 5 · 他拍了十年北京地铁"},{"images":["http:\/\/pic4.zhimg.com\/101c11d19815cc1444ba5146053ddfa3.jpg"],"type":0,"id":8895213,"ga_prefix":"101906","title":"瞎扯 · 如何正确地吐槽"}],"top_stories":[{"image":"http:\/\/pic3.zhimg.com\/18087d865f4d4404ccdeababd14f0822.jpg","type":0,"id":8901317,"ga_prefix":"101917","title":"知乎好问题 · 怎样才能拍出那种超级大的月亮?"},{"image":"http:\/\/pic1.zhimg.com\/0d7cae2858b5d5140ebb3f56f424f89c.jpg","type":0,"id":8901047,"ga_prefix":"101915","title":"为什么看了那么多家居美图,我的家里还是乱七八糟?"},{"image":"http:\/\/pic3.zhimg.com\/68878f7c7a6a1af14a367abc54c20792.jpg","type":0,"id":8898697,"ga_prefix":"101908","title":"网约车让城市变得更堵了吗?"},{"image":"http:\/\/pic3.zhimg.com\/cc07c9ee77734aff64d36dfc44365e46.jpg","type":0,"id":8899106,"ga_prefix":"101907","title":"昨晚的发布会,老罗拿出了这两款手机和系统新功能"},{"image":"http:\/\/pic4.zhimg.com\/e70c322a4196d8c702ff33fa32bf9bcb.jpg","type":0,"id":8897393,"ga_prefix":"101907","title":"人工智能领域,中国人 \/ 华人有多牛?大概占了半壁江山吧"}]}
     *
     */
    private List<TopStoriesEntity> top_stories;
    private List<StoriesEntity> stories;
    private String date;

    public void setTop_stories(List<TopStoriesEntity> top_stories) {
        this.top_stories = top_stories;
    }

    public void setStories(List<StoriesEntity> stories) {
        this.stories = stories;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public List<TopStoriesEntity> getTop_stories() {
        return top_stories;
    }

    public List<StoriesEntity> getStories() {
        return stories;
    }

    public String getDate() {
        return date;
    }

    public static class TopStoriesEntity {
        /**
         * id : 7048089
         * title : 发生类似天津爆炸事故时,该如何自救?
         * ga_prefix : 081309
         * image : http://pic4.zhimg.com/494dafbd64c141fd023d4e58b3343fcb.jpg
         * type : 0
         */
        private int id;
        private String title;
        private String ga_prefix;
        private String image;
        private int type;

        public void setId(int id) {
            this.id = id;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public void setGa_prefix(String ga_prefix) {
            this.ga_prefix = ga_prefix;
        }

        public void setImage(String image) {
            this.image = image;
        }

        public void setType(int type) {
            this.type = type;
        }

        public int getId() {
            return id;
        }

        public String getTitle() {
            return title;
        }

        public String getGa_prefix() {
            return ga_prefix;
        }

        public String getImage() {
            return image;
        }

        public int getType() {
            return type;
        }

        @Override
        public String toString() {
            return "TopStoriesEntity{" +
                    "id=" + id +
                    ", title='" + title + '\'' +
                    ", ga_prefix='" + ga_prefix + '\'' +
                    ", image='" + image + '\'' +
                    ", type=" + type +
                    '}';
        }
    }


    @Override
    public String toString() {
        return "Latest{" +
                "top_stories=" + top_stories +
                ", stories=" + stories +
                ", date='" + date + '\'' +
                '}';
    }
}


private void loadFirst() {
        isLoading = true;
        if (HttpUtils.isNetworkConnected(this)) {
            HttpUtils.get(Constant.LATESTNEWS, new TextHttpResponseHandler() {
                @Override
                public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
                }

                @Override
                public void onSuccess(int statusCode, Header[] headers, String responseString) {
                    parseLatestJson(responseString);
                }

            });
        }

    }

 private void parseLatestJson(String responseString) {
        Gson gson = new Gson();
        latest = gson.fromJson(responseString, Latest.class);
        date = latest.getDate();
        kanner.setTopEntities(latest.getTop_stories());
        handler.post(new Runnable() {
            @Override
            public void run() {
                List<StoriesEntity> storiesEntities = latest.getStories();
                StoriesEntity topic = new StoriesEntity();
                topic.setType(Constant.TOPIC);
                topic.setTitle("今日热闻");
                storiesEntities.add(0, topic);
                mAdapter.addList(storiesEntities);
                isLoading = false;
            }
        });
    }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值