1. Butterknife初始化控件框架
Project 的build.gradle配置
classpath'com.neenbedankt.gradle.plugins:android-apt:1.8'
Module 的build.gradle配置
l 顶部
applyplugin:'com.neenbedankt.android-apt'
l 依赖
//减少findViewById
compile 'com.jakewharton:butterknife:5.1.1'
项目中用来生成rv的viewholder
static classViewHolderextendsRecyclerView.ViewHolder {
@InjectView(R.id.img)
ImageView img;
@InjectView(R.id.text)
TextView text;
publicViewHolder(View itemView) {
super(itemView);
ButterKnife.inject(this, itemView);
}
}
项目中用来生成控件的初始化代码
public classMainActivityextendsAppCompatActivity {
@InjectView(R.id.hello)
TextView hello;
@InjectView(R.id.activity_main)
RelativeLayoutactivityMain;
@Override
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(this);
intlayoutId = R.layout.item;
}
@OnClick(R.id.hello)
public voidonClick() {
}
}
2. Retrofit网络请求框架
配置权限(任意的网络请求框架都要使用到)
<uses-permissionandroid:name="android.permission.INTERNET"/>
访问服务器的连接
http://10.0.2.2:8080/TakeoutService/home
>1.先配置json解析成的javaBean
com.itheima.takeout94.net.bean.ResponseInfo
public classResponseInfo {
publicStringcode;
publicStringdata;
}
>2.配置请求方法
public interfaceTakeOutApi {
//请求主页地址的方法
@GET(ApiUrls.HOME)
Call<ResponseInfo> getHomeData();
}
>3.初始化请求方法
public classApiUrls {
//主页
public static finalStringHOME="home";
}
public classHttpUtils {
private static