网络请求数据(Https)

                                      initHomeHttp

public class initHomeHttp {
    OkHttpClient client = new OkHttpClient();

    private Handler mHandler;

    public initHomeHttp(Handler mHandler) {
        this.mHandler = mHandler;
    }

    //异步请求获取的用户数据
    public void getInfoData(Context context,String token) {
        Request request = new Request.Builder()
                .url(IP + GET_INFO)
                .get()
                .addHeader("authorization", token)
                .addHeader("cache-control", "no-cache")
                .addHeader("postman-token", "961dba7a-47cf-7cae-1507-e1820380ded8")
                .build();
        new OkHttpClient().newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String getInfoDataStr = response.body().string();
                GetPersonInfo getPersonInfo = new Gson().fromJson(getInfoDataStr, GetPersonInfo.class);
                //判断token是否失效
                if (getPersonInfo.getCode()==200){
                    CacheUtils.putString(context, USER_INFO,getInfoDataStr);//将json数据存入缓存
                    Message message = new Message();
                    message.what = GET_INFO_WHAT;
                    message.obj = getPersonInfo;
                    mHandler.sendMessage(message);
                }
                else {
                    CacheUtils.clearString(context,TOKEN);
                }

            }
        });
    }


    //异步请求新闻分类
    public void newsTypeData(){
        Request request = new Request.Builder()
                .url(IP + NEWS_TYPE)
                .get()
                .addHeader("cache-control", "no-cache")
                .addHeader("postman-token", "86ad35f7-784c-003d-2a4d-cf2cd25175ad")
                .build();
        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                Log.e("TAG", "我没获取到新闻分类 " );
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String newsTypeDataStr = response.body().string();
                newsType = new Gson().fromJson(newsTypeDataStr, NewsType.class);
                Message message = new Message();
                message.what = NEWS_TYPE_WHAT;
                message.obj = newsType;
                mHandler.sendMessage(message);
            }
        });
    }

    //异步请求新闻
    public void newsData(){
        Request request = new Request.Builder()
                .url(IP + HOT_NEWS)
                .get()
                .addHeader("cache-control", "no-cache")
                .addHeader("postman-token", "d06b5e3f-9310-b5e9-80bf-f1418bb1386a")
                .build();
        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String newsDataStr = response.body().string();
                newsInfo = new Gson().fromJson(newsDataStr, NewsInfo.class);
                Message message = new Message();
                message.what = HOT_NEWS_WHAT;
                mHandler.sendMessage(message);
            }
        });
    }

    //异步请求应用服务
    public void servicesData(){
        Request request = new Request.Builder()
                .url(IP + SERVICE_ICON)
                .get()
                .addHeader("cache-control", "no-cache")
                .addHeader("postman-token", "e56ceb6d-74ec-899b-3090-80599b2c7d8e")
                .build();
        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String servicesDataStr = response.body().string();
                homeServices = new Gson().fromJson(servicesDataStr, HomeServices.class);
                Message message = new Message();
                message.what = SERVICE_ICON_WHAT;
                mHandler.sendMessage(message);
            }
        });
    }

    //异步请求首页数据
    public void homeRotationData() {
        Request request = new Request.Builder()
                .url(IP + HOME_ROTATION)
                .get()
                .addHeader("cache-control", "no-cache")
                .addHeader("postman-token", "38559bc1-23e9-a79a-d876-b32406ef46bd")
                .build();
        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String homeRotationDataStr = response.body().string();
                Log.e("TAG", "首页 "+homeRotationDataStr );
                homeRotationMain = new Gson().fromJson(homeRotationDataStr, HomeRotationMain.class);
                Message message = new Message();
                message.what = HOME_ROTATION_WHAT;
                message.obj = homeRotationMain;
                mHandler.sendMessage(message);
            }
        });
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值