由于初学Android,之前也没接触过xUtils2.X系列,所以xUtils3.X弄了很久还是一直报空指针异常,后来看了Sample找到问题所在,现在把xUtils3.X的使用写来供像我这样的小白参考吧,有什么问题还请大神指教啊。
################### 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方法中注入。
原文:http://www.cnblogs.com/dreamos/p/5010821.html