T_Net

    NetFragmnet : 

package com.example.month_three;


import android.app.Fragment;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.List;


/**
 * A simple {@link Fragment} subclass.
 */
public class NetFragment extends Fragment {
    RecyclerView rv;
    List mDatas = new ArrayList<>();
    private NetAdapter adapter;
    String url = "http://www.moviebase.cn/uread/app/category/categoryList?platform=2&deviceId=A8C73E0D1ED1A2BED491C9238C8FD8A0&channelId=1003&appVersion=1.7.0";
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view =  inflater.inflate(R.layout.fragment_net, container, false);
        rv = (RecyclerView) view.findViewById(R.id.net_rv);
//        布局管理者
        LinearLayoutManager manager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
        rv.setLayoutManager(manager);
//        数据源
//        适配器
        adapter = new NetAdapter(getActivity(),mDatas);
        rv.setAdapter(adapter);
//        加载网络数据
        loadWebData();
        return view;
    }

    private void loadWebData() {
        new AsyncTask,Void,String>(){
            @Override
            protected String doInBackground(Void... voids) {
                String content = HttpUtils.getStringContent(url);
                return content;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                if (s!=null&&!s.isEmpty()) {
                    Gson gson = new Gson();
                    NetBean netBean = gson.fromJson(s, NetBean.class);
                    List list = netBean.getArticleList();
                    mDatas.addAll(list);
                    adapter.notifyDataSetChanged();
                }
            }
        }.execute();
    }
}
 
  

    NetBean : 

package com.example.month_three;

import java.util.List;

/**
 * Created by Misaya on 2018/4/4.
 */

public class NetBean {
    private int retCode;
    private int topicSubscribeUpdateNum;
    private String topicSubscribeUpdateList;
    private String requestId;
    private String retMsg;
    private int articleSubscribeUpdateNum;
    private List topicRecommendList;
    private List authorList;
    private List sourceList;
    private List articleList;

    public int getRetCode() {
        return retCode;
    }

    public void setRetCode(int retCode) {
        this.retCode = retCode;
    }

    public int getTopicSubscribeUpdateNum() {
        return topicSubscribeUpdateNum;
    }

    public void setTopicSubscribeUpdateNum(int topicSubscribeUpdateNum) {
        this.topicSubscribeUpdateNum = topicSubscribeUpdateNum;
    }

    public String getTopicSubscribeUpdateList() {
        return topicSubscribeUpdateList;
    }

    public void setTopicSubscribeUpdateList(String topicSubscribeUpdateList) {
        this.topicSubscribeUpdateList = topicSubscribeUpdateList;
    }

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public String getRetMsg() {
        return retMsg;
    }

    public void setRetMsg(String retMsg) {
        this.retMsg = retMsg;
    }

    public int getArticleSubscribeUpdateNum() {
        return articleSubscribeUpdateNum;
    }

    public void setArticleSubscribeUpdateNum(int articleSubscribeUpdateNum) {
        this.articleSubscribeUpdateNum = articleSubscribeUpdateNum;
    }

    public List getTopicRecommendList() {
        return topicRecommendList;
    }

    public void setTopicRecommendList(List topicRecommendList) {
        this.topicRecommendList = topicRecommendList;
    }

    public List getAuthorList() {
        return authorList;
    }

    public void setAuthorList(List authorList) {
        this.authorList = authorList;
    }

    public List getSourceList() {
        return sourceList;
    }

    public void setSourceList(List sourceList) {
        this.sourceList = sourceList;
    }

    public List getArticleList() {
        return articleList;
    }

    public void setArticleList(List articleList) {
        this.articleList = articleList;
    }

