1, 常見的nullpointerexception,在調式程序中最多見是空指針異常了,這個是通常是對象實例化爲null, 好比在組件的實例化和class對象實例化的時候, 聲明 TextView mTestTV; 沒有findViewById,或者 new對象爲null。android
2,IllegalArgumentException非法參數,不少方法參數的數據類型不一致或者返回的數據類型不一致的異常。web
3,IndexOutOfBoundsException下標越界,這個通常是出如今數組和集合中,循環數組、集合的時候,須要判斷是否爲空,若爲空會報空指針,上面1中提到的錯誤。若數組或者集合的個數小於遍歷的大小則會下標越界。sql
4,ClassCastException:數據類型轉換異常 若是前臺應用程序缺少相關的控制,如用戶在輸入日期的時候只輸入月、日信息,而沒有年份的信息。此時應用程序在進行數據類型轉換的時候,就會出現異常。根據筆者的經驗,數據類型轉換異常在應用程序開發中使一個出現的比較多的異常,也是一個比較低級的異常。數據庫
5,NumberFormatException:字符串轉換爲數字類型時拋出的異常數組
6,SQLException:操做數據庫異常類,android中的sqlite建立數據庫字段須要id 字段之間須要逗號隔開。app
7,IllegalStateException非法狀態eclipse
8,ClassNotFoundException 指定class找不到,這個在android中也是很常見的,須要在eclipse項目工做空間中的路徑和類引用。ide
9,ArithmeticException 這個異常的解釋是"數學運算異常",好比程序中出現了除以零這樣的運算就會出這樣的異常ui
10,IllegalAccessException 這個異常的解釋是"沒有訪問權限",當應用程序要調用一個類,但當前的方法即沒有對該類的訪問權限便會出現這個異常。對程序中用了Package的狀況下要注意這個異常spa
11,StackOverflowError 堆棧溢出錯誤。當一個應用遞歸調用的層次太深而致使堆棧溢出時拋出該錯誤
12,OutOfMemoryError 內存不知時致使的異常,通常android中的listview加載圖片,沒有及時回收,加載過大圖片,數據庫沒close,線程死循環。
android常見錯誤
1五、工程名上有紅色感嘆號
解決方案:右鍵項目名稱BuildPath--->ConfigureBuildPaht...中,而後上面有幾個選項卡找到Libraries中出現紅色叉號的包爲路徑錯誤的包。到classpath中修改相應包的當前路徑。而後回到eclipse中F5刷新工程。
問題緣由:工程中classpath中指向的包路徑錯誤。
解釋:用myeclipse新建web工程,在工程目錄下會生成一個.classpath配置文件,裏面是你工程裏面引用的jar的配置。這個.classpath對你的web工程沒有什麼影響,實際上是給myeclipse識別的。你說的這種狀況是由於.classpath文件裏面配置引用了某個jar,可是實際上你的lib裏面並無這個jar因此纔會有紅色的提示。你不用拿.classpath文件和你的jar一個個去找,你如今打開MyEclipse右鍵單擊你的web工程,找到BuildPath-->ConfigureBuildPaht...-->而後上面有幾個選項卡找到Libraries。這裏看到的就是你工程裏面引用的全部的jar,看看是否是在某個jar圖標上有個很小的黃色的感嘆號?若是有的話就沒錯了,先選中這個jar,點擊右邊的Remove-->點擊OK等待幾秒,如今web工程上面的紅色XX是否是沒有了,哈哈。解釋一下:黃色的感嘆號的jar,表示.classpath配置文件引用了jar,可是實際上lib裏面沒有這個jar。
1六、使用Intent時出現另外一個活動未發現的異常(ActivityNotFoundException)
解決方案:在AndroidManifest.xml中再加一個<activity android:name=".Filelist" android:label="@string/app_name" />
1七、Fail to connect to camera service
在AndroidManifest.xml中添加<uses-permission android:name="android.permission.CAMERA" />
若是仍是不行
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
mCamera.stopPreview();
mCamera.release();//加上這句,就OK!
mCamera=null;
}
若是用到了多語言 string-en.xml文件找不到 String文件的的id的時候 就須要忽略一些文件 在文件外部添加 lint.xml
裏面的內容是:
<?xml version="1.0" encoding="utf-8"?> <lint> <issue id="CutPasteId" severity="ignore" /> <issue id="MissingTranslation" severity="ignore"/> <issue id="ExtraTranslation" severity="ignore"/> </lint>