1.Android Studio gradle 插件 本地下载设置
下载gradle压缩包,解压到*用户名.gradle\wrapper\dists*目录下。
gradle下载地址
2.问题:有个手机子activity返回时,父activity就onDestroy,不知为何?
在设置了android:parentActivityName后,点击子Activity返回键,父Activity总会调用OnDestroy()的解决方案
发现不是上面链接的原因,而是因为测试人员打开了开发者选项里的不保留活动的选项
中间插曲,想采用savedInstanceState的方式解决
private static final String SAVE_MODEL = "save_model";
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
int savedModel = savedInstanceState.getInt(SAVE_MODEL);
}
setContentView(R.layout.activity_main);
}
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
outState.putInt(SAVE_MODEL, 222);
super.onSaveInstanceState(outState, outPersistentState);
}
问题:saveModel的值一直为0.后来才发现应该用下面这种方式
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putInt(SAVE_MODEL, 222);
super.onSaveInstanceState(outState);
}
3.今天在使用Proguard keep一个 静态内部类的时候,混淆完之后一直找不到那个静态内部类
最后在stackoverflow上找到了答案
-keepattributes Exceptions,InnerClasses,...
-keep class [packagename].A{*;}
-keep class [packagename].A$* {*;}
4.为什么混淆的时候要保留所有Model?
因为自己的程序里采用了Gson解析,字段变了,就找不到了。
5.Fragment的setUserVisibleHint方法实现懒加载
Fragment的setUserVisibleHint方法实现懒加载
Android之取消ViewPage+Fragment的预加载
6.Android viewPage notifyDataSetChanged无刷新
7.URLEncoder
URLEncoder.encode("hello world", "UTF-8"),会变成hello+world
但是正确的应该是hello%20world
解决办法:URLEncoder.encode("hello world", "UTF-8").replace("+", "%20")
8.RecyclerView 23.2.0 新特性
item的android:layout_height="match_parent"就会导致真的全屏
RecyclerView 23.2.0 新特性