1.使用Gradle构建时添加一下依赖即可:
compile 'org.xutils:xutils:3.5.0'
2.配置需要的权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
3.初始化
// 在application的onCreate中初始化
@Override
public void onCreate() {
super.onCreate();
x.Ext.init(this);
x.Ext.setDebug(BuildConfig.DEBUG); // 是否输出debug日志, 开启debug会影响性能.
...
}
4.在BaseActivity的onCreat方法中加上
x.view().inject(this);//注入view和事件,一定要记得加上,否者报空
5.使用@Event事件注解(@ContentView, @ViewInject等更多示例参考sample项目)
/**
* 1. 方法必须私有限定,
* 2. 方法参数形式必须和type对应的Listener接口一致.
* 3. 注解参数value支持数组: value={id1, id2, id3}
* 4. 其它参数说明见{@link org.xutils.event.annotation.Event}类的说明.
**/
@Event(value = R.id.btn_test_baidu1,
type = View.OnClickListener.class/*可选参数, 默认是View.OnClickListener.class*/)
private void onTestBaidu1Click(View view) {
...
}
6.绑定布局 @ContentView()
@ContentView(R.layout.activity_main)
7.绑定控件@ViewInject
@ViewInject(R.id.lv_content)
8.加载网络图片
ImageOptions imageOptions = new ImageOptions.Builder()
.setRadius(DensityUtil.dip2px(2)) //倒圆角
.setFailureDrawableId(R.mipmap.ic_launcher)//设置加载失败图片显示
.build();
//第一个参数控件名称,第二个url地址(String类型),第三个imageOptions参数
x.image().bind(imgvCode, url, imageOptions);
9.网络请求post
RequestParams params = new RequestParams(APIConstant.RETRIEVE_PASSWORD);
params.addQueryStringParameter("email", email);
params.addQueryStringParameter("code", code);
params.addQueryStringParameter("token", StringUtil.getEncryptionContent(params));
x.http().post(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
Gson gson = new Gson();
BaseResult baseResult = gson.fromJson(result,BaseResult.class);
}
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
10.网络请求get
RequestParams params = new RequestParams(APIConstant.RETRIEVE_PASSWORD);
x.http().get(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
Gson gson = new Gson();
BaseResult baseResult = gson.fromJson(result,BaseResult.class);
}
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});