【11】Android匯入項目時出現:Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead. Please use Android Tools > Fix Project Properties. 的解決方案?
1. 按提示在工程檔案上 右鍵 -> Android Tools -> Fix Project Properties ,該方法無效。
2. 手動開啟Project Properties -> java Compiler -> 選上Enable project specific settings -> 再選擇 Compiler Compliance Leave(選擇任意一個非預設的值) -> OK
3. 重複第2步,將Compiler Compliance Leave選為正確的值(該值一般是當前安裝的JDK版本值,如 jdk 5 對應 1.5 ,jdk 6 對應 1.6),OK。
【12】 在ADT 16.0 中,定義一個ImageVIew的時候 總是提示這個[Accessibility] Missing contentDescription attribute on image警告,雖說可以不理 但總是感覺怪怪的。其實這是ADT 16.0的新特性,在一些沒有文本顯示的控制項裡,如imageView和imageButton等,ADT會提示你定義一個android:contentDescription屬性,用來描述這個控制項的作用。
【13】如何檢測Android真機網路攝影機硬體
如果應用程式未利用manifest聲明對網路攝影機需求進行特別指明,則應該在運行時檢查一下網路攝影機是否可用。可用 PackageManager.hasSystemFeature() 方法來進行這種檢查,程式碼範例如下:
/** 檢查裝置是否提供網路攝影機 */ private boolean checkCameraHardware(Context context) { if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)){ // 網路攝影機存在 return true; } else { // 網路攝影機不存在 return false; } }
Android裝置可能擁有多個網路攝影機,比如向後的網路攝影機用於拍照、向前的網路攝影機用於攝像。Android 2.3 (API Level 9)以上版本允許利用 Camera.getNumberOfCameras() 方法來檢查裝置可用網路攝影機的數量。
【14】Java中異常類體系
為了方便對於這些可傳遞對象的管理,Java API中專門設計了java.lang.Throwable類,只有該類子類的對象才可以在系統的異常傳遞體系中進行。該類的兩個子類分別是:
1、Error類
該類代表錯誤,指程式無法恢複的異常情況。對於所有錯誤類型以及其子類,都不要求程式進行處理。常見的Error類例如記憶體溢出StackOverflowError等。
2、Exception類
該類代表異常,指程式有可能恢複的異常情況。該類就是整個Java語言異常類體系中的父類。使用該類,可以代表所有異常的情況。
在Java API中,聲明了幾百個Exception的子類分別來代表各種各樣的常見異常情況,這些類根據需要代表的情況位於不同的包中,這些類的類名均以Exception作為類名的尾碼。如果遇到的異常情況,Java API中沒有對應的異常類進行代表,也可以聲明新的異常類來代表特定的情況。
在這些異常類中,根據是否是程式自身導致的異常,將所有的異常類分為兩種:
1、RuntimeException及其所有子類
該類異常屬於程式運行時異常,也就是由於程式自身的問題導致產生的異常,例如數組下標越界異常ArrayIndexOutOfBoundsException等。
該類異常在文法上不強製程序員必須處理,即使不處理這樣的異常也不會出現語法錯誤。
2、其它Exception子類
該類異常屬於程式外部的問題引起的異常,也就是由於程式運行時某些外部問題導致產生的異常,例如檔案不存在異常FileNotFoundException等。
該類異常在文法上強製程序員必須進行處理,如果不進行處理則會出現語法錯誤。
【15】 Android中引入第三方jar包時,運行程式時提示java.lang.NoClassDefFoundError異常的解決方案。
這個問題個人覺得很怪異,引用的包中就有某個對象類,卻報了這個錯誤,以下是個人的解決方案:
1、在工程下建立lib檔案夾,將需要的第三方包拷貝進來。
2、將引用的第三方包,添加進工作的build path。
3、(關鍵的一步)將lib設為源檔案夾。如果不設定,則程式編譯可以通過,但啟動並執行時候,會報:java.lang.NoClassDefFoundError
【16】 未完待續...