1.Android Studio gradle 插件 本地下載設(shè)置
下載gradle壓縮包,解壓到*用戶(hù)名.gradle\wrapper\dists*目錄下。
gradle下載地址
2.問(wèn)題:有個(gè)手機(jī)子activity返回時(shí),父activity就onDestroy,不知為何?
在設(shè)置了android:parentActivityName后,點(diǎn)擊子Activity返回鍵,父Activity總會(huì)調(diào)用OnDestroy()的解決方案
發(fā)現(xiàn)不是上面鏈接的原因,而是因?yàn)闇y(cè)試人員打開(kāi)了開(kāi)發(fā)者選項(xiàng)里的不保留活動(dòng)的選項(xiàng)
Screenshot_2016-03-29-19-13-38.png
中間插曲,想采用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);
}
問(wèn)題:saveModel的值一直為0.后來(lái)才發(fā)現(xiàn)應(yīng)該用下面這種方式
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putInt(SAVE_MODEL, 222);
super.onSaveInstanceState(outState);
}
3.今天在使用Proguard keep一個(gè) 靜態(tài)內(nèi)部類(lèi)的時(shí)候,混淆完之后一直找不到那個(gè)靜態(tài)內(nèi)部類(lèi)
最后在stackoverflow上找到了答案
-keepattributes Exceptions,InnerClasses,...
-keep class [packagename].A{*;}
-keep class [packagename].A$* {*;}
4.為什么混淆的時(shí)候要保留所有Model?
因?yàn)樽约旱某绦蚶锊捎昧薌son解析,字段變了,就找不到了。
5.Fragment的setUserVisibleHint方法實(shí)現(xiàn)懶加載
Fragment的setUserVisibleHint方法實(shí)現(xiàn)懶加載
Android之取消ViewPage+Fragment的預(yù)加載
6.Android viewPage notifyDataSetChanged無(wú)刷新
7.URLEncoder
URLEncoder.encode("hello world", "UTF-8"),會(huì)變成hello+world
但是正確的應(yīng)該是hello%20world
解決辦法:URLEncoder.encode("hello world", "UTF-8").replace("+", "%20")
8.RecyclerView 23.2.0 新特性
item的android:layout_height="match_parent"就會(huì)導(dǎo)致真的全屏
RecyclerView 23.2.0 新特性