码迷,mamicode.com
首页 > 移动开发 > 详细

android把数据库伪装成so文件

时间:2015-04-17 20:30:47      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

经常我们需要使用一些事先做好内容的数据库,比如字典等, 这就要加载已有的数据库文件,通常把它们放在assets 或者raw中,在程序运行时copy到程序内部空间,

但是这样有个缺点,当文件较大时会占用较长的时间,用户难免会有点小着急。

我们可以这样HACK来把copy的环节省去:

1 把数据库文件(如MYDB.db) 放到PROJECT/libs/armeabi/ 改名为libMYDB.db.so(注意前面必需加”lib")。

2 用这样的方式打开:

DATABASE_PATH = "/data/data/" + packageName + "/lib/";
        
SQLiteDatabase db = SQLiteDatabase.openDatabase(DATABASE_PATH + libMYDB.db.so, null, SQLiteDatabase.OPEN_READONLY | SQLiteDatabase.NO_LOCALIZED_COLLATORS);
      

----------------------------------------------------

// 注意路径
    private String DATABASE_PATH = "/data/data/" + "com.cjoan.www.xiaohua" + "/lib/";
    private SQLiteDatabase stuDb;
// 数据库加载
        stuDb = SQLiteDatabase.openDatabase(DATABASE_PATH + "libxiaohua.db.so", null,
                SQLiteDatabase.OPEN_READONLY | SQLiteDatabase.NO_LOCALIZED_COLLATORS);


        Cursor rawQuery = stuDb.rawQuery("select * from article where id=?", new String[] { "1" });
        System.out.println(rawQuery.moveToFirst());
        if (rawQuery.moveToFirst())
            String title = rawQuery.getString(1);

 

android把数据库伪装成so文件

标签:

原文地址:http://www.cnblogs.com/spadd/p/4435786.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!