Articles of sqlite3

SQLite3 FTS4,MATCH和Android

是否在Android版本中启用了SQLite3 FTS4?

Android sqlite并发无exception

Android上的Sqlite允许您从多个proc中访问数据库进行读取,但是如果您当前正在从一个进程写入,则从其他进程读取和写入将引发exception,因为第一次写入对db有锁定。 通过“procs”我指的是同一个应用程序中的其他线程。 有没有一种标准的方法让其他线程只是等到数据库再次可用,可能是指定的超时,而不是抛出exception? 预见到“你为什么这样做?” 答案,它就是我们这样做的方式,就是这样。 我们也不打算使用内容提供商。 只想要一种同步数据库访问的方法。 假设没有标准的方法,我们可能会围绕db调用编写一个包装器来进行一些线程同步。

Android SQLite错误“请求包含表名的列名”

运行表单的SQL查询后: SELECT table_name.column_name FROM table_name,table_name2,etc… WHERE condition1,condition2,etc…, 我收到以下错误,但没有关闭我的程序: 请求具有表名的列名 – table_name.column_name 谷歌搜索这个错误短语导致我到android.database.sqlite.SQLiteCursor线314 在314行以上的几行有一条评论,这段代码是对错误903852的回应。但我似乎无法在谷歌上find这个错误。 所以这是一个两部分的问题: 用SQL在SQL中命名列名是不对的? (我觉得这是最好的做法) 如何findAndroid错误报告903852以便我能够理解问题所在? (谷歌搜索Android错误903852不起作用)

sqlite3权限被拒绝android

我正在尝试访问我正在我的Nexus上直接开发的应用程序的数据库,但是当我尝试执行“sqlite3”命令时,我得到了“权限被拒绝”。 我也尝试在root mod中启动adb,但是再一次,设备上的权限被拒绝了…我想我将不得不用模拟器做到这一点但是我有很多数据要加载它会快10倍Wifi上的手机比模拟器…除非有人有任何想法? 谢谢

从Eclipse检查android sql数据库

有没有办法通过Eclipse直接检查Android中的SQLite3数据库,还是我必须通过shell执行此操作?

外键约束ON DELETE CASCADE在android上的sqlite数据库中不起作用

我有“天”表创建如下 “create table days(” + “day_id integer primary key autoincrement, ” + “conference_id integer , ” + “day_date text, ” + “day_start_time text, ” + “day_end_time text, ” + “day_summary text, ” + “day_description text)”; 我有如下创建的轨道表 CREATE_TABLE_TRACK = “create table track(” + “track_id integer primary key autoincrement,” + “day_id integer,”+ “track_name text,” + “track_description text,” […]

如何从adb shell安装或访问sqlite3

我需要一种方法来安装或以某种方式访问​​adb shell中的sqlite3。 我根植了我的设备。 我试图find一个答案但是关闭的我可以来的是: 当我尝试使用adb shell打开数据库时,为什么我在root用户的Nexus One上出现“sqlite3:not found”错误? 但我不认为在Linux系统上推送我的Windows sqlite3.exe是个好主意? 那么有可能以某种方式安装sqlite3终端浏览器吗? [解] 从不同的评论和一些在#android-dev(irc)周围询问,我find了一个解决方案。 首先,我将数据库文件复制到我的桌面。 但拳头我不得不安装BusyBox,因为不包括cp?!? 在那之后,我遇到了一个问题,除了/ sdcard /之外,我无法从任何地方拉或推。 然后我可以使用/ sdcard /作为“中间站”并拉/推我的数据库。 然后我筋疲力尽! 我真的不得不让我的sqlite终端探索。 然后我有了启动模拟器从/ system / xbin / sqlite3中拉出sqlite二进制文件的想法。 然后使用rw重新安装/系统: # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system 并将sqlite推送到/ sdcard /,并从那里将其复制到/ system / xbin / 现在它起作用了:D

在多个Android活动之间共享sqlite数据库

两个或多个Android活动可以打开一个sqlite3数据库进行写入吗? 我有两个活动需要将数据插入到同一个sqlite数据库中。 当第二个Activity调用SQLiteOpenHelper.getWriteableDatabase() ,抛出IllegalStateException,并显示消息“已创建SQLiteDatabase且从未关闭 ”。 我已经能够通过使我的数据库对象成为单例来避免exception,但我认为必须有更好的方法。 谢谢, 约翰

Android:光标窗口已满

W / CursorWindow(15677):窗口已满:请求分配2195889字节,可用空间2096720字节,窗口大小2097152字节 我知道有app内存可用: D / dalvikvm(15677):GC_FOR_ALLOC释放9K,30%免费17050K / 24291K,暂停45ms 因此,当将blob读入byte[]时,它纯粹与光标大小窗口有关。 我使用内置方法从游标中读取blob。 try { c = rdb.query(“Photos”, new String[]{“photo”}, “id = ?”, new String[]{“”+photoID}, null, null, null); if(c.moveToFirst()) { byte[] tArray = c.getBlob(c.getColumnIndex(“photo”)); // THIS LINE ERRORS } }catch(Exception e) { e.printStackTrace(); } c.close(); return tArray; 有没有解决的办法? 窗口大小似乎限制为2097152字节。

如何在sqlite3中获取包含查询数据的列名?

我在Android中执行时使用sqlite3控制台调试我的应用程序。 有没有办法用sql查询结果中的数据显示列名(不仅仅是数据)?