初次使用xUtils3

由于初学Android,之前也没接触过xUtils2.X系列,所以xUtils3.X弄了很久还是一直报空指针异常,后来看了Sample找到问题所在,现在把xUtils3.X的使用写来供像我这样的小白参考吧,有什么问题还请大神指教啊。

1.下载
https://github.com/wyouflf/xUtils3上下载最新版本的xUtils3.x的压缩包,解压备用。
 
2.将xUtils引入Android studio
打开Android studio创建自己的程序,然后点击File-->New-->Import Project找到之前解压的xUtils3.x的文件夹下的xutils文件夹确认,Android studio会自动的把xUtils加载进库文件夹里。
 
3.修改proguard-rules.pro文件
在proguard-rules.pro文件中加入
################### region for xUtils
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,*Annotation*,Synthetic,EnclosingMethod

-keep public class org.xutils.** {
public protected *;
}
-keep public interface org.xutils.** {
public protected *;
}
-keepclassmembers class * extends org.xutils.** {
public protected *;
}
-keepclassmembers class * extends org.xutils.http.RequestParams {*;}
-keepclassmembers class * {
void *(android.view.View);
*** *Click(...);
*** *Event(...);
}
#################### end region
4.修改build.gradle文件
在build.gradle文件的dependencies节点下添加
compile 'org.xutils:xutils:3.1.+'



5.添加权限
添加如下权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
6.派生自己的Application类初始化xUtils
// 在application的onCreate中初始化
@Override
public void onCreate() {
    super.onCreate();
    x.Ext.init(this);
    x.Ext.setDebug(true); // 是否输出debug日志
    ...
}
7.注入view和事件
在activity的onCreate方法中添加
x.view().inject(this);//注入view和事件

到这里使用注解方式声明的变量使用不会抛空指针异常了。
@ViewInject(R.id.textView)
TextView textView;
textView.setText("Hello xutils3");

通过Sample实例程序我们不难发现我们可以派生自己的activity,在派生的activity里进行注入事件,然后用我们自己派生的类最为activity的基类,不用在每个create方法中注入。

 

原文地址:https://www.cnblogs.com/dreamos/p/5010821.html