如果您的应用程序需要数据库并且它带有内置数据,那么运送该应用程序的最佳方式是什么?我是不是该:
预先创建SQLite数据库并将其包含在.apk?
在应用程序中包含SQL命令并让它创建数据库并在首次使用时插入数据?
我看到的缺点是:
可能的SQLite版本不匹配可能会导致问题,我目前不知道数据库应该去哪里以及如何访问它.
在设备上创建和填充数据库可能需要很长时间.
有什么建议?关于任何问题的文档的指针将不胜感激.
Android使用SQLite数据库来存储数据,我需要加密SQLite数据库,怎么做呢?我知道应用程序数据是私有的.但是,我需要明确加密我的应用程序正在使用的SQLite数据库.
我正在开发一个Android应用程序,在用户可以使用该应用程序之前,需要在该应用程序的数据库中填充几个条目(一个表,1000-10000行).我查看了一些教程,我不确定最好的方法.我是否应该每次启动应用程序时检查数据库是否存在,如果不存在,请创建它并插入我需要的数千条记录?或者有更好的方法来处理这个问题吗?理想情况下,它可以作为应用程序安装过程的一部分包含在内,但我不确定这是否可行.任何反馈将不胜感激.
我想我有一些基本的理解问题,所以也许有人能够提供帮助:-)
我正在使用Eclipse开发一个Android应用程序,这个应用程序将使用一个数据库(只能从数据库中读取).该数据库包含大约4,000个条目,即不能通过源代码创建和填充数据库.因此,我已事先创建了数据库及其所有记录.
但是,如何将此数据库文件"嵌入"到我的应用程序中然后访问它?数据库的文件大小约为500 kB.从远程服务器下载也不是一种选择,因为这是不允许的.
谢谢,罗伯特
我在手机上安装了一个Android应用程序,我在java上创建了自己的应用程序.该应用程序已成功安装在设备上,但我无法找到已安装的软件包.
如何找到已安装应用程序的路径?
spock-core:0.7-groovy-2.0
robospock:0.5.0
Android Studio 0.8.2
Fedora release 20 (Heisenbug)
Run Code Online (Sandbox Code Playgroud)
这是完整的解决方案.现在它成功编译并运行单元测试,目录结构与预览编辑相同.请随意评论任何看起来不正确的事情.
编辑解决方案=====
的build.gradle:
apply plugin: 'java'
apply plugin: 'groovy'
repositories {
mavenCentral()
maven {
// Location of Android SDK for compiling otherwise get this error:
/* Could not find com.android.support:support-v4:19.0.1.
Required by:
:testSQLite:unspecified > org.robospock:robospock:0.5.0 > org.robolectric:robolectric:2.3 */
url "/home/steve/local/android-studio/sdk/extras/android/m2repository/"
}
}
dependencies {
// just compile so we can use the sqlite API
compile 'com.google.android:android:4.1.1.4', {
// Do not bring in dependencies
transitive = false
}
testCompile 'org.codehaus.groovy:groovy:2.3.+'
testCompile 'org.spockframework:spock-core:0.7-groovy-2.0' …Run Code Online (Sandbox Code Playgroud) 我能够在我的Android应用程序中创建,编写和读取SQLite数据库.我有一个完全填充数据的数据库副本,我想将这些数据存入App的数据库.是否可以从我的应用程序内部访问我的填充数据库?或者我可以至少创建一个填充数据库的副本,然后使用该副本?或者我是否需要执行.dump并将所有插入内容放入Android代码中?
我想在我的应用程序中使用"预加载"数据库.这里有很多关于这个问题,最指向该博客文章点击这里或同类者.
到现在为止还挺好.我只是想知道是否有更好的方法来获取默认数据库目录,所以你不必使用这样的东西:
private static String DB_PATH = "/data/data/YOUR_PACKAGE/databases/";
Run Code Online (Sandbox Code Playgroud)
我的意思是,将来可能会改变,或者设备或ROM可能会将其放在其他地方......那么有没有办法以编程方式获取此路径?
在Context中存在一个getDatabasePath(name)的方法,但是你需要给它一个现有的db名称,而且......它还不存在,我想把它移到那里:P
我database用来存储一些data.但是当用户转到Apps Settings并按下'clear data'应用程序设置中的按钮时,数据库中的数据将被删除,以避免这种情况.我可以'clear data'在应用程序设置中将我的应用程序设为BUTTON,因为未启用或任何其他建议....
我在做一个使用sqlite数据库的应用程序我的应用程序中有一个功能,它有一个"更新数据库"按钮.
当用户单击"更新数据库"按钮时,我需要使用URL中的新db文件升级旧的db文件.
这该怎么做.研究告诉我,我们无法更改数据库,因为它在.apk文件中.对此有什么解决方案吗?请帮帮我.谢谢.
android ×10
sqlite ×7
database ×4
java ×2
encryption ×1
import ×1
installation ×1
path ×1
robospock ×1
storage ×1
unit-testing ×1