    public static class TopicRecommendListBean {
        /**
         * headImgUrl : http://img.moviebase.cn/img/trecommend/2017/10/6629de7abce84b56b916366bc07576c0.jpg@480w
         * imgUrl : http://img.moviebase.cn/img/topic/2017/09/b9add2d4aa2d448aa260664e4401a6ba.jpg@!2x.webp
         * id : 44e9ea47bbd8401590d9a8ae3a3b283b
         * title : 北美新片
         * desc : 来自米国院线的最新票房和口碑
         * isSub : 0
         * recommendImgUrl : http://img.moviebase.cn/img/trecommend/2017/10/6629de7abce84b56b916366bc07576c0.jpg@484w
         * isSubscribe : 0
         * subscribeNum : 2616
         * articlesNum : 58
         */

        private String headImgUrl;
        private String imgUrl;
        private String id;
        private String title;
        private String desc;
        private String isSub;
        private String recommendImgUrl;
        private int isSubscribe;
        private int subscribeNum;
        private int articlesNum;

        public String getHeadImgUrl() {
            return headImgUrl;
        }

        public void setHeadImgUrl(String headImgUrl) {
            this.headImgUrl = headImgUrl;
        }

        public String getImgUrl() {
            return imgUrl;
        }

        public void setImgUrl(String imgUrl) {
            this.imgUrl = imgUrl;
        }

        public String getId() {
            return id;
        }

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

        public String getTitle() {
            return title;
        }

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

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }

        public String getIsSub() {
            return isSub;
        }

        public void setIsSub(String isSub) {
            this.isSub = isSub;
        }

        public String getRecommendImgUrl() {
            return recommendImgUrl;
        }

        public void setRecommendImgUrl(String recommendImgUrl) {
            this.recommendImgUrl = recommendImgUrl;
        }

        public int getIsSubscribe() {
            return isSubscribe;
        }

        public void setIsSubscribe(int isSubscribe) {
            this.isSubscribe = isSubscribe;
        }

        public int getSubscribeNum() {
            return subscribeNum;
        }

        public void setSubscribeNum(int subscribeNum) {
            this.subscribeNum = subscribeNum;
        }

        public int getArticlesNum() {
            return articlesNum;
        }

        public void setArticlesNum(int articlesNum) {
            this.articlesNum = articlesNum;
        }
    }

    public static class AuthorListBean {
        /**
         * id : 0185e0a334e54866bcc423322c02e217
         * logo : http://img.moviebase.cn/img/other/2017/09/79174c2dabc94f89983488c09de74e78.jpg@130w
         * nickname : 手动贩卖机
         * description : 人不如机器。
         */

        private String id;
        private String logo;
        private String nickname;
        private String description;

        public String getId() {
            return id;
        }

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

        public String getLogo() {
            return logo;
        }

        public void setLogo(String logo) {
            this.logo = logo;
        }

        public String getNickname() {
            return nickname;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }
    }

    public static class SourceListBean {
        /**
         * id : 19f2cd89ca904eb69e51f7d6e8a1e679
         * logo : http://img.moviebase.cn/img/source/2018/02/c526cc8be95944399a68197c778ee1ab.png@130w
         * nickname : 巴塞电影
         * description : 资深电影编辑团队每日为你更新最有品、有料、原创、独家的电影资讯和深度解读。公众号:MovieBase
         */

        private String id;
        private String logo;
        private String nickname;
        private String description;

        public String getId() {
            return id;
        }

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

        public String getLogo() {
            return logo;
        }

        public void setLogo(String logo) {
            this.logo = logo;
        }

        public String getNickname() {
            return nickname;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }
    }

    public static class ArticleListBean {
        /**
         * imgUrl : http://img.moviebase.cn/img/poster/2018/03/bc1df537a3a540228075e050bb20668c.jpg@353w
         * id : 0677ba5d32d34ed09c66b5bf8c699edb
         * articleContentUrl : http://www.moviebase.cn/uread/app/viewArt/viewArt-0677ba5d32d34ed09c66b5bf8c699edb.html?appVersion=1.7.0
         * pubDate : 1520931197
         * praiseCount : 54
         * title : 人间是否已耳聋?20年后,再听1998华语流行神曲
         * description :
         * sourceName : 巴塞电影
         * image : http://img.moviebase.cn/img/poster/2018/03/bc1df537a3a540228075e050bb20668c.jpg@353w
         * careateDate : 1520913387
         * articleUrl : http://www.moviebase.cn/uread/app/viewArt/viewArt-0677ba5d32d34ed09c66b5bf8c699edb.html?appVersion=1.7.0
         * sourceId : 19f2cd89ca904eb69e51f7d6e8a1e679
         */

        private String imgUrl;
        private String id;
        private String articleContentUrl;
        private int pubDate;
        private String praiseCount;
        private String title;
        private String description;
        private String sourceName;
        private String image;
        private int careateDate;
        private String articleUrl;
        private String sourceId;

        public String getImgUrl() {
            return imgUrl;
        }

        public void setImgUrl(String imgUrl) {
            this.imgUrl = imgUrl;
        }

        public String getId() {
            return id;
        }

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

        public String getArticleContentUrl() {
            return articleContentUrl;
        }

        public void setArticleContentUrl(String articleContentUrl) {
            this.articleContentUrl = articleContentUrl;
        }

        public int getPubDate() {
            return pubDate;
        }

        public void setPubDate(int pubDate) {
            this.pubDate = pubDate;
        }

        public String getPraiseCount() {
            return praiseCount;
        }

        public void setPraiseCount(String praiseCount) {
            this.praiseCount = praiseCount;
        }

        public String getTitle() {
            return title;
        }

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

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public String getSourceName() {
            return sourceName;
        }

        public void setSourceName(String sourceName) {
            this.sourceName = sourceName;
        }

        public String getImage() {
            return image;
        }

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

        public int getCareateDate() {
            return careateDate;
        }

        public void setCareateDate(int careateDate) {
            this.careateDate = careateDate;
        }

        public String getArticleUrl() {
            return articleUrl;
        }

        public void setArticleUrl(String articleUrl) {
            this.articleUrl = articleUrl;
        }

        public String getSourceId() {
            return sourceId;
        }

        public void setSourceId(String sourceId) {
            this.sourceId = sourceId;
        }
    }
}

     

    NetAdapter : 

package com.example.month_three;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.squareup.picasso.Picasso;

import java.util.List;

/**
 * Created by Misaya on 2018/4/4.
 */

public class NetAdapter extends RecyclerView.Adapter{
    private Context context;
    private List mDatas;

    public NetAdapter(Context context, List mDatas) {
        this.context = context;
        this.mDatas = mDatas;
    }

    @Override
    public NetViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_net, parent, false);
        NetViewHolder holder = new NetViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(NetViewHolder holder, int position) {
        NetBean.ArticleListBean bean = mDatas.get(position);
        holder.tv.setText(bean.getTitle());
//        显示图片
        Picasso.with(context).load(bean.getImgUrl()).into(holder.iv);
    }

    @Override
    public int getItemCount() {
        return mDatas.size();
    }

    class NetViewHolder extends RecyclerView.ViewHolder{
        ImageView iv;
        TextView tv;
        public NetViewHolder(View itemView) {
            super(itemView);
            iv = (ImageView) itemView.findViewById(R.id.item_net_iv);
            tv = (TextView) itemView.findViewById(R.id.item_net_tv);
        }
    }
}

    HttpUtils : 

package com.example.month_three;

import java.io.IOException;

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

/**
 * Created by Misaya on 2018/4/4.
 */

public class HttpUtils {
    public static String getStringContent(String path){
        OkHttpClient client = new OkHttpClient();  //客户端对象
//        获得请求对象
        Request request = new Request.Builder().get().url(path).build();
        try {
//            发起请求,获取响应对象
            Response response = client.newCall(request).execute();
            if (response.isSuccessful()) {
                String s = response.body().string();
                return s;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}



你可能感兴趣的:(T_Net)