okHttpUtils

public interface NetDataCallBack<T> {
    void success(T t);
    void field(int position,String str);
}


package com.myapp.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Toast;

import com.myapp.myapplication.bean.NewsBean;
import com.myapp.myapplication.utils.NetDataCallBack;
import com.myapp.myapplication.utils.OKutils;

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

public class MainActivity extends AppCompatActivity implements NetDataCallBack<NewsBean> {

    private RecyclerView recycler_main;
    private List<NewsBean.StoriesBean> stories = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initview();
        setmaindata();
    }

    private void setmaindata() {
        String url = "http://news-at.zhihu.com/api/4/news/latest";
        //实例化OKUtils
        OKutils oKutils = new OKutils();
        /**
         * get请求 this会报错 然后实现NetDataCallBack方法 先不要实现方法,在方法后面添加bean
         * NetDataCallBack<NewsBean>
         * 然后实现方法
         */
          oKutils.getdata(url, this, NewsBean.class);


        /**
         * post请求 this会报错 然后实现NetDataCallBack 先不要实现方法,在方法后面添加bean   NetDataCallBack<NewsBean>
         * 然后实现方法
         */
//        FormBody body=new FormBody.Builder()
//          .add("添加参数","添加值")
//          .build();
//          oKutils.getLoadDataPost(url,this,NewsBean.class,body);

    }

    private void initview() {
        recycler_main = (RecyclerView) findViewById(R.id.recycler_main);
    }

    /**
     * 请求成功返回数据
     * @param newsBean
     */
    @Override
    public void success(NewsBean newsBean) {
        stories.addAll(newsBean.getStories());
        Mybase mybase = new Mybase(stories);
        recycler_main.setAdapter(mybase);
        LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this);
        recycler_main.setLayoutManager(linearLayoutManager);
        mybase.setmOnclick(new Mybase.Onclick() {
            @Override
            public void mclick(View view, int position) {
                Toast.makeText(MainActivity.this, stories.get(position).getTitle(), Toast.LENGTH_SHORT).show();
            }
        });
    }

    /**
     * 请求失败返回的方法
     * @param position
     * @param str
     */
    @Override
    public void field(int position, String str) {

    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值