我正在为显示视频构建自己的视图,我想将定制视图建立在内置的Android VideoView之上。因此,我正在寻找VideoView的源代码。我在Stackoverflow和其他地方找到的大多数帖子都指向grepcode。不幸的是,grepcode上的代码似乎不是developer.android.com上记录的代码,也不是很有用的代码。例如,grepcode上的VideoView.java引用从mContext继承而来的mContext对象,但在developer.android.com sdk的视图中不可用。此外,VideoView调用MediaPlayer的简历方法,这在标准的MediaPlayer类中也是不可用的。在哪里可以获得developer.android.com上记录的源?
谢谢,万斯
发布于 2012-06-21 02:12:51
首先,Android是开源的,grepcode的源代码和github的原始源代码没有区别。它们都有优缺点,grepcode中的源代码是由API级别标记的,因此很容易导航特定版本的API类,其中github中的源代码对于每次提交都有完整的更改历史,但是要查找/检索特定API类的早期版本有点复杂。
grepcode上的VideoView.java引用mContext对象,该对象继承自视图,但在developer.android.com sdk的视图中不可用
mContext在android.view.View中标记为@hide,参见github的头版。
VideoView调用MediaPlayer的简历方法,这在标准的MediaPlayer类中也是不可用的。
@hide ()在android.media.MediaPlayer中标记为github中的早期版本或r1.1中的grepcode。
一般来说,谷歌提供给消费者开发者的开发API (android.jar)已经去掉了com.android.internal和@hide API。但是,安装在实际设备上的运行时API (framework.jar)拥有一切。
如果您想使用这些内部API并将API隐藏在您自己的代码中,那么解决方案是使用java反射或在他的博客这里中解释的解决方法inazaruk。
希望这有意义。
https://stackoverflow.com/questions/11129814
复制相似问题