Android 读取assets的数据库文件
是先把assets目录中的数据库文件拷贝到app的相应目录中,然后再对这个数据库文件进行读写。
public class DBManger {
public static final String DB_NAME = "festival.db";//数据库
public static final String PACKAGE_NAME = "com.example.viewpager_homework2";
// 在手机存放数据库的位置
public final String DB_PATH = "/data"
+ Environment.getDataDirectory().getAbsolutePath() + "/"
+ PACKAGE_NAME + "/" + DB_NAME; // 在手机里存放数据库的位置
private SQLiteDatabase database;
private Context context;
public DBManger(Context context) {
super();
this.context = context;
}
public void openDatabase() {
this.database = this.openDatabase(DB_PATH);
}
public Cursor infor(String string){
SQLiteDatabase db = this.openDatabase(DB_PATH);
return db.rawQuery("select * from smstb where fes_id = "+string, null);
}
private SQLiteDatabase openDatabase(String dbfile) {
try {
// 判断数据库文件是否存在,若不存在则执行导入,否则直接打开数据库
if (!(new File(dbfile).exists())) {
Log.i("info", "qq");
InputStream is = this.context.getResources().getAssets()
.open("festival.db"); // 欲导入的数据库
// InputStream is = this.context.getResources().openRawResource(
// R.raw.);
Log.i("info", "qq1");
FileOutputStream fos = new FileOutputStream(dbfile);
byte[] buffer = new byte[1024];
int count = 0;
Log.i("info", "qq2");
while ((count = is.read(buffer)) != -1) {
fos.write(buffer, 0, count);
Log.i("info", buffer.length + "");
fos.flush();
}
fos.close();
is.close();
}
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
return db;
} catch (FileNotFoundException e) {
Log.e("Database", "File not found");
e.printStackTrace();
} catch (IOException e) {
Log.e("Database", "IO exception");
e.printStackTrace();
}
return null;
}
public void closeDatabase() {
this.database.close();
}
}
————————————————
版权声明:本文为CSDN博主「心忘则忘」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/nkdwslsd/article/details/52643278
资源分为两种:
第一种:res目录下的资源(该资源不会被编译,但是会生成id)
第二种:Assets文件夹下的资源文件,又叫原始资源文件(不会被编译,也不会生成id)
如何创建Assest文件夹
可以直接把资源复制粘贴到该文件夹下
实现访问Assets文件夹里面的资源:
一,获取Assets文件夹的管理类
二,便利文件夹下的资源列表:
三,Assets的绝对路径
四.获取Assets文件夹的文本
五,获取Assets文件夹下的网页(红方框里面放的是网页名称)
效果展示:
点击按钮:
这个就是刚才的double.xml
六,获取Assets文件夹下的图片
效果展示:
点击按钮:哈哈哈哈嗝~
七,获取Assets文件夹下的音频
————————————————
版权声明:本文为CSDN博主「LIXIAONA_1101」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LIXIAONA_1101/article/details/80695928