动态加载学习笔记

来源:互联网 发布:ci 源码质量 thinkphp 编辑:程序博客网 时间:2024/06/06 08:59

探秘腾讯android手机游戏平台之不安装游戏apk直接启动法http://blog.zhourunsheng.com/2011/09/
Android用DexClassLoader实现动态调用ja包(此方法是无法加载activity、service等Android特有的累,就算是在Android项目的AndroidManifest中定义也没用。) http://blog.csdn.net/cheligeer1988/article/details/13774271
http://www.cnblogs.com/over140/archive/2011/11/23/2259367.html思考:通过apkA启动apkB后,apkB中的Activity是否就不能再使用setContentView(R.layout.main);的方式来初始化自己的布局?以及在apkB的Activity中,不能再通过R.的形式来在B中使用资源?

  • apkB中不能用setContentView(R.layout.main);的方式来初始化自己的布局
  • asset中的资源文件无非就是图片,音视频资源和其他格式的文件,一种方式可以通过R.x系统的方式,还有就是通过File读取的方式进行访问,也即IO方式。在这里通过File的inputstream流读取资源文件,而不能用R的方式引用,因为上下文环境已经不同!

在实践的过程中大家都会发现资源引用的问题,这里重点声明两点:
1. 资源文件是不能直接inflate的,如果简单的话直接在程序中用代码书写。
2. 资源文件是不能用R来引用的,因为上下文已经不同了,腾讯的做法是将资源文件打包(*.pak文件和APK打包在一起),虽然APK是没有进行安装,但是资源文件是另外解压到指定文件夹下面的,然后将文件夹的地址传给了第三方应用程序,这样第三方应用程序通过File的inputstream流还是可以读取和使用这些资源的。

阅读全文
0 0
原创粉丝点击