使用fastjson和xUtils框架来获取聚合笑话数据

该博客介绍了如何在Android开发中结合fastjson和xUtils框架来实现从聚合数据API获取并解析笑话内容。首先,开发者需要导入所需库,接着设置XListView以支持上拉加载更多和下拉刷新功能。然后,申请聚合数据的API Key,并确保fastjson解析的JSON结构与API返回的匹配。最后,展示了用于存储笑话数据的Bean类定义。
摘要由CSDN通过智能技术生成

首先导入fastjson和xUtils包

使用XListView 实现上拉加载更多和下拉刷新

申请聚合数据笑话key

注意使用fastjson对应的json内容必需和聚合里的一样

bean代码如下

package com.app.juhejoke.bean;


import java.util.List;

/**
 * Created by Administrator on 2016/6/13.
 */


//    public String content;
//    public String hashId;
//    public String unixtime;
//    public String updatetime;
public class Joke {
    private int errorCode;
    private String reason;
    private Result result;

    public int getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(int errorCode) {
        this.errorCode = errorCode;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public Result getResult() {
        return result;
    }

    public void setResult(Result result) {
        this.result = result;
    }
    public static class Result{
        private List<JokeData> data;

        public List<JokeData> getData() {
            return data;
        }

        public void setData(List<JokeData> data) {
            this.data = data;
        }

        public static class JokeData{
            public String content;
            public String hashId;
            public String unixtime;
            public String updatetime;

            public String getContent() {
                return content;
            }

            public void setContent(String content) {
                this.content = content;
            }

            public String getHashId() {
                return hashId;
            }

            public void setHashId(String hashId) {
                this.hashId = hashId;
            }

            public String getUnixtime() {
                return unixtime;
            }

            public void setUnixtime(String unixtime) {
                this.unixtime = unixtime;
            }

            public String getUpdatetime() {
                return updatetime;
            }

            public void setUpdatetime(String updatetime) {
                this.updatetime = updatetime;
            }

            @Override
            public String toString() {
                return "JokeData{" +
                        "content='" + content + '\'' +
                        ", hashId='" + hashId + '\'' +
                        ", unixtime='" + unixtime + '\'' +
                        ", updatetime='" + updatetime + '\'' +
                        '}';
            }
        }
    }



}

使用fastjson代码解析笑话 封装在一个Utils类里

 public static List<Joke.Result.JokeData> getJokeData(String jsonHtml){

        Joke jokebean=new Joke();
        try {
           jokebean=JSON.parseObject(jsonHtml,Joke.class);
        }catch (Exception e){
            e.printStackTrace();
        }
        return jokebean.getResult().getData();
    }

在mainactivity里获取数据这里使用了XListView 实现上拉和下拉加载

 private void getData() {
        jaokeurl=url+"&page="+page+"&pagesize=10";
        new HttpUtils().send(HttpRequest.HttpMethod.GET,
                jaokeurl,
                new RequestCallBack<String>() {
                    @Override
                    public void onSuccess(ResponseInfo<String> responseInfo) {
                        String jsonHtml = responseInfo.result;
                        List<Joke.Result.JokeData> temp = Utils.getJokeData(jsonHtml);

                        list.addAll(temp);
                        jokeAdapter.setList(list);
                        jokeAdapter.notifyDataSetChanged();
                        onLoadCompleted();
                    }

                    @Override
                    public void onFailure(HttpException e, String s) {
                        Utils.show("网络读取失败,请检查网络");
                    }
                });
    }

下载地址:http://download.csdn.net/detail/cxb0y/9570485

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值