Android基础概念Context的作用
2015-06-24 15:20
489 查看
很多初入Android开发的网友向我们问到Context有什么作用,很多地方都用到它,这里Android123给这些新入门的网友做个简单的解释: 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方法。 读上面的解释,提取两点: 1.一般在Activity中,我们直接用this代替。 2.有些方法必须通过Context才能识别调用者的实例,我们就传Context实例。 |
很多初入Android开发的网友向我们问到Context有什么作用,很多地方都用到它,这里Android123给这些新入门的网友做个简单的解释: 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 Studio如何发布APK
- Android学习笔记05: Android快速自定义控件+实战演示——新手进阶必看!
- android 引用lib里面的jar找不到类
- Android Touch事件传递机制解析
- 一种在android中实现MVP模式的新思路
- Android广播机制:Broadcast
- 关于 ViewGroup 下 onDraw 方法失效
- Ubuntu14.04 Android 源码编译
- android开发使用fragment commit时的一些坑
- Android HAL实例解析
- Android29_Loader
- Android28_Bitmap二次采样
- Android27_OptionsMenu、ContextMenu及PopupWindow自定义菜单
- Android ButterKnife使用
- AndroidManifest.xml文件属性详解
- Android开发Git:代码冲突常见解决方法
- android 如何把activity变成dialog
- Android JNI javah 命令使用
- androidstudio项目目录结构(抽时间去了解??)
- android让界面不被弹出的键盘挤上去