Java中注释/**@hide*/的初步认识
2015-07-18 15:48
253 查看
今天写一个调节系统背光亮度的时候,参考了Android中的Setting源码,在源码中有这么一段代码:
?
然后我模仿它的代码,来进行编写我的应用,但是当我copy这段代码后报错
报错内容如下:
?
然后我去察看源代码,发现定义如下:
?
明显声明为public,怎么可能会访问不到呢?再细看注释,发现里面有“@hide”这个标志。后来百度一下才认识到,类或API是否开放,是通过doc的注释{@hide}来控制的。这表示不对外公开api,但是系统内部是可以使用该注释标记的接口的。
google 给了两个选择:1. 在你添加的API或者变量前面,增加javadoc 注释@hide。但是要注意的是,并不是简单写个@hide 或者 /*@hide*/ 就可以了,这些都是错误的javadoc注释格式,标准的javadoc都是这样的 /** */ 而且对于 format 变量 应该加上 { }。所以我们应该这样写 /** {@hide} */ 2. 你就是想要生成的javadoc里面出现这个方法或者变量,你必须输入:make update-api
但是如果修改的是google没有开放出来的类,比如RIL,PhoneFactory,就不会出现这个问题。
如何解决这个报错的问题呢,问了一下公司的前辈,前辈是这么解释的,加入了 /** {@hide} */ 注视后的类或者API是google编译时不对外开放的,但是运行的时候这写类和API都是可以访问的。为了在Eclipse中不报错的话,可以准备以下几步就可以不报错了。
1,准备好编译后的Android源码。
2,在该源码的out目录下寻找包含你所用隐藏类的jar文件,通常文件名为classes.jar。例如framework的jar文件为out argetcommonobjJ***A_LIBRARIES ramework_intermediatesclasses.jar。
3,在eclipse的Android项目中,选择项目属性->Java Build Path->Libraries->Add Library->User Library->Next-> UserLibraries进入到User Libraries管理界面,点击New新建一个User
Library,比如android_framework,点击Add Jars把Jar包加入到建立的User Library中,最后点击OK就可以了。
现在在Eclipse中就不会再报错了。
====================================================================================
作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:http://blog.csdn.net/ouyang_peng
?
报错内容如下:
?
?
google 给了两个选择:1. 在你添加的API或者变量前面,增加javadoc 注释@hide。但是要注意的是,并不是简单写个@hide 或者 /*@hide*/ 就可以了,这些都是错误的javadoc注释格式,标准的javadoc都是这样的 /** */ 而且对于 format 变量 应该加上 { }。所以我们应该这样写 /** {@hide} */ 2. 你就是想要生成的javadoc里面出现这个方法或者变量,你必须输入:make update-api
但是如果修改的是google没有开放出来的类,比如RIL,PhoneFactory,就不会出现这个问题。
如何解决这个报错的问题呢,问了一下公司的前辈,前辈是这么解释的,加入了 /** {@hide} */ 注视后的类或者API是google编译时不对外开放的,但是运行的时候这写类和API都是可以访问的。为了在Eclipse中不报错的话,可以准备以下几步就可以不报错了。
1,准备好编译后的Android源码。
2,在该源码的out目录下寻找包含你所用隐藏类的jar文件,通常文件名为classes.jar。例如framework的jar文件为out argetcommonobjJ***A_LIBRARIES ramework_intermediatesclasses.jar。
3,在eclipse的Android项目中,选择项目属性->Java Build Path->Libraries->Add Library->User Library->Next-> UserLibraries进入到User Libraries管理界面,点击New新建一个User
Library,比如android_framework,点击Add Jars把Jar包加入到建立的User Library中,最后点击OK就可以了。
现在在Eclipse中就不会再报错了。
====================================================================================
作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:http://blog.csdn.net/ouyang_peng
相关文章推荐
- Java中的五种单例模式实现方法
- java 内存数据的条件筛选和分页处理
- Eclipse快捷键使用
- Java编写的文本编辑器(菜鸟作品)
- Java基础---反射和代理
- 基于Java的打包jar、war、ear包的作用与区别详解
- Java编写的文本编辑器(菜鸟作品)
- Java方法参数- 值调用的理解
- (算法入门)基本图论-广度优先搜索之JAVA实现
- Java语言编写计算器(简单的计算器)
- Java语言编写计算器(简单的计算器)
- struts拦截器
- ubuntu 下解决“no java virtual machine was found after searching the following locations:” 方法
- Java NIO 系列教程
- Java中关键字final、static使用总结
- Java基础---Proxy 代理
- MyEclipse10搭建Strust2开发环境(2)
- Java 文件操作
- 分布式消息队列中间件系列研究之阿堂教程(基础篇-Local模式)
- Struts2输入校验之validate输入校验方式