Android开发之assets文件夹中资源的获取
assets中的文件都是保持原始的文件格式,需要使用AssetManager以字节流的形式读取出来
步骤:
- 1. 先在Activity里面调用getAssets() 来获取AssetManager引用。
- 2. 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStream。
- 3. 然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close() 。
- 4.调用AssetManager.close() 关闭AssetManager。
需要注意的是,来自assets 中的文件只可以读取而不能进行写的操作
代码:
private void copyDataBase(String baseName) {
OutputStream outputStream = null;
InputStream inputStream = null;
File file = new File(getFilesDir(), baseName);
if ( file.exists() ) {
return;
}
try {
outputStream = new FileOutputStream(file);
inputStream = getAssets().open(baseName);
int len;
byte[] buffer = new byte[1024];
while ( (len = inputStream.read(buffer)) != -1 ) {
outputStream.write(buffer, 0, len);
}
} catch ( IOException e ) {
e.printStackTrace();
} finally {
try {
inputStream.close();
outputStream.close();
} catch ( Exception e ) {
e.printStackTrace();
}
}
}
Android开发之assets文件夹中资源的获取的更多相关文章
- 从加载DLL的中获取放置于Resources文件夹中资源字典的几种方法
原文:从加载DLL的中获取放置于Resources文件夹中资源字典的几种方法 主程序 为 Main_Test.exe 被加载的DLL 为 Load_Test.dll 此DLL 中 有一个 文件夹Re ...
- [置顶] Android开发之XML文件的解析
Android系统开发之XML文件的解析 我们知道Http在网络传输中的数据组织方式有三种分别为:XML方式.HTML方式.JSON方式.其中XML为可扩展标记语言,如下: <?xml vers ...
- Android studio 添加assets文件夹
我们知道Eclipse创建的工程默认是有个assets文件夹的,但是Android studio默认没有帮我们创建,那么我们就自己创建一个就好啦. (1)手动创建 在项目的顶部有个下拉,默认选择的是A ...
- Android Studio添加assets文件夹
Step #1:调出项目结构管理区域 View->Tool Windows->Project Step #2:结构管理区域选择“Project” Step #3:新建"asset ...
- Android开发之assets目录下资源使用总结
预前知识: Android资源文件分类: Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.Java里面自动生成该资源文件的ID,所以访问 ...
- Android中读取assets文件夹中的子文件夹内容
文件结构如下:assets/info/info AssetManager am = this.getResources().getAssets(); InputStream input = null; ...
- Android开发之R文件丢失
在进行android开发的过程中,不知道怎么回事,代码中出现R代码有红色波浪线了,于是进行了clean,结果还是有红色波浪线,然后就重启了eclipse,重启以后还是这个样子,随后发现工程的R文件丢失 ...
- 获得assets文件夹中文件内容
/** * @param fileName * @return assets中文件的字符串 */ public String getFromAssets(Context context, String ...
- Android开发之httpclient文件上传实现
文件上传可能是一个比較耗时的操作,假设为上传操作带上进度提示则能够更好的提高用户体验,最后效果例如以下图: 项目源代码:http://download.csdn.net/detail/shinay/4 ...
随机推荐
- input 标签的监听事件总结
最近在写一个手机端提交表单的项目,里面用了不少input标签,因为项目不太忙,所以,想做的完美点,但是遇到了一些问题,比如:页面中的必填项如果有至少一项为空,提交按钮就是不能提交的状态,所以需要对所有 ...
- DBA应该知道的一些SQL Server跟踪标记
跟踪标记是什么? 对于DBA来说,掌握Trace Flag是一个成为SQL Server高手的必要条件之一,在大多数情况下,Trace Flag只是一个剑走偏锋的奇招,不必要,但在很多情况下,会使用这 ...
- 微软职位内部推荐-Android Developer
微软近期Open的职位: Position: SDE II or Senior SDE -- Mobile Products Android/WP Contact Person: Winnie Wei ...
- SkyDrive Pro client now available as standalone download. Hurray!
SkyDrive Pro client now available as standalone download. Hurray! by Todd O. Klindt on 5/21/2013 1 ...
- iOS 10 版本适配问题收集-b
随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出. 1.系统判断方法失效: 在你的项目中,当需要判断系统版本的话,不要使 ...
- javascript_22_for_js控制div每五个换一行
2. 3. css: <style type="text/css"> div{height: 50px; width: 50px; background: #f1161 ...
- GetSurfaceLevel
if( SUCCEEDED( g_pTexture->GetSurfaceLevel( 0, &pSurface) ) ) { pd3dDevice->Se ...
- MonoBehaviour.StopCoroutine
MonoBehaviour.StopCoroutine Description Stops all coroutines named methodName running on this behavi ...
- 漫谈CGI FastCGI WSGI
作者:auxten链接:https://zhuanlan.zhihu.com/p/20054757来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. CGI(Common ...
- POJ 1781
#include <iostream> #include <string> #include <cmath> using namespace std; unsign ...