概述
Android项目在编译时,Assets下文件不被编译。
Assets下的文件除了 html文件可以直接在项目中使用外,其他的文件都需要做处理滴。
在项目中使用方法:使用流读取。
AssetManager manager = getAssets();
InputStream open = manager.open("logo.png");
注意:某些经常使用的文件(比如数据库a.db),可以在项目初始化时将其copy到手机中存储。示例见下边2//示例一 Get the AssetManager
AssetManager manager = getAssets();
// read a Bitmap from Assets
InputStream open = null;
try {
open = manager.open("logo.png");
Bitmap bitmap = BitmapFactory.decodeStream(open);
// Assign the bitmap to an ImageView in this layout
ImageView view = (ImageView) findViewById(R.id.imageView1);
view.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (open != null) {
try {
open.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
实例二
/**
* 拷贝assets中的电话归属地数据库文件
*/
private void copyAddrDB() {
File file = new File(getFilesDir(), "address.db");
if (file.exists()) {
Log.i("log:SplashActivity", "数据库已经存在,不需要拷贝。。。");
} else {
Log.i("log:SplashActivity", "开始拷贝了。。。。");
// 拷贝
try {
InputStream is = getAssets().open("address.db"); // 获取数据库库文件输入流
FileOutputStream fos = new FileOutputStream(file); // 定义输出流
byte[] bt = new byte[8192];
int len = -1;
while((len = is.read(bt)) != -1){
fos.write(bt, 0, len);
}
is.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
转载请标明:大飞_Rflyee: http://blog.csdn.net/rflyee/article/details/17341669
最后
以上就是调皮刺猬为你收集整理的Android项目使用Assets下的文件的全部内容,希望文章能够帮你解决Android项目使用Assets下的文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复