Android学习笔记(十六)
- 全局获取Context的技巧
- 定制一个Application:重写父类的onCreate()方法,通过调用getApplicationContxt()方法得到一个应用程序级别的Context。并提供一个静态的getContext()方法,将得到的Context进行返回
- 在AndroidManifest.xml文件中< application >标签修改android:name行代码为定制Application即可。
- 用Intent传递对象
- Serializable方法
- 创建一个类实现Serializable这个接口
- 创建该类的实例,直接将它传入到putExtra()方法中
- 获取时,调用getSerializableExtra()方法来获取通过参数传递过来的序列化对象,接着对其向下转型即可
- Parcelable方法
- 创建一个类实现Parcelable接口,重写describContents()和writeToParcel()方法。describContents()返回0即可,writeToParcel()中需要调用Parcel的writeXxx()方法,将该类中的字段一一写出。
- 另外在该类中还要提供一个名为CREATOR的常量,创建Parcelable.Creator接口的实现,并将泛型指定为该类。接着重写createFromParcel()和newArray()这两个方法,createFromParcel()中创建一个该类的对象进行返回,通过ReadXxx()方法读取(顺序要和写入完全相同),newArray()中返回new出的一个该类数组,并使用方法中传入的size作为数组大小即可。
- 获取时调用getParcelableExtra()方法,并向下转型即可。
- Serializable方法
- 定制自己的日志工具:添加一个Level常量,每次打印前进行一次判断。通过修改Level的值,即可控制打印。
- 编写测试用例
- 新建测试工程
- 对项目进行单元测试,创建一个测试类继承自AndroidTestCase
- 重写setUp()和setDown()方法,setUp()在测试用例执行前调用,setDown()在测试用例执行后调用。
- 定义一个test开通的方法,通过断言assert的形式来期望一个运行结果,再和实际运行的结果进行对比。