如何将带数据的SQLite数据与apk程序一起发布

如何将带数据的SQLite数据与apk程序一起发布,第1张

任何文件(包括SQLite数据文件)与apk程序一起发布都必须将该文件嵌入到apk文件中。对于SQLite数据库来说,安卓的程序不能打开和 *** 作嵌入在apk程序中的数据库文件。因此,需要想办法在程序第一次启动时就将SQLite数据库复制到手机内存或者SD卡上,然后才能再来 *** 作SQLite数据库。

这里我把数据库文件复制到应用程序的assets或res/raw目录中,因为只有这两个目中中的资源文件才不会被编译,在应用程序第一次启动时应该使用下面的代码将数据库复制到手机内存或sd卡上,然后在 *** 作数据库。下面是代码:

[java] view plain copy

String databaseFileName = "/sdcard/testdb";

//当testdb不存在时,将res/raw目录中的数据库文件赋值到SD卡的目录中

if (!(new File(databaseFileName)exists())) {

//在res/raw目录中存在testdb文件

InputStream is = getResources()openRawResource(Rrawtest);

FileOutputStream fos = new FileOutputStream(databaseFileName);

byte[] buffer = new byte[4096];

int count = 0;

while ((count = isread(buffer))> 0 ) {

foswrite(buffer,0,count);

}

fosclose();

isclose();

}

//打开数据库

SQLiteDatabase database = SQLiteDatabaseopenOrCreateDatabase(databaseFileName, null);

//获取到数据库之后,下面就可以进行数据库的 *** 作了

原因:数据库服务开着就是在用,所以你不能复制。 方法:1、停了数据库的服务,复制数据库文件; 2、备份数据库,然后复制备份文件还原。 3、分离数据库后,复制到其他位置,附加即可。

1、打开程序后,可以看到程序左边的“数据库列表”。展开可以查看到所有打开过的数据库。

2、 点击一个db文件,把这个db直接拖拉进程序窗口。

3、显示“注册数据库”,点击确定,这样就可以用 SQLiteDeveloper管理这个db文件了。

4、 展开左边数据库列表,找到刚才注册的db文件。点击右键菜单的打开数据库。

5、打开数据库后可以看到这个db文件中有很多的数据表,选择其中一个,右键点击查询数据。则可以查看这个表的数据内容。

6、 数据库看完后记得关闭数据库。否则这个db文件公被程序占用不能移动与删除。

这个实际上跟用什么数据库没有关系,只要使用mfc提供的接口方法进行保存就行了。

你的数据库只是用来保存数据的,把数据查询到内存后,利用第三方库EPPlus实现数据保存到excel

可用sql语句。

SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行。

语法:

INSERT INTO 语句有两种基本语法,如下所示:

1

2

INSERT INTO TABLE_NAME (column1, column2, column3,columnN)]

VALUES (value1, value2, value3,valueN);

在这里,column1, column2,columnN 是要插入数据的表中的列的名称。

如果要为表中的所有列添加值,您也可以不需要在 SQLite 查询中指定列名称。但要确保值的顺序与列在表中的顺序一致。SQLite 的 INSERT INTO 语法如下:

1

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,valueN);

只要将SQLite数据库和APK一起打包成一个压缩文件,就可以一起发布了,不过SQLite数据库需要安装服务器软件,添加数据库才能使用,一般的客户端并不会去安装的。手机上也不能安装SQL服务。

方法1:在ACCESS中按EXCEL列数建表,然后在EXCEL中复制,在ACCESS中粘贴;

方法2:在ACCESS菜单中点击 文件--获取外部数据--导入,文件类型选择EXCEL,确定文件后按向导提示完成;

方法3:与方法2近似,在EXCEL中点击 文件--另存为,文件类型选择“txt”或者“csv”以存为文本文件,之后在ACCESS中按方法2导入,只是更换导入的文件类型;

方法4:与方法2近似,在ACCESS菜单中点击 文件--获取外部数据--链接表,文件类型选择EXCEL,确定文件后按向导提示完成,链接表中数据会随源EXCEL文件中数据的更新而自动更新;

方法5:其他的专用数据导入工具,如SQLSERVER自带的DTSWIZexe等,按向导提示一步步 *** 作,基本都可完成。

解决方法:

添加事务处理,把5000条插入作为一个事务

dataBasebeginTransaction(); //手动设置开始事务

//数据插入 *** 作循环

dataBasesetTransactionSuccessful(); //设置事务处理成功,不设置会自动回滚不提交

dataBaseendTransaction(); //处理完成

将数据库「倒出来」:

sqlite3 filmdb "dump" > outputsql

利用输出的资料,建立一个一模一样的数据库(加上以上指令,就是标准的SQL数据库

备份了):

sqlite3 filmdb < outputsql

在大量插入资料时,你可能会需要先打这个指令:

begin;

插入完资料后要记得打这个指令,资料才会写进数据库中:

commit;

以上就是关于如何将带数据的SQLite数据与apk程序一起发布全部的内容,包括:如何将带数据的SQLite数据与apk程序一起发布、sqlite3怎样将A数据库表复制到另一个数据库、sqlite数据库怎么打开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9507086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存