RecyclerView okHttp

来源:互联网 发布:淘宝全额抵扣什么意思 编辑:程序博客网 时间:2024/06/08 05:34
package com.exbawei.liteli.myrecyclerview;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.util.Log;import java.io.IOException;import java.util.List;import okhttp3.Call;import okhttp3.Callback;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;public class MainActivity extends AppCompatActivity {    String url="http://api.kkmh.com/v1/daily/comic_lists/0?since=0&gender=0&sa_event=eyJwcm9qZWN0Ijoia3VhaWthbl9hcHAiLCJ0aW1lIjoxNDg3NzQyMjQwNjE1LCJwcm9wZXJ0aWVzIjp7IkhvbWVwYWdlVGFiTmFtZSI6IueDremXqCIsIlZDb21tdW5pdHlUYWJOYW1lIjoi54Ot6ZeoIiwiJG9zX3ZlcnNpb24iOiI0LjQuMiIsIkdlbmRlclR5cGUiOiLlpbPniYgiLCJGcm9tSG9tZXBhZ2VUYWJOYW1lIjoi54Ot6ZeoIiwiJGxpYl92ZXJzaW9uIjoiMS42LjEzIiwiJG5ldHdvcmtfdHlwZSI6IldJRkkiLCIkd2lmaSI6dHJ1ZSwiJG1hbnVmYWN0dXJlciI6ImJpZ25veCIsIkZyb21Ib21lcGFnZVVwZGF0ZURhdGUiOjAsIiRzY3JlZW5faGVpZ2h0IjoxMjgwLCJIb21lcGFnZVVwZGF0ZURhdGUiOjAsIlByb3BlcnR5RXZlbnQiOiJSZWFkSG9tZVBhZ2UiLCJGaW5kVGFiTmFtZSI6IuaOqOiNkCIsImFidGVzdF9ncm91cCI6MTEsIiRzY3JlZW5fd2lkdGgiOjcyMCwiJG9zIjoiQW5kcm9pZCIsIlRyaWdnZXJQYWdlIjoiSG9tZVBhZ2UiLCIkY2FycmllciI6IkNoaW5hIE1vYmlsZSIsIiRtb2RlbCI6IlZQaG9uZSIsIiRhcHBfdmVyc2lvbiI6IjMuNi4yIn0sInR5cGUiOiJ0cmFjayIsImRpc3RpbmN0X2lkIjoiQTo2YWRkYzdhZTQ1MjUwMzY1Iiwib3JpZ2luYWxfaWQiOiJBOjZhZGRjN2FlNDUyNTAzNjUiLCJldmVudCI6IlJlYWRIb21lUGFnZSJ9";    private RecyclerView rv;      Handler handler = new Handler();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        rv = (RecyclerView) findViewById(R.id.rv);        LinearLayoutManager manager = new LinearLayoutManager(this);        rv.setLayoutManager(manager);        getData();    }    private void getData() {        OkHttpClient client = new OkHttpClient();        Request request=new Request.Builder()                .url(url)                .build();        Call call = client.newCall(request);        call.enqueue(new Callback() {            @Override            public void onFailure(Call call, IOException e) {                Log.d("onFailure", "请求失败");            }            @Override            public void onResponse(Call call, Response response) throws IOException {                String string = response.body().string();                Bean bean = Bean.objectFromData(string);                Bean.DataBean data = bean.getData();                List<Bean.DataBean.ComicsBean> comics = data.getComics();                  Myadapter adapter = new Myadapter(comics,MainActivity.this);                rv.setAdapter(adapter);         
            // if (response.body() != null && response.isSuccessful()) {             //      String result = response.body().string();           //      MyBean bean = MyBean.objectFromData(result);           //        list = bean.美女;          //     handler.post(new Runnable() {        //             @Override         //              public void run() {//         //               recycler.setAdapter(new MyAdapter(MainActivity.this, list));         //       }         //    });         //   } else {           //   Log.d("onFailure", "请求失败");             //}



 } }); }}
package com.exbawei.liteli.myrecyclerview;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.bumptech.glide.Glide;import java.util.ArrayList;import java.util.List;/** * Created by li te li on 2017/9/19. */public class Myadapter extends RecyclerView.Adapter<Myadapter.ViewHolder> {List<Bean.DataBean.ComicsBean> list = new ArrayList<>();    Context context;    public Myadapter(List<Bean.DataBean.ComicsBean> list, Context context) {        this.list = list;        this.context = context;    }    @Override    public Myadapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        View view =LayoutInflater.from(context).inflate(R.layout.item,parent,false);        return new Myadapter.ViewHolder(view);    }    @Override    public void onBindViewHolder(Myadapter.ViewHolder holder, int position) {          holder.tv.setText(list.get(position).getTitle());        Glide.with(context).load(list.get(position).getCover_image_url()).into(holder.iv);    }    @Override    public int getItemCount() {        return list ==null ? 0 :list.size();    }    public class ViewHolder extends RecyclerView.ViewHolder {        TextView tv;        ImageView iv;        public ViewHolder(View itemView) {            super(itemView);            tv= (TextView) itemView.findViewById(R.id.tv);             iv = (ImageView) itemView.findViewById(R.id.iv);        }    }}
//依赖
compile 'com.squareup.okhttp3:okhttp:3.9.0'compile 'com.google.code.gson:gson:2.8.1'compile 'com.github.bumptech.glide:glide:4.0.0'compile 'com.android.support:recyclerview-v7:24.2.1'