Android OBB文件和StorageManager类
来源:互联网 发布:调试spring源码 编辑:程序博客网 时间:2024/05/18 03:56
从Android 2.3开始新增了一个OBB文件系统和StorageManager类用来管理外部存储上的数据安全。如果你过去开发过Symbian S60第三版或以上的版本可能发现都有一个隔离的文件系统,仅根据自己应用的UID才能读取,当然这样的设计在iOS和WP7均实现了,eoe提示大家这种叫做隔离文件系统,为什么Android 2.3的android.os.storage.StorageManager类就是来解决这个问题的。
如果我们设计一款资源包含比较多的游戏,可能你会发现最终生成的APK文件可能高达300MB,但是APK文件很大导致Android系统无法正常安装,而这么大其实都是游戏中用到的资源文件,我们放到SD卡上可能其他应用也可以访问,比如说系统的图片管理器会索引游戏中的图片资源,而音乐播放器也会索引资源中的音乐,所以Android 2.3的OBB文件(Opaque Binary Blob)可以很好的解决大文件在SD卡上分离出APK文件,同时别的程序没有权限访问这样一种隔离的文件系统。
android.os.storage.StorageManager类的实例化方法需要使用getSystemService(Contxt.STORAGE_SERVICE)才可以,eoe再次提醒这是一个API Level至少为9才能调用的类,注意SDK版本以及目标设备的固件。
Java代码:
我们可以看到挂载和反挂载obb文件时都有一个状态回调的类,位于android.os.storage.OnObbStateChangeListener,OnObbStateChangeListener接口实现了一个void onObbStateChange(String path, int state) 方法来回调状态,第二个参数state的状态有:
Java代码:
从体而言我们看到Android 2.3系统中很多新的功能都很实用,同时Google正在吸取其他平台的优点,通过更多的实现方法更灵活的处理,而不是其他系统那样封闭,导致了不越狱很多事情都无法做的尴尬问题,Android系统既保证了安全,又处理好了灵活的功能。
如果我们设计一款资源包含比较多的游戏,可能你会发现最终生成的APK文件可能高达300MB,但是APK文件很大导致Android系统无法正常安装,而这么大其实都是游戏中用到的资源文件,我们放到SD卡上可能其他应用也可以访问,比如说系统的图片管理器会索引游戏中的图片资源,而音乐播放器也会索引资源中的音乐,所以Android 2.3的OBB文件(Opaque Binary Blob)可以很好的解决大文件在SD卡上分离出APK文件,同时别的程序没有权限访问这样一种隔离的文件系统。
android.os.storage.StorageManager类的实例化方法需要使用getSystemService(Contxt.STORAGE_SERVICE)才可以,eoe再次提醒这是一个API Level至少为9才能调用的类,注意SDK版本以及目标设备的固件。
Java代码:
我们可以看到挂载和反挂载obb文件时都有一个状态回调的类,位于android.os.storage.OnObbStateChangeListener,OnObbStateChangeListener接口实现了一个void onObbStateChange(String path, int state) 方法来回调状态,第二个参数state的状态有:
Java代码:
从体而言我们看到Android 2.3系统中很多新的功能都很实用,同时Google正在吸取其他平台的优点,通过更多的实现方法更灵活的处理,而不是其他系统那样封闭,导致了不越狱很多事情都无法做的尴尬问题,Android系统既保证了安全,又处理好了灵活的功能。
0 0
- Android OBB文件和StorageManager类
- OBB文件和StorageManager类使用介绍
- OBB文件和StorageManager类使用介绍
- OBB文件和StorageManager类使用介绍
- OBB文件和StorageManager类使用介绍
- OBB文件和StorageManager类使用介绍
- OBB文件和StorageManager类及.nomedia
- OBB文件和StorageManager类使用介绍
- Android OBB文件
- Android Obb文件
- obb和android版本问题
- Android StorageManager 存储设备管理
- obb扩展文件总结
- Unity Android OBB
- Android 存储设备管理 -- StorageManager
- Android 使用obb扩展App
- UE4引擎Android打包只生成apk而不需要obb文件
- Unity打包android的apk与数据包.obb分离和apk签名
- Effective C++ Item 22 将成员变量声明为private
- 网络编程(自定义浏览器-Tomcat服务器)
- [C/C++]函数调用栈和栈帧
- 省赛总结
- 黑马程序员—JAVA基础之String、StringBuffer
- Android OBB文件和StorageManager类
- 使用inlcude把一个布局插入到另一个布局中去
- 派生类的构造函数、对象的初始化
- 你为何需要iPhone6?
- TI C6000 优化 startup guide
- 如何编写更棒的代码:11个核心要点
- Android学习笔记 ContentProvider (转)
- XSS攻击汇总(转)
- 黑马程序员笔记——Java集合类