1:首先,导入封好的arr包到libs中。
2:在project下的app里的build.gradle中配置文件,在buildTypes的下面添加
repositories{ flatDir{ dirs 'libs'//路径 } }在dependencies中添加
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' compile 'com.android.support:design:25.3.1' compile 'org.xutils:xutils:3.5.0' compile(name: 'andy-library', ext: 'aar') compile 'com.github.bumptech.glide:glide:4.0.0-RC1' compile 'com.google.code.gson:gson:2.8.1' compile 'com.google.code.gson:gson:2.8.1'3:在AndroidManifest.xml中添加网络访问权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>在 application中添加
android:name="com.example.library.App"
4:在res的values文件夹中创建dimens.xml
<dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen>5:导入gson包,创建Data类,里面是通过网络请求得到的json串的解析类,获得json串的属性类6:创建Myadapter类,效果如下------------------------------import android.content.Context; import android.widget.ImageView; import android.widget.TextView; import com.example.library.adapter.CommAdapter; import com.example.library.image.NetImageLoader; import org.xutils.view.annotation.ViewInject; import java.util.List; public class Myadapter extends CommAdapter<Data.ResultBean.DataBean,Myadapter.ViewHolder> { public Myadapter(Context context, List<Data.ResultBean.DataBean> list, int itemLayoutId) { super(context, list, itemLayoutId); } @Override public void setViewByHolder(ViewHolder holder, Data.ResultBean.DataBean dataBean) { holder.title.setText(dataBean.getTitle()); // Glide.with(getContext()).load(dataBean.getThumbnail_pic_s()).into(holder.image); NetImageLoader.getInstance().display(dataBean.getThumbnail_pic_s(),holder.image); } @Override public ViewHolder getViewHolder() { return new ViewHolder(); } class ViewHolder{ @ViewInject(R.id.title) TextView title; @ViewInject(R.id.image) ImageView image; } }7,在Main类里import android.os.Bundle; import android.widget.ListView; import com.example.library.BaseActvity; import com.example.library.http.MyCallback; import org.xutils.view.annotation.ContentView; import org.xutils.view.annotation.ViewInject; import org.xutils.x; import java.util.ArrayList; import java.util.List; //初始化 @ContentView(R.layout.activity_main) public class MainActivity extends BaseActvity { private List<Data.ResultBean.DataBean> list=new ArrayList<>(); @ViewInject(R.id.lv) private ListView lv; private Myadapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_main); x.view().inject(this); adapter=new Myadapter(this,list,R.layout.item); lv.setAdapter(adapter); loaddata(); } private void loaddata() { http().get("http://v.juhe.cn/toutiao/index?type=top&key=2f092bd9ce76c0257052d6d3c93c11b4",new MyCallback<Data>(){ @Override public void success(Data data) { list.addAll(data.getResult().getData()); adapter.notifyDataSetChanged(); } @Override public void error(Throwable throwable) { } } ); } }8:一下是两个布局<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="text.bawei.com.qwertyuiop.MainActivity"> <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent"/> </RelativeLayout>第二个布局<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@mipmap/ic_launcher" android:id="@+id/image" android:layout_weight="1" /> <TextView android:text="TextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/title" android:layout_weight="1" /> </LinearLayout>