Android中Assets使用示例
2017-02-22 09:08
351 查看
Android资源系统(resources system)可以用来打包应用所需的图片、XML文件以及其它非Java资源。
除去资源系统外,Android还支持另一种资源打包方式,即assets。
assets可以看作是随应用打包的微型文件系统,支持任意层次的文件目录结构。
利用Android Studio创建assets目录的方式是:
在app模块选择New->Folder->Assets菜单项,将出现下图画面:
点击finish后,可以看到Apk中出现了新的资源目录assets:
此时,我们就可以在assets目录下创建自己需要的目录。
如果需要获取assets目录下的文件,需要利用到AssetManager,代码示例如下:
知道文件的路径名后,可以利用AssetManager打开文件,例如:
此外,利用AssetManager也可以得到文件描述符,如下:
除去资源系统外,Android还支持另一种资源打包方式,即assets。
assets可以看作是随应用打包的微型文件系统,支持任意层次的文件目录结构。
利用Android Studio创建assets目录的方式是:
在app模块选择New->Folder->Assets菜单项,将出现下图画面:
点击finish后,可以看到Apk中出现了新的资源目录assets:
此时,我们就可以在assets目录下创建自己需要的目录。
如果需要获取assets目录下的文件,需要利用到AssetManager,代码示例如下:
......... //assets下的资源目录名称 private static final String SOUNDS_FOLDER = "sample_sounds"; public BeatBox(Context context) { //利用context的接口得到AssetManager mAssetManager = context.getAssets(); loadSounds(); } private void loadSounds() { String[] soundNames = null; try { //利用list接口,得到资源目录下所有的文件名 soundNames = mAssetManager.list(SOUNDS_FOLDER); } catch (IOException ioe) { Log.e(TAG, "Could not list assets", ioe); } if (soundNames != null) { for (String filename : soundNames) { //SOUNDS_FOLDER + "/" + fileName得到基于assets文件系统的路径名 mSounds.add(new Sound(SOUNDS_FOLDER + "/" + filename)); } } } ......
知道文件的路径名后,可以利用AssetManager打开文件,例如:
........... try { .......... InputStream soundData = mAssetManager.open(assetPath); ........... } catch (IOException ioe) { .......... } ..........
此外,利用AssetManager也可以得到文件描述符,如下:
........... try { ........... AssetFileDescriptor assetFd = mAssetManager.openFd(assetPath); FileDescriptor fd = assetFd.getFileDescriptor(); ........... } catch (IOException ioe) { ........... } ...........
相关文章推荐
- Android 使用 aidl 文件创建服务示例
- android 使用vcard示例
- android Paint和Color类介绍 使用示例
- android Paint和Color类介绍 使用示例
- android JNI的使用示例详解
- Android 2d物理引擎Box2d的使用示例
- Android Audio代码分析1 - AudioTrack使用示例
- Android中资源文件夹res/raw和assets的使用
- Android中资源文件夹res/raw和assets的使用(续)——分割文件以及合并文件
- Android 使用 aidl 文件创建服务示例
- android 使用vcard示例
- Android 下使用 JSON 实现 HTTP 请求,外加几个示例!
- android LayoutInflater 使用示例
- Android 下使用 JSON 实现 HTTP 请求,外加几个示例!
- Android中资源文件夹res/raw和assets的使用
- Android 2d物理引擎Box2d的使用示例
- Android Services使用示例
- android播放器音量控制-使用震动示例代码-进度条控制音量
- Android 使用Loader示例
- Android中资源文件夹res/raw和assets的使用