android xutils3 注解,xUtils3使用简介

本文详细介绍了如何在Android项目中使用xUtils3的ViewUtils模块,包括在build.gradle中添加依赖,AndroidManifest.xml中设置网络权限,以及在Application中初始化。此外,还讲解了在Activity和Fragment中如何通过注解进行UI、资源和事件的绑定,简化了代码并提供了事件监听的示例。
摘要由CSDN通过智能技术生成

目前xUtils已经发布到xUtils3,所以,我们就按照xUtils3的规范来开发。xUtils系列框架提供的功能主要有四大模块,ViewUtils模块、BitmapUtils模块、DbUtils模块、HttpUtils模块。本文主要介绍ViewUtils的使用。

一、使用前配置。

使用Android Studio开发时,我们需要在build.gradle文件中添加依赖:compile 'org.xutils:xutils:3.5.0'

(如果还是使用Eclipse,需要自行下载jar包导入至项目中即可。本篇文章是以Android Studio开发)

并且我们还需要在AndroidManifest.xml文件中添加网络权限,具体权限如下,

二、使用。

创建Application,在它的onCreate()方法中添加初始化代码,具体代码如下,public class MyApplication extends Application {

@Override

public void onCreate() {

super.onCreate();

x.Ext.init(this);

x.Ext.setDebug(false); // 是否输出debug日志,开启debug会影响性能

}

}

记得要在AndroidManifest.xml文件中添加我们自定义的MyApplication,代码如下,

android:name=".MyApplication"

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:supportsRtl="true"

android:theme="@style/AppTheme">

下面分别介绍这四大模块的使用。

三.ViewUtils模块。(1).android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;

(2).新的事件绑定方式,使用混淆工具混淆后仍可正常工作;

(3).目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。

使用注解可以简化许多重复的工作。记得要使用注解功能,需要先初始化注解模块!

1.在Activity中使用注解

在Activity的onCreate()中需要初始化注解框架,具体写法如下,@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

x.view().inject(this);//初始化注解模块

}

加载布局@ContentView(R.layout.activity_main)

绑定控件@ViewInject(R.id.tv_msg)

TextView mTvMsg;

@ViewInject(R.id.btn_start)

Button mStartBtn;

事件监听@Event(value=R.id.btn_start,type = View.OnClickListener.class)

private void startLoading(View v){

Toast.makeText(this, "startLoading", Toast.LENGTH_SHORT).show();

}

使用@Event事件注解事,需要注意以下几点* 1. 方法必须私有限定,

* 2. 方法参数形式必须和type对应的Listener接口一致.

* 3. 注解参数value支持数组: value={id1, id2, id3}

* 4. 其它参数说明见{@link org.xutils.event.annotation.Event}类的说明.

* 5. type,可选参数, 默认是View.OnClickListener.class,需要根据实际情况来确定具体的值,例如长按事件,type = View.OnLongClickListener.class.

2.在Fragment中使用注解

在Fragment中初始化注解框架,与Activity稍有不同,public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

return  x.view().inject(this,inflater,container);

}

下面给出Activity全部代码,@ContentView(R.layout.activity_main)

public class MainActivity extends AppCompatActivity {

@ViewInject(R.id.tv_msg)

TextView mTvMsg;

@ViewInject(R.id.btn_start)

Button mStartBtn;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

x.view().inject(this);

}

@Event(value=R.id.btn_start,type = View.OnLongClickListener.class)

private void startLoading(View v){

Toast.makeText(this, "startLoading", Toast.LENGTH_SHORT).show();

}

}

有关注解使用,就到这儿!如果还想了解更多,可以去xUtils的github上看它们的sample。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
xUtils 包含了很多实用的android工具. xUtils 支持超大文件(超过2G)上传,更全面的http请求协议支持(11种谓词),拥有更灵活的ORM,更多的事件注解支持且不受混淆影响... xUtils 最低兼容Android 4.0 (api level 14). (Android 2.3?) xUtils3变化较多所以建立了新的项目不在旧版(github.com/wyouflf/xUtils)上继续维护, 相对于旧版本: HTTP实现替换HttpClient为UrlConnection, 自动解析回调泛型, 更安全的断点续传策略. 支持标准的Cookie策略, 区分domain, path. 事件注解去除不常用的功能, 提高性能. 数据库api简化提高性能, 达到和greenDao一致的性能. 图片绑定支持gif, webp; 支持圆角, 圆形, 方形等裁剪, 支持自动旋转... 使用Gradle构建时添一下依赖即可: compile 'org.xutils:xutils:3.1.+' // or // compile 'org.xutils:xutils:3.1.15' 如果使用eclipse可以 点击这里下载aar文件, 然后用zip解压, 取出jar包和so文件. 混淆配置参考示例项目sample的配置 使用前配置 需要的权限 初始化 // 在application的onCreate中初始化 @Override public void onCreate() { super.onCreate(); x.Ext.init(this); x.Ext.setDebug(true); // 是否输出debug日志 ... } 使用@Event事件注解(@ContentView, @ViewInject等更多示例参考sample项目) /** * 1. 方法必须私有限定, * 2. 方法以Click或Event结尾, 方便配置混淆编译参数 : * -keepattributes *Annotation* * -keepclassmembers class * { * void *(android.view.View); * *** *Click(...); * *** *Event(...); * } * 3. 方法参数形式必须和type对应的Listener接口一致. * 4. 注解参数value支持数组: value={id1, id2, id3} * 5. 其它参数说明见{@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) { ... } 访问网络(更多示例参考sample项目) /** * 自定义实体参数类请参考: * 请求注解 {@link org.xutils.http.annotation.HttpRequest} * 请求注解处理模板接口 {@link org.xutils.http.app.ParamsBuilder} * * 需要自定义类型作为callback的泛型时, 参考: * 响应注解 {@link org.xutils.http.annotation.HttpResponse} * 响应注解处理模板接口 {@link org.xutils.http.app.ResponseParser} * * 示例: 查看 org.xutils.sample.http 包里的代码 */ BaiduParams params = new BaiduParams(); params.wd = "xUtils"; // 有上传文件时使用multipart表单, 否则上传原始文件流. // params.setMultipart(true); // 上传文件方式 1 // params.uploadFile = new File("/sdcard/test.txt"); // 上传
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值