常见的运行时异常:

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来区分。