Articles of sqlite3

Android上的Sqlite:如何创build一个SQLite远程数据库函数 – 在应用程序中使用拉特,长距离计算

我们正在构build一个Android应用程序,该应用程序将使用用户当前位置(lat,long),并显示当前位置周围的前50个场地,按距离sorting。 我们有这些场地存储在一个SQLite数据库。 我们计划与应用程序一起提供的SQLite数据库。 为了只提取相关的前50名最近的场地,我们要定义一个db函数DIST(计算两点之间的距离),并在我们的查询中使用它。 我如何为Android应用程序定义一个自定义SQLite函数? 什么是Java API调用来做到这一点? 我们已经在我们的iPhone应用程序中成功实现了这个方法 – 使用Objective C.

Android SQLite的ORDER BY不起作用

我有一个非常基本的情况: 我有一个大约5k行的桌子: CREATE TABLE "words" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , "name" TEXT NOT NULL , "def" TEXT NOT NULL, "rand" INTEGER) 我定期更新使用“更新单词SET rand = random()” 在android中,当我使用下面的rawQuery()创build一个游标: SELECT w.id, w.name, w.def, w.rand FROM words w ORDER BY w.rand ASC; 返回的游标不会以正确的顺序迭代。 例如,它将按照以下顺序输出rand值的列: -1298882092 -2138143484 -1115732861 118839193 … 有谁知道这是怎么回事? 不应该这个工作? 如果我在SQLiteManager中运行完全相同的查询,它将以正确的顺序返回结果,所以这似乎是特定于android / cursor的。 更新: 这里是Android中的代码,我已经尝试了多种方式: […]

在SQlite android数据库中存储货币

我想在android中的sqlite数据库中存储货币值。 我不这么认为int会被用在这里。 我听说可以使用Bigdecimal 。 如果任何人都可以告诉我应该用来发送值到sqlite数据库的方式。

sqlite3_open_v2(“/ data / data / com.android.packagename / databases / dump.sqlite”,&handle,1,NULL)失败

我正在与sqlite数据库….应用程序工作在2.3及更高版本…当我试图在2.2中运行…我得到了一个像…. E/Database(2476):sqlite3_open_v2("/data/data/com.android.packagename/databases/dump.sqlite", &handle, 1, NULL) failed 数据库有一些问题。 当我试图在2.2运行我的应用程序。 我的logcat显示 E/Database(2476):sqlite3_open_v2("/data/data/com.android.canadaQbank/databases/dump.sqlite", &handle, 1, NULL) failed D/asset(2476): Data exceeds UNCOMPRESS_DATA_MAX (4594688 vs 1048576) D/AndroidRuntime(2476): Shutting down VM W/dalvikvm(2476): threadid=1: thread exiting with uncaught exception (group=0x4001d800) D/dalvikvm(2476): GC_FOR_MALLOC freed 6256 objects / 356848 bytes in 165ms E/AndroidRuntime(2476): FATAL EXCEPTION: main E/AndroidRuntime(2476): java.lang.Error: Error copying database E/AndroidRuntime(2476): at com.android.canadaQbank.DBAdapter.createDataBase(DBAdapter.java:83) […]

SQLite插入顺序与查询顺序?

查询返回的行的顺序是否与SQLite数据库中的表插入的顺序相同? 如果是,这种行为是否一致? 如果否,可以强制执行吗? 我有一个需要存储大约500行数据,并需要不时sorting/订购。 数据在插入前是正确的。

Android中外部存储上的SQLite性能不佳

我正在使用外部存储将事件存储在数据库中,等待发送到服务器。 插入logging时,我看到了非常糟糕的performance。 我知道外部存储器可能很慢,但我想看到一些数字,所以我写了一个小应用程序来testing它。 这里是代码: public static final int INSERTS = 100; File dbFile = new File(Environment.getExternalStorageDirectory(), "test.sqlite3"); // File dbFile = new File(getFilesDir(), "test.sqlite3"); dbFile.delete(); SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbFile, null); db.execSQL("CREATE TABLE events (_id integer primary key autoincrement, event_type TEXT NOT NULL, timestamp BIGINT, data TEXT);"); db.execSQL("CREATE INDEX mainIndex ON events (event_type, timestamp ASC);"); InsertHelper […]

Android退出sqlite shell

我在MacOSX的adbshell上使用sqllite3来查看我的应用程序数据库: #sqlite3 mydb.db SQLite version 3.5.9 Enter ".help" for instructions sqlite> quit …> .quit …> 在我错误地键入了上面的quit命令.quit ,例如,而不是.quit ,shell会进入…>提示符,其中没有任何已知的命令似乎工作。 我甚至不能通过CTRL + C,CTRL + /,ESC等出去 我必须APPLE + Q即退出terminal实例重新启动。 我知道这不完全是一个编程问题,但我写在这里真的很烦人。 有没有人知道如何在没有重新启动terminal的情况下恢复到terminal的稳定性?

在android上刷新和SQLite数据库

我有一个使用SQLite数据库的Android应用程序。 我在应用程序启动时打开数据库,但从不closures它,因为它在不断使用。 告诉数据库将其所有更改刷新到永久存储的最佳方式是什么? 我是否需要closures并重新打开,还是有更有效的方法? 我的问题是,在手机上testing时,经过多次写入后closures手机有时会导致数据库在应用程序重新启动时丢失最新的更新,这对于数据库系统来说显然是不可接受的。 由于我无法find如何捕捉应用程序closures事件,我不知道何时手动closures数据库。

从adb shell使用sqlite3时,光标键不起作用

当通过adb shell箭头键使用sqlite3,而不是移动光标到所需的位置或召唤历史设施,下面显示在屏幕上: ^[[A , ^[[B , ^[[C , ^[[D 我正在使用Mac OS X,并尝试过Terminal和iTermterminal仿真器。 有谁知道如何解决这个问题?

是否可以将内部数据库移动到SDCard?

随着我的应用程序数据库的增长,这将需要越来越多的内部电话空间。 数据库中没有任何敏感/隐私的数据,所以我有兴趣把它移到SD卡上。 我正在使用SQLiteOpenHelper来协助数据库工作。 这是我的理解,你不能使用这个在SD卡上的DB访问,因为你不能定义数据库path。 但是,互联网上有一些(非常差)的例子表明你可以覆盖这个限制。 然而,我从来没有得到这些代码示例之一编译。 可能吗? 如果是这样 – 怎么样! 请注意,Froyo的“SD卡上的应用程序”function将无法正常工作,因为它不会移动内部文件。