打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CSDN 论坛
ynduanlian09-27 08:51
等级
10次回复

一个应用,有几千条纪录,想在应用中用SQLite,但不知要怎么做,请指点一下?

一个应用,有几千条纪录,想在应用中用SQLite,但应用本身基本是查询,所以想在开发环境中就把数据导入数据库中,然后在Android应用中带上这个数据库文件,并使用查询功能。
请问:在Windows开发环境要安装什么软件才能使用SQLite?该怎么做呢?

zhuxr200309-27 09:25
等级
1楼

我现在已经做了一个软件,用sqlite数据库,有9000多条数据,在手机本地做模糊查询。
具体做法是先用sqliteadmin建好数据库,并把数据导入。因为汉字查询问题,需要先把数据库文件在手机里做1次转码。全部操作步骤就这么多。

ynduanlian09-27 09:46
等级
2楼

您好,我从来没用过SQLite,请问在Window上要先安装什么软件吗?

tf11001209-27 09:54
等级
3楼

引用 2 楼  的回复:
您好,我从来没用过SQLite,请问在Window上要先安装什么软件吗?

装一个火狐浏览器,它有sqlitemanager插件,装上就是,很好用,还不用对中文进行转码~

dong356009-27 10:18
等级
4楼

当时我的应用需要包含中国全部地区名称的数据,就是用的sqlitemanager,这个也有.exe版的

创建好以后导出.db文件导入到应用就可以了

ynduanlian09-27 13:40
等级
5楼

引用 4 楼  的回复:
当时我的应用需要包含中国全部地区名称的数据,就是用的sqlitemanager,这个也有.exe版的

创建好以后导出.db文件导入到应用就可以了

您好,我想请教一下,我从CSV文件中导入数据并建立了一个表,创建的数据名称是data.sqlite,
是不是直接把这个data.sqlite文件直接打包进Android应用中就可以用了?

j6706509-27 17:09
等级
6楼

安装Eclipse平台和JDK包加ADT插件就可以了,SQLite是android内置的一个很小的关系型数据库。 
不需要另外下载,本身就内嵌有SQLite,至于相关的用法Google一下就有很多

ynduanlian09-28 13:22
等级
7楼

引用 3 楼  的回复:
引用 2 楼 的回复:
您好,我从来没用过SQLite,请问在Window上要先安装什么软件吗?

装一个火狐浏览器,它有sqlitemanager插件,装上就是,很好用,还不用对中文进行转码~


我用firefox建了一个数据库,data.sqlite,导入了数据,请问现在我要在Android中用这些数据,我把文件直接拷到了Android Project 的RES目录下,结果现在项目报错,不能运行,请问要怎么用这个数据库文件啊?

tf11001209-28 13:29
等级
8楼

引用 7 楼  的回复:
引用 3 楼 的回复:
引用 2 楼 的回复:
您好,我从来没用过SQLite,请问在Window上要先安装什么软件吗?

装一个火狐浏览器,它有sqlitemanager插件,装上就是,很好用,还不用对中文进行转码~


我用firefox建了一个数据库,data.sqlite,导入了数据,请问现在我要在Android中用这些数据,我把文件直接拷到了Android Project ……

要将文件导入到项目指定目录中,才能用android的数据库管理类来操作,不能直接拷贝进去的

tf11001209-28 13:49
等级
9楼


    /**打开数据库连接,如果数据库不存在,则从资源文件夹下的raw文件夹导入库
     * 
     * @param dbfile  系统存储数据库的路径
     * 
     * */
    private SQLiteDatabase openDatabase(String dbfile) throws Exception{
        try {
         File file = new File(DB_PATH);
         if(!file.exists()){
         file.mkdir();
         }
            if (!(new File(dbfile).exists())) { //判断数据库文件是否存在,若不存

在则执行导入,否则直接打开数据库
             Log.v(TAG, '从资源文件中导入数据库文件');
                InputStream is = this.context.getResources().openRawResource(
                        R.raw.database); //欲导入的数据库
                FileOutputStream fos = new FileOutputStream(dbfile);
                byte[] buffer = new byte[BUFFER_SIZE];
                int count = 0;
                while ((count = is.read(buffer)) > 0) {
                    fos.write(buffer, 0, count);
                }
                fos.close();
                is.close();
            }
            SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase

(dbfile,null);
            return db;
        } catch (FileNotFoundException e) {
         Log.e(TAG, '导入数据失败:'+e.getMessage());
            throw e;
        } catch (IOException e) {
         Log.e(TAG, '导入数据失败:'+e.getMessage());
         throw e;
        }
    }

DB_PATH是android保存应用的数据库文件的目录,是固定的/data/data/应用完整包

名/databases/,
dbfile这个参数,就是DB_PATH + 数据库名称。
    另外,这个方法写的不是很好,只能把数据库名称命名为database.db,并放在res/raw

目录下才能成功导入,如果不想放到这个目录下,lz可以自己修改以上方法~原理很简单,

就是把res/raw/database文件复制到DB_PATH目录下而已。
    还有火狐创建的sqlite数据库是以.sqlite为后缀 ,最好改成.db,以前我直接导

入.sqlite文件,好像出错了,名字改了就OK

说了一堆,希望能解决你的问题,另外,lz能不能分享下你是如何把excel工作表中的数据导入到data.sqlite中的呢,嘿嘿

ynduanlian09-28 13:57
等级
10楼

我就是另存为.csv文件,然后用sqlitemanager插件Import数据啊

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Create database语句 MySQL DBA周末学习
在ORACLE中移动数据库文件 大全
oracle11g新特性-自动存储管理
RMAN 初学者指南
oracle 数据库创建
Oracle的数据库的数据备份与恢复
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服