GVKun编程网logo

将SQLCipher与android附带的sqlite数据库文件一起使用

13

如果您对将SQLCipher与android附带的sqlite数据库文件一起使用感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解将SQLCipher与android附带的sqlite数据库文件一

如果您对将SQLCipher与android附带的sqlite数据库文件一起使用感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解将SQLCipher与android附带的sqlite数据库文件一起使用的各种细节,此外还有关于Android SQLite数据库(dictionary.db文件)与apk文件一起发布、android sqlite数据库文件放在哪里?、android – SQLite – 无法打开数据库文件、android – 将SQLite数据库发送到Web服务的实用技巧。

本文目录一览:

将SQLCipher与android附带的sqlite数据库文件一起使用

将SQLCipher与android附带的sqlite数据库文件一起使用

我在文件中重置了数据库assets文件。

如何SQLCipher在Android中使用加密数据库?

答案1

小编典典

这将有点复杂。由于SQLite和适用于Android的SQLCipher之间的数据库文件格式不同,并且由于您希望提供未加密的数据库,因此您必须做一些事情。

首先,我开始SQLiteAssetHelper将未加密的数据库交付给您的环境。

然后,使用适用于Android的标准SQLCipher创建一个空但已加密的数据库。

接下来,您将需要实现代码以将数据从打包但未加密的数据库中复制出来,然后将其插入到空白但未加密的数据库中。

完成所有操作后,您可以关闭并删除打包但未加密的数据库,而仅使用加密的数据库。

SQLiteAssetHelper某天,这可能会对进行有用的扩展…

Android SQLite数据库(dictionary.db文件)与apk文件一起发布

Android SQLite数据库(dictionary.db文件)与apk文件一起发布

SQLite数据库(dictionary.db文件)与apk文件一起发布:

可以将dictionary.db文件复制到Eclipse Android工程中的resaw目录中。所有在resaw目录中的文件不会被压缩,这样可以直接提取该目录中的文件。可以将dictionary.db文件复制到resaw目录中

android sqlite数据库文件放在哪里?

android sqlite数据库文件放在哪里?

在Android中,sqlite数据库文件默认是放在“主目录/android/data/应用的包名/cache”文件夹下。数据库文件一般都是被隐藏起来了,需要特定的文件浏览器,或者root过后才能看得到。

前段时间小编的朋友正在学习Android时,发现他找不到自己的sqlite数据库的文件在哪里了。这个可真难为了他一段时间,好在之后终于找到了,下面我将和大家说说sqlite在哪。

Android是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

sqlite是轻量级嵌入式数据库引擎,它支持 sql 语言,并且只利用很少的内存就有很好的性能。

Android 开发中使用 sqlite 数据库 Activites 可以通过 Content Provider 或者 Service 访问一个数据库。

默认是:主目录/android/data/应用的包名/cache。数据库文件一般都是被隐藏起来了,需要特定的文件浏览器,或者root过后才能看得到。

android – SQLite – 无法打开数据库文件

android – SQLite – 无法打开数据库文件

我正在编写一个Xamarin Android应用程序,并在尝试创建sqlite数据库时遇到错误.

这是我的代码:

string applicationFolderPath = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal),"CanFindLocation");
string databaseFileName = System.IO.Path.Combine(applicationFolderPath,"CanFindLocation.db");
sqlite.sqlite3.Config(sqlite.sqlite3.ConfigOption.Serialized);
var db = new sqliteConnection (databaseFileName);

这是我得到的错误:

sqlite.sqliteException: Could not open database file: /data/data/com.xamarin.docs.android.mapsandlocationdemo2/files/CanFindLocation/CanFindLocation.db (CannotOpen)

我有相同的代码在另一个Xamarin应用程序中工作,并想知道该异常是否与包的名称有关?

提前致谢

解决方法

您提供给sqlite的路径文件夹路径是否存在?如果尚未创建CanFindLocation文件夹,则打开与该路径的连接将失败.

尝试:

string applicationFolderPath = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal),"CanFindLocation");

// Create the folder path.
System.IO.Directory.CreateDirectory(applicationFolderPath);

string databaseFileName = System.IO.Path.Combine(applicationFolderPath,"CanFindLocation.db");
sqlite.sqlite3.Config(sqlite.sqlite3.ConfigOption.Serialized);
var db = new sqliteConnection (databaseFileName);

android – 将SQLite数据库发送到Web服务

android – 将SQLite数据库发送到Web服务

我有一个 Android应用程序,它填充了许多纬度和经度的sqlite数据库.然后我需要将数据存储在外部sql Server数据库中.我遇到的问题是将该文件发送到Web服务.我找不到任何关于类应该如何看待db文件并将其存储在单独的sql Server数据库中的示例.这甚至是我应该接近我的问题的方式吗?

解决方法

更好的方法是通过Web服务将实际的lat / long数据发送到db,而不是自己发送整个db文件.

这样做可以完成几件事:

>实施起来应该简单得多
>您不需要在服务器端支持sqlite,只需要支持客户端
>数据“设置”将立即可用于查询 – 而不是在可以使用之前需要从sqlite db文件中提取

编辑:您上传的频率和数量完全取决于您.您可以将其设置为用户激活或在某个时间间隔内以批量方式或一次一个上传最新数据,直到您更新为止.在任何一种情况下,您都可以使用时间戳跟踪需要上传的数据.

转移“批量”的一种简单方法是从sqlite数据库中提取需要保存的数据,并将其放入JSON或XML对象中,该对象将在服务器上解释为lat / long数据的集合.这会将整个上传放入单个Web服务调用,而不必循环遍历“最新”记录并为每个项目调用Web服务.

今天关于将SQLCipher与android附带的sqlite数据库文件一起使用的介绍到此结束,谢谢您的阅读,有关Android SQLite数据库(dictionary.db文件)与apk文件一起发布、android sqlite数据库文件放在哪里?、android – SQLite – 无法打开数据库文件、android – 将SQLite数据库发送到Web服务等更多相关知识的信息可以在本站进行查询。

本文标签: