1. 程式人生 > >一些安卓學習過程中的小知識

一些安卓學習過程中的小知識

1、今天又吃了個虧,明明線性佈局的LinearLayout,我知道是從上到下排列的,但是!!!!!!我卻沒有注意我的
        第一個控制元件ListView的寬高全特麼是適應父窗體?exm??喵了個咪
        android:visibility="gone"   將listview完全隱藏,不儲存空間位置,但是invisible就是隱藏元素保留空間位置

2、有三個值 visibility  One of VISIBLE, INVISIBLE, or GONE. 
同上
常量值為0,意思是可見的 
常量值為4,意思是不可見的 
常量值為8,意思是不可見的,而且不佔用佈局空間

3.以前不知道的fill_parent與match_parent有什麼不一樣,現在知道了

效果都是一樣,只是fill_parent是早期sdk版本使用的名稱罷了。只是不知道為什麼sdk更新了之後卻沒有刪除fill_parent。大概是因為我用的是,ec,而ec是被拋棄的,,233

4.java中最簡單的LRU演算法實現,就是利用jdk的LinkedHashMap,覆寫其中的removeEldestEntry(Map.Entry)方法即可

5、安卓專案打包過程中會生成一個.apk檔案,這個檔案也就是使用者要安裝的程式檔案了,在生成apk的時候,會先通過安卓的一個工具將所有的程式碼生成.class的位元組碼檔案放在一個.dex字尾的檔案下面,然後這個工具是sdk-->>build-tools-->>dx.bat,有的.class檔案的命名中間會有一個$符號,這個表示他是一個內部類,例如:R$color.class,表示R類中的color類;會生成一個resources.arsc的檔案,用來描述那些具有id值的資源的配置資訊,相當於一個資源索引表,這裡的id值是指R檔案中的變數的值,0x7f0.......這樣形式的;一個uncompiled Resources:未編譯的資原始檔(raw、asserTs目錄下的檔案和drawable下面的圖片檔案);一個聰明批了的 Resources:編譯的資原始檔(其他的資原始檔均為文字格式的xml檔案,他們在打包過程中,會被編譯成二進位制的xml檔案)。這樣的好處是:縮小的體積,也避免額一次轉換。和一個清單檔案。

程式打包流程圖:

 

生成簽名檔案與匯出APK:我覺得這個視訊就講的很好。http://www.51zxw.net/show.aspx?id=33245&cid=445

簽名APK的命令:
jarsigner -verbose -keystore E:/ppj.keystore -signedjar E:/ex50VideoTestPpj2.apk E:/ex50VideoTestPpj.apk ppj
jarsigner:            一個.exe,地址在C:\Program Files\Java\jdk1.8.0_131\bin下面
E:/ppj.keystore:        要給apk簽名的金鑰
-signedjar:            簽名的命令
E:/ex50VideoTestPpj2.apk:    生成簽名之後的apk
E:/ex50VideoTestPpj.apk:    生成簽名之前的apk
ppj:                簽名的金鑰庫