常見的運行時異常:
1.運用程序異常Force Close(FC)
現象:程序異常關閉
原因:運用運行時爲捕獲異常 Runtime
常見的異常:
1)NullPointerException
判斷對象是否爲空
2)ArrayOutOfBoundsException
判斷數組長度是否在合法的範圍內
3)StringOutOfBoundsException
判斷索引是否在合法範圍內
4)ArithmeticException
判斷除數是否爲零
5)ClassNotFoundException
判斷AndroidManifest.xml清單文件中的類與源代碼中的類是否一致
6)ClassCastException
檢測到兩個類型間轉換不兼容時引發的運行時異常
2.Logcat(日誌)
解決異常的一種方式
解決FC的方法:
1)首先查看異常類型,例如:NUllPointerException
2)從異常類型往下看,找到自己出現的代碼
3)雙擊定位到出現異常問題的代碼
自身設置LogCat
1)查看某個Activity的日誌信息
2)常用方法
e(String tag,String mes)
d(String tag,String mes)
w(String tag,String mes)
i(String tag,String mes)
3)保存日誌
4)添加日誌(Tag,Application)
3.調試
設置斷點 按F11進入調試界面 F6 執行下一步 F5進入方法體當中
F8跳過
4.Activity消息傳遞
1)A->B
啓動startActivity(intent)
2)A->B->A
啓動startActivityForResult(intent ,requestCode)
B返回A並傳遞消息:
Intent data = new Intent();
data.putExtra("msg", "values")
setResult(0, data );
finish();
A裏面處理B返回的消息:
重寫onActivityResult()方法,在此方法內處理消息。
@Override
protectedvoid onActivityResult(int requestCode, int resultCode,
Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
data.getStringExtra("msg");
}
魔鬼數字:引用參數的類型爲數值的時候,一般不直接賦值,設置常量再引用。
resultCode: 返回碼
功能:區分返回的不同事件
使用方法:
1) setResult()中指定不同返回碼
2) 在onActivityResult方法中,判斷resultCode
應用場景:A界面有兩個或兩個以上的控件,他們都點擊跳轉到B界面,但是他們
在B界面執行不同的操作,返回不同的消息到A界面,A界面處理消息時用resultCode來區分。