① android 頁面布局時定義控制項ID時@id/XX和@+id/xx 有什麼區別
Android中的組件需要用一個int類型的值來表示,這個值也就是組件標簽中的id屬性值。id屬性只能接受資源類型的值,也就是必須以@開頭的值,例如,@id/abc、@+id/xyz等。
如果在@後面使用「+」,表示當修改完某個布局文件並保存後,系統會自動在R.java文件中生成相應的int類型變數。變數名就是「/」後面的值,例如,@+id/xyz會在R.java文件中生成int xyz = value,其中value是一個十六進制的數。如果xyz在R.java中已經存在同名的變數,就不再生成新的變數,而該組件會使用這個已存在的變數的值。
也就是說,如果使用@+id/name形式,當R.java中存在名為name變數時,則該組件會使用該變數的值作為標識。如果不存在該變數,則添加一個新的變數,並為該變數賦相應的值(不會重復)。
既然組件的id屬性是一個資源id就可以,那麼自然可以設置任何已經存在的資源id值,例如,@drawable/icon、@string/ok、@+string/you等。當然,也可以設置android系統中已存在的資源id,例如,樓主提出的@id/android:list,那麼這個android是什麼意思呢,實際上,這個android就是系統的R類(在R.java文件中)所在的package。我們可以在Java代碼編輯區輸入android.R.id.,就會列出相應的資源id,例如,也可以設置id屬性值為@id/android:message。
android:layout_height="wrap_content"/>
還有另外一種方法查看系統中定義的id,進入\platforms\android-1.5\data\res\values目錄,找到ids.xml文件,打開後,內容如下:
若在ids.xml中定義了ID,則在layout中可如下定義@id/price_edit,否則@+id/price_edit
② android 頁面布局時定義控制項ID
Button android:id="@+id/button1"
Button Btn=(Button)findViewById(R.id.button1);
Btn.setOnClickListener( new OnClickListener(){
public void onClick(View v)
{//你的事件處理代碼
}
});
android裡面控制項的id向你那麼定義的,我還是第一次見過
③ android 命名id是@id/***為什麼報錯不想用 @+id/.....這種,怎麼辦有什麼特殊設置嗎
@id/***是引用,@+id/***是增加...這東西不是你想用什麼就用什麼的...這是Android的規定
④ 如何為每部Android手機生成一個唯一的ID
這種方法是,以一些特定的信息為基礎,生成設備的唯一標識。
首先,演算法角度,常用的有UUID、摘要兩種。這兩種演算法都是以特定的數據為基礎,生成一個唯一的、固定長度的字元串。這里選擇UUID。
其次,計算的基礎數據,建議選擇divice_id和android_id。原因是,1)這兩個標識雖然不能抵抗wipe操作,但受用戶的行為影響比較小;2)如果正常獲取,都是唯一的;③如果不能正常獲取,結果也是固定的,不會頻繁變化。
再次,優先順序的考慮。從這兩個標識的缺點考慮。
1)device_id。
①不能標識非手機設備,例如Pad。
②許可權問題,因為用戶的反感。
③獲取異常,廠商定製系統中存在的bug,致使返回結果為空,或者為一串「0」或「*」。
④對於雙卡雙待手機,會返回兩個device_id。
2)android_id。
①Android2.3以前,系統Bug,導致不同的設備產生相同的結果:9774d56d682e549c。
②有些可能返回null。
③設備差異:對於CDMA設備,與device_id返回相同的值。
綜合考慮,device_id不能標識某些pad,以及用戶的許可權問題,是我們不能接受的,所以優先使用android_id。對於android_id返回為null的情況,再考慮使用device_id。
最後,當android_id和device_id都返回異常的情況,我們可以隨機生成一個UUID。
⑤ android怎麼將自定義控制項中子控制項的id
點Priject,點Clean,就會自動生成R文件了 如果沒有選bulid Automatically的話R文件不會即時更新的 你是編譯報錯還是運行報錯?
⑥ Android自定義屬性,format詳解
1. reference:參考某一資源ID。
(1)屬性定義:
(2)屬性使用:
2. color:顏色值。
(1)屬性定義:
(2)屬性使用:
3. boolean:布爾值。
(1)屬性定義:
(2)屬性使用:
4. dimension:尺寸值。
(2)屬性使用:
5. float:浮點值。
(1)屬性定義:
(2)屬性使用:
6. integer:整型值。
(1)屬性定義:
(2)屬性使用:
android:interpolator = "@anim/動畫ID"
android:fromDegrees = "0"
android:toDegrees = "360"
android:pivotX = "200%"
android:pivotY = "300%"
android:ration = "5000"
android:repeatMode = "restart"
android:repeatCount = "infinite"
/>
⑦ 如何修改android aapt源碼實現自定義package ID
反編譯android代碼並在eclipse中查看:apk反編譯得到程序的源代碼、片、XML配置、語言資源等文件下載上述工具中的apktool,解壓得到3個文件:aapt.exe,apktool.bat,apktool.jar,將需要反編譯的APK文件放到該目錄下,打開命令行界面(運行-CMD),定位到apktool文件夾,輸入以下命令:apktool.batd-ftest.apktest在改目錄下會生成一個classes_dex2jar.jar的文件,然後打開工具jd-gui文件夾里的jd-gui.exe,之後用該工具打開之前生成的classes_dex2jar.jar文件,便可以看到源碼了