Android深入浅出系列课程---Lesson1 AAF110430_android中context介绍

大家好,这一讲我们来介绍下Android中Context
一、课程目标:
        了解Android中的Context

二、重点难点:
        观察Context的实现

三、考核目标:
        Context在Android中的作用 , Context的实现

四、课后练习:
        研究清楚Context的实现研究清楚Context的实现
l Java Context的回顾:
1)JNDI的一个类javax.naming.InitialContext,它读取JNDI的一些配置信息,并内含对象和其在JNDI中的注册名称的映射信息。请看下面的代码
InitialContext ic=new InitialContext();
2)再来看看下面Spring中最常见的几句代码。ApplicationContext 是内含configuration.xml配置文件的信息,使得可以通过getBean用名称得到相应的注册对象。
ApplicationContext ctx= new FileSystemXmlApplicationContext("configuration.xml");
     从上面的代码,我很能体会到Context所代表的意义:公用信息、环境、容器....。所以我觉得Context翻译成上下文并不直观,按照语言使用的环境,翻译成“环境”、“容器”可能更好。


     把Context翻译成“上下文”只是不直观罢了,不过也没大错。我们来看看中文的“上下文”是什么意思。我们常说听话传话不能“断章取义”,而要联系它的“上下文”来看。比如,小丽对王老五说“我爱你”,光看这句还以为在说情话呢。但一看上下文--“虽然我爱你,但你太穷了,我们还是分手吧”,味道就完全变了。从这里来看“上下文”也有“环境”的意思,就是语言的环境。
l Context到底是什么?它的作用是:
     Context字面意思上下文,位于framework package的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄,很多方法需要通过Context才能识别调用者的实例,比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的实例为Activity,而到了一个button的onClick(View view)等方法时,我们用this时就会报错,所以我们可能使用ActivityName.this来解决,主要原因是因为实现Context的类主要有Android特有的几个模型,Activity、Service以及BroadcastReceiver。
 

      常规需要Context实例的方法主要有各种Service实现的类,比如说SensorManager在实例化时需要getSystemService(String)方法就必须由Context的实例执行,还有一些私有的文件系统I/O比如说openFileInput以及常用的Toast的makeText方法。

本讲对Android中Context的介绍,下一讲将进入Log,内容预告:AAF110426_Log打开android大门,敬请期待。

本课视频地址:http://www.tudou.com/programs/view/pQ0ZXjExMz8/ (土豆网)
课程下载地址:http://www.verycd.com/topics/2900036/ (VeryCD电驴)
作者博客:http://www.mobidever.com/forum.php (Sundy-Android开发联盟)

你可能感兴趣的:(android)