ReTrofit请求post

1.添加依赖

compile 'com.squareup.retrofit2:retrofit:2.0.1'
compile 'com.squareup.retrofit2:converter-gson:2.0.1'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1'
compile 'io.reactivex:rxandroid:1.1.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'

2.添加网络权限

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

2.创建Api类

public class Api {
    public static final String PAGE_URL = "https://api.tianapi.com/wxnew/";
}
3.创建Apiserice类

public interface ApiService {
    @POST
    Observable<PageBean> postpage(@Url String url, @QueryMap Map<String, String> map);
}
 
 
4.创建适配器
 
 
public class HomeAdapter extends RecyclerView.Adapter<HomeAdapter.MyViewHolder> {
    Context context;
    List<PageBean.NewslistBean> list;

    public HomeAdapter(Context context, List<PageBean.NewslistBean> list) {
        this.context = context;
        this.list = list;
    }

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

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        holder.tv.setText(list.get(position).getTitle());
    }



    @Override
    public int getItemCount() {
        Log.e("main",list.size()+"qweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
        return list.size();
    }

    class MyViewHolder extends RecyclerView.ViewHolder{
        private TextView tv;
        public MyViewHolder(View itemView) {
            super(itemView);
            tv = itemView.findViewById(R.id.tv);
        }
    }
}

 
 
5.MainActivity使用
public class MainActivity extends AppCompatActivity {
    private RecyclerView mRecyclerView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mRecyclerView = (RecyclerView) findViewById(R.id.id_recyclerview);
        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
        postHome(Api.PAGE_URL,"2","10");
    }
    public void postHome(String url,String page,String num){
     Map<String ,String> map = new HashMap<>();
        map.put("key","8d6e3228d25298f13af4fc40ce6c9679");
        map.put("num",num);
        map.put("page",page);
        Retrofit retrofit = new Retrofit.Builder().baseUrl(url).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJavaCallAdapterFactory.create()).build();

        ApiService apiService = retrofit.create(ApiService.class);

        Observable<PageBean> postpages = apiService.postpage(url,map);

        postpages.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<PageBean>() {
            @Override
            public void onCompleted() {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(PageBean pageBean) {
                Log.d("MainActivity", "onNext: "+pageBean.getCode());
                List<PageBean.NewslistBean> newslist = pageBean.getNewslist();
                HomeAdapter adapter = new HomeAdapter(MainActivity.this,newslist);
                mRecyclerView.setAdapter(adapter);
            }
        });
    }
}

6.主布局
<android.support.v7.widget.RecyclerView
    android:id="@+id/id_recyclerview"
    android:divider="#ffff0000"
    android:dividerHeight="10dp"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

7.item_home布局

扫描二维码关注公众号,回复: 2403170 查看本文章

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
<TextView
    android:id="@+id/tv"
    android:text="adfasf1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
</LinearLayout>
8.bean类

public class PageBean {
    /**
     * code : 200
     * msg : success
     * newslist : [{"ctime":"2017-11-10","title":"情侣之间的聊天能污到什么程度?","description":"整点电影","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-56256508.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300820&signature=mMqiaarSaAMs1Nrz1L73cftQ22CYCeEvzEXLVL1bbPyzWjDFEw02-ZjfCBp1g5ZBqtnUYgZTALm45MJ1vZ5ts3n2sot7qtelczSnsX9xToQ="},{"ctime":"2017-11-10","title":"一直听说\u201c不忘初心\u201d,今天才知道真正内涵!","description":"诗刊社","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-56216446.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300820&signature=1ucHp87WOWZdfQGYcWWv31sqroN-5qMtzlPe22dvFcjw9jdjxCTjj5N686oSKCCNH1wkMgZAYnSTFBVyQdHe7U-UwvHqdFJDMFMvuYFWD5o="},{"ctime":"2017-11-10","title":"有教养的人,从不做这4件事","description":"阿何有话说","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-58734183.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300820&signature=ljEaw63R1tO9Z8UsMzaY3uKCYBHheIdQgal2jplqjsyQ8*72ST*d*cpD0MU3H-yR-FBv0R1lv2K-N61UNzsHp3KLpsz2GIVWsNaPWZucdXM="},{"ctime":"2017-11-10","title":"知乎48条神回复,针针见血,看完整个人通透多了","description":"阿何有话说","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-58735195.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300819&signature=09Kk4xZT8kpHOzpwYJBcTxgN6iuWTMpJSJ2SxQUgGpE2ZTAy2cJMi7cAHSAMhTktCYxdZmnzeWd6H77nrYGWknJrUsHTx97wVeJRz3e-xMw="},{"ctime":"2017-11-10","title":"父母在人生尚有来处 父母去人生仅剩归途","description":"腾讯儒学","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-58734884.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300819&signature=2sZbcF9RorngAtnKUmYyyVjHHvAqVIo4yMJNWNTjnZRuwAYxJOqmckTGufBPK7sZnWpcg69TJ*sYOBxC52nWCnq14o9THsPYg*9dQOmPrV4="},{"ctime":"2017-11-10","title":"气质,永远是超越美貌的存在","description":"巅峰艺术","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-58736495.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300819&signature=H8GMN-Eia5eM2g0ESwRGjfA9927TjLqrImscU3rzRp4ycvKUQzomXqDHXvh8r9JTxRZWiYaOZ5YKScr33BcGfzMt04jCW9XbTSCbWtni8eo="},{"ctime":"2017-11-10","title":"读这8种书,带你发现一个真实的大师陈寅恪","description":"历史研习社","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-58721536.static/640","url":"https://mp.weixin.qq.com/s?__biz=MzA4Nzg0OTgxNA==&src=16&ver=480&timestamp=1510286324&signature=rGjxR3ZLBvhqdJosZT3hDeZS1JPP0NSftl7l3*gqOxENak1M41cXENEqZRUXU3q-PrBE9Pi63GemcsLreXGlIoXuymx9-94*s2APWQdcE9E="},{"ctime":"2017-11-10","title":"七言绝句的论诗传统","description":"诗词吾爱网","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-58735931.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300818&signature=*qa515NSh7QIiv5g9i9GQr*sLnN0h3R-3h4A3UGuAmz1YUXHDWSOCu2qNDPsbxX97dMK6ywiTf*u8hhpJMQQM4KtcmYjgX*1qf*EJd-41ZQ="},{"ctime":"2017-11-10","title":"双11如何给孩子屯书?收好这份特级教师推荐的经典书单","description":"快微课","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-36797702.jpg/640","url":"https://mp.weixin.qq.com/s?__biz=MjM5MjEwNDg4OA==&src=16&ver=480&timestamp=1510290596&signature=ZaJaG-q-r94HLBzjVqnsMs0ii0PhB5LSBoXE4ffn1eWic*SuP3ao8H4BhHtU8WiEll3b3DFCpXaqFAOAzSz6Ohx-Ma0qgRRR6J8pYe0zAmc="},{"ctime":"2017-11-10","title":"\u201c鸡犬交替\u201d 您来做主","description":"集邮杂志","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-37619088.static/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300817&signature=PkI3auRWJqGmJS08hNMux0GOwrXptrhq4a2vgBEZOfl-CH9sKBoa2AdHHEoMJvd0b9GsJpJuI4ASOT9s6W1ECx2UebDqqRTG*uD*8xtvCSE="},{"ctime":"2017-11-10","title":"你读过最触动心灵的一句诗是什么?","description":"诗刊社","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-58734479.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300817&signature=otmfDswpcJU9MyJC008rVOKtB1u43V3eXKS*BWJeBrL-XV8LixO41KOnnNsVfSsAmZ4X*M1Y-mn7phq35gQojvS18KHtxer4bRNVh1vuFj4="},{"ctime":"2017-11-10","title":"80后小伙做蛋糕获国际金奖:美哭了,评委都舍不得切","description":"每日经济新闻","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-13093845.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300817&signature=TtCnbL6zUdCZyvQYznErdFgnIPDZiexs5jXfNkUDMVZ6I0X3Juq7kL0qy4iy5nD3wflv1LnKaDsq-A9dqYm-6BZ8Kz3Nnd8S4DGa1D9mQLg="},{"ctime":"2017-11-10","title":"以史为鉴丨石奢庇父自杀:儒家怎么看孝顺与正义的冲突?","description":"腾讯儒学","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-58734172.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300816&signature=UvCbDpQnL2iuZyIpBgAxam6aIXhK3pSeocAiHTPQCETx38iIDJTboU3*yTPc2lcMq5V7cqICx3tM2J0FIqihVLDwCgh6ozL-L6-Tbd0oTiM="},{"ctime":"2017-11-10","title":"每周诗语丨《蒹葭》:岁月河流中一首最美的诗丨语音播报","description":"腾讯儒学","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-56148155.static/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300816&signature=L*zepND-D0JSezN7nQRBYnO0dc*AwSoh5ror9PqIsJWySm49tC7lMjPUjZM6SsRc9jhLDXK3WPR7T8DEYp3H7jYIA5sklBiSN4pNHxG2RBA="},{"ctime":"2017-11-10","title":"习近平上午乘专机离京 接下来的5天看点很多","description":"央视新闻","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-58727719.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510297221&signature=joa15f7pHTIrvSeJ*G71E8QvwL*kNp2uFaHk07JshpV41mCGzqnlQaUcOhdVlQXoHEHOTfQ6-HWSLmsSwrW4ZgpmI1DqQwB2kDmT2hT3i1U="},{"ctime":"2017-11-10","title":"估计连陈赫都没想到自己收到生日祝福,画风居然是这样子的......","description":"嘉人","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-58725280.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510297221&signature=MG-mQ5L04ntYSIrNKHFa6swxax22mF76XR2xh78qYnndsMHk9LdjuTIvWp9hUyWxxNXhGuUlglv6I7*lAf-720mkRoN-U4*W06cU3*7F-bs="},{"ctime":"2017-11-10","title":"《欲望》故事虽短,看透人心!","description":"励志与房产","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-56745042.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510297221&signature=m3H47NbFJkoFuamggM3axYvpPZ5*KksX6YhgLwawFAZj3Kruewv6zx4xWLppRasgs73HzaMP3f2P2zBk80PZVLBcgjuYyLDu8Zg*MjMtf-w="},{"ctime":"2017-11-10","title":"我看了三遍,感受三次不同,一定要分享啊!!!","description":"励志与房产","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-58731260.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510297220&signature=txnxosyMlPS557J2fYifq4E7oVG-6dzu-J7nROzb9zT32moE3NNebPUySyYy88NNYDB-oqSZn-mQPTFi5H8sqJVbwMtKueHN8OsznHCt48M="},{"ctime":"2017-11-10","title":"去靠近一个给你正能量的人","description":"励志人生哲理","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-47920710.static/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510297220&signature=3lZx9kslD7dsg9uwDy7jYSWv8tXjCHPJ1dknEbBtCZWPCW9NSl3W6DL7bLnv2LQRS2JeIJ6WMKXXstO-3BjgJGd4KnIT4XRmLOV1udfQ7DY="},{"ctime":"2017-11-10","title":"什么!泛黄色调是油画表面\u201c脏东西\u201d?(视频)","description":"观察者网","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-58733346.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510297219&signature=Tt-izfvRsU4RfVYGKcEVyEq3N7PdwgnPpvGbZt3EvGxHUxJeE5A6zb7nPvtERrIpR3GnRChsJ1E-woaZOSgwm2BwzvQHrItVxbelo-CHG3g="}]
     */

    private String code;
    private String msg;
    private List<NewslistBean> newslist;

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public List<NewslistBean> getNewslist() {
        return newslist;
    }

    public void setNewslist(List<NewslistBean> newslist) {
        this.newslist = newslist;
    }

    public static class NewslistBean {
        /**
         * ctime : 2017-11-10
         * title : 情侣之间的聊天能污到什么程度?
         * description : 整点电影
         * picUrl : https://zxpic.gtimg.com/infonew/0/wechat_pics_-56256508.jpg/640
         * url : https://mp.weixin.qq.com/s?src=16&ver=480&timestamp=1510300820&signature=mMqiaarSaAMs1Nrz1L73cftQ22CYCeEvzEXLVL1bbPyzWjDFEw02-ZjfCBp1g5ZBqtnUYgZTALm45MJ1vZ5ts3n2sot7qtelczSnsX9xToQ=
         */

        private String ctime;
        private String title;
        private String description;
        private String picUrl;
        private String url;

        public String getCtime() {
            return ctime;
        }

        public void setCtime(String ctime) {
            this.ctime = ctime;
        }

        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 getPicUrl() {
            return picUrl;
        }

        public void setPicUrl(String picUrl) {
            this.picUrl = picUrl;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/mydtudysy/article/details/78502860