内部API 和隐藏API
来源:互联网 发布:pic单片机中trisa 编辑:程序博客网 时间:2024/05/13 11:23
转载自:http://mogoweb.net/archives/87
Android有两类API在SDK中不能使用。
第一类就是位于包com.android.internal的API,我将这些API称为内部API。第二类API就是用@hide标记的类和函数,虽然严格说这不是一个API而是一系列隐藏API的集合,我仍然假定这是一个API,称为隐藏API。
隐藏API的例子
你阅读android的源码,就会发现有些常量、函数和类标记为@hide.
这里有一个隐藏常量的例子,来自WifiManager(source code of API Level 10).
另外一个例子是隐藏函数setWifiAppEnabled,来自WifiManager(source code of API Level 10).
所以您只要看到@hide属性,这就是一个隐藏API。
内部API和隐藏API的不同
隐藏API隐藏是为了防止开发人员使用SDK中未完成或者未稳定(接口和架构方面看)的部分。比如,Bluetooth API在API Level 5(android 2.0)之前就存在,但在API Level 3和4(android 1.5和1.6)中使用@hide隐藏起来了。当该API稳定下来,google的开发人员移除@hide属性,在API Level 5中就有Bluetooth API了。还有很多东西在Level 4和5之间发生了变化。如果程序依赖于某些隐藏API,可能会在新版本的Android OS上运行出现问题。
而内部API则不计划对外开放。这是android的内部餐厅,开发人员可以视为黑盒子。这里面的东西同样可能发生改变。同样的,如果您的程序依赖于内部API,在新的Android发布后,可能遇到麻烦。
下面总结它们之间的不同:
隐藏API = 正在开发中;
内部API = 黑盒
- 内部API和隐藏API
- 内部API 和隐藏API
- Android隐藏API和内部API
- 使用内部(com.android.internal)和隐藏(@hide)API手记
- 使用内部(com.android.internal)和隐藏(@hide)API[第1部分,介绍]
- 使用内部(com.android.internal)和隐藏(@hide)API[第2部分,定制android.jar]
- 使用内部(com.android.internal)和隐藏(@hide)API[第3部分,定制android平台]
- 使用内部(com.android.internal)和隐藏(@hide)API[第4部分,定制ADT]
- android源代码分析一:使用内部(com.android.internal)和隐藏(@hide)API ——介绍
- android源代码分析一:使用内部(com.android.internal)和隐藏(@hide)API ——介绍
- 使用内部(com.android.internal)和隐藏(@hide)API ——[第四部分 定制ADT]
- 使用内部(com.android.internal)和隐藏(@hide)API ——[第三部分 定制android平台]
- 使用内部(com.android.internal)和隐藏(@hide)API[第2部分,定制android.jar]
- 定制android.jar-[使用内部(com.android.internal)和隐藏(@hide)API]
- 使用内部(com.android.internal)和隐藏(@hide)API ——介绍
- android 隐藏API显式调用以及内部资源使用方法
- 隐藏API和Internal包的使用
- android 使用隐藏API和Internal包
- maven nexus 在服务器端通过web界面添加上传第三方jar包
- 知道仓储管理四步如何做
- MYSQL数据库学习笔记
- 11.3.4.1 实现或和延迟或
- [C++]LeetCode: 93 Binary Search Tree Iterator (经典题,非递归的中序遍历)
- 内部API 和隐藏API
- 听说你又在做着规划骗自己
- Swift之沙盒与数据存储
- 连接池方案:C3P0+Apache dbutils
- Java程序员面试时要注意的一些问题
- wegweg
- 不容易系列之一
- 栽培牡丹花基本操作
- MyEclipse 10jsp文件默认编辑者打开