关闭

android 学习记录之一

123人阅读 评论(0) 收藏 举报

昨天才开始下载了csdn的客户端 这让我能够学习到大森们的技术博客 变得容易  在地铁上 一篇文章中 一些对我而言 是新的知识 重要的知识 还有一些存在误区的地方 都需要记录来温习  微笑

今天先记录点 昨天学习的郭大侠的context 的文章 (http://blog.csdn.net/guolin_blog/article/details/47028975) 以后有相关context的知识点 都记录到此 

1、继承结构 



2、 attachBaseContext()



public class MyApplication extends Application {
	
	@Override
	protected void attachBaseContext(Context base) {
		// 在这里调用Context的方法会崩溃
		super.attachBaseContext(base);
		// 在这里可以正常调用Context的方法
	}
	
}

3、MyApplication的实例

Application是属于系统组件,系统组件的实例是要由系统来去创建的,如果这里我们自己去new一个MyApplication的实例,它就只是一个普通的Java对象而已,而不具备任何Context的能力。有很多人向我反馈使用 LitePal 时发生了空指针错误其实都是由于这个原因,因为你提供给LitePal的只是一个普通的Java对象,它无法通过这个对象来进行Context操作。Application全局只有一个,它本身就已经是单例了,无需再用单例模式去为它做多重实例保护了

public class MyApplication extends Application {
	
	private static MyApplication app;
	
	public static MyApplication getInstance() {
		return app;
	}
	
	@Override
	public void onCreate() {
		super.onCreate();
		app = this;
	}
	
}



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2349次
    • 积分:95
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章存档