//依赖
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'com.android.support:recyclerview-v7:26.1.0'
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
compile 'com.facebook.fresco:fresco:1.5.0'
//Mian
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="test.e.com.retrofit.MainActivity"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>//item
<TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="fgfgfg" /> <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/simp" android:layout_width="100dp" android:layout_height="100dp" />
public interface GitHubService { //http://v.juhe.cn/weixin/query?key=88f7bbc507e3ecacfaeab2b47dd8936f @GET("weixin/query") Call<Bean> get(@Query("key") String key); }//myapp
public class IApp extends Application { @Override public void onCreate() { super.onCreate(); //注册 Fresco.initialize(this); } }
//适配器
public class IAdapter extends RecyclerView.Adapter<IAdapter.IViewHolder> { private Context context; private List<Bean.ResultBean.ListBean> list; public IAdapter(Context context, List<Bean.ResultBean.ListBean> list) { this.context = context; this.list = list; } @Override public IViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = View.inflate(context, R.layout.layout_item, null); return new IViewHolder(view); } @Override public void onBindViewHolder(IViewHolder holder, int position) { holder.textview.setText(list.get(position).getTitle()); holder.simp.setImageURI(list.get(position).getFirstImg()); } @Override public int getItemCount() { return list == null ? 0 : list.size(); } static class IViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.textview) TextView textview; @BindView(R.id.simp) SimpleDraweeView simp; IViewHolder(View view) { super(view); ButterKnife.bind(this, view); } } }
//MainActivity
public class MainActivity extends AppCompatActivity { @BindView(R.id.recyclerview) RecyclerView recyclerview; private IAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://v.juhe.cn") .addConverterFactory(GsonConverterFactory.create()) .build(); GitHubService service = retrofit.create(GitHubService.class); Call<Bean> call = service.get("88f7bbc507e3ecacfaeab2b47dd8936f"); call.enqueue(new Callback<Bean>() { @Override public void onResponse(Call<Bean> call, Response<Bean> response) { Bean bean = response.body(); System.out.println("bean------"); LinearLayoutManager manager=new LinearLayoutManager(MainActivity.this); recyclerview.setLayoutManager(manager); adapter= new IAdapter(MainActivity.this,bean.getResult().getList()); recyclerview.setAdapter(adapter); } @Override public void onFailure(Call<Bean> call, Throwable t) { } }); } }}