由於初學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方法中注入。