Articles of SQLite

资产文件夹中的数据库文件。 它会被更新吗?

我是Android SQLite的新手。 这就是我所拥有的: 我的assets文件夹中有db.sqlite 。 db的意图是READ ONLY。 用户不会写信给它。 当应用程序更新时, db.sqlite将被替换为新的数据库(我将从项目中删除旧文件并添加新文件)。 我关心的是: 旧的db文件会被删除吗? (这就是我想要的;用新的替换旧的) 为什么这么问? 因为当我调试我的应用程序时,每次更新db文件时,我都需要从设备上卸载应用程序以强制进行更新。 用户在从Play商店更新我的应用程序时是否需要执行相同的操作? 我很害怕。 这会受到我实现onCreate(SQLiteDatabase)和onUpgrade(SQLiteDatabase,int,int)的影响吗? 如果是,那么实施它们以满足我的要求的正确方法是什么? 这是我扩展SQLiteOpenHelper类的方法。 我按照我在互联网上find的教程: import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; public class DataBaseHelper extends SQLiteOpenHelper{ //The Android’s default system path of your […]

Eclipse中是否有SQLite数据库查看器工具?

我正在使用Eclipse进行Android编程。 是否有用于在模拟器中查看SQLite数据库的工具?

如何在Android SQLite数据库上制作AUTO_INCREMENT?

嘿我想创建一个带有AUTO_INCREMENT列的数据库。 但我不知道如何解析方法插入中的值。 我只是不知道要解析一个AUTO_INCREMENT参数,我解析了1应该是auto_increment,但我知道它不是我应该解析的。 这是CallDatHelper.java类,我在其中声明方法insert和创建数据库的方法。 package com.psyhclo; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteStatement; import android.util.Log; import java.util.ArrayList; import java.util.List; public class CallDataHelper { private static final String DATABASE_NAME = “calls.db”; private static final int DATABASE_VERSION = 1; private static final String TABLE_NAME = “contact_data”; private Context context; private SQLiteDatabase db; public CallDataHelper(Context […]

在Android中的SQLite数据库中保存ArrayList

我一直在Android上使用SQLite,我想在表中的列中添加一个arraylist,然后将数据作为arraylist获取。 arraylist是Longs的列表。 我注意到SQL有一个存储BLOBS的选项,但是看起来我需要首先将arraylist转换为byte []然后才能将它作为blob存储在我的SQLite数据库中。 如果有人有关于如何将arraylists保存到SQLite数据库的解决方案,将非常感激。 或者是否有任何其他选项来保存我的数据数组,我应该考虑?

Android:批量插入,不推荐使用InsertHelper时

有很多答案和教程使用InsertHelper在SQLiteDatabase中进行快速批量插入。 但是从API 17开始,不推荐使用InsertHelper 。 什么是在Android SQLite中批量插入大量数据的最快方法? 到目前为止,我最担心的是SQLiteStatement使用起来不太舒服,其中InsertHelper具有绑定列和绑定值,这有点微不足道。

在SQLite中使用AND和OR

我想使用rawQuery(query,arg)从android中的SQLite访问记录。 我在数据库中有两列名为friendsID ,第二列名为emailSenderID 。 现在如果我发送邮件给我的朋友emailSenderID将保存我的ID和friendsID保存我朋友的ID。 如果我收到来自同一位朋友的电子邮件,那么friendsID将保存我的ID,而emailSenderID将保存我朋友的ID。 现在,如果我想获取这样的记录: Select * from emailTable where friendsID =fID and emailSenderID=fID OR emailSenderID=myID 请指导我如何使用Android SQLite的AND和OR运算符。

没有事先close()Android的游标最终确定

在我的应用程序中,我有一个listview。 我通过SQLiteDatabase中的查询获取数据。 当我从db获取数据时,我收到此错误: 当我从第20行到第21行时发生。 我尝试将cursor.deactivate()和cursor.close()放在regel 50上。但没有结果。 任何人都知道我为什么会得到这个错误以及如何解决它? 谢谢 :)

Android Lollipop 5.0.1 SQLiteLog POSIX错误11 SQLite错误:3850

我在升级应用程序以支持Android Lollipop时遇到问题。 该应用程序实现了一个SyncAdapter,它通过内容提供程序在数据库上写入。 同时,用户正在浏览应用程序的前端,其中加载程序从数据库中读取相同的数据。 加载程序还可以监听数据更改。 现在,如果我在前Lollipop设备上运行该程序,一切正常,没有任何错误输出。 在Lollipop而不是我收到以下logcat消息: 11:20:59.344 22341-22376/com.example.com E/SQLiteLog﹕ (10) POSIX Error : 11 SQLite Error : 3850 11:20:59.364 22341-22376/com.example.com E/SQLiteLog﹕ (10) POSIX Error : 11 SQLite Error : 3850 11:20:59.364 22341-22376/com.example.com E/SQLiteLog﹕ (10) POSIX Error : 11 SQLite Error : 3850 11:20:59.364 22341-22376/com.example.com E/SQLiteLog﹕ (10) POSIX Error : 11 SQLite Error : 3850 […]

如何使用ORMLite更新列

我有一个已经创建的Android应用程序数据库,我正在使用ORMLite查询SQLLite。 我在类别中添加了一列,我想在该列中插入数据。 我有排,例如 catId=5 catname=”food” catType=? 我想基于catId更新catId 。 如何使用catId中的catId更新此catType列。 我正在使用这种方法: Dao catDao = getHelper().getCategoryDao(); QueryBuilder queryBuilder = catDao.queryBuilder(); queryBuilder.where().eq(“categoryId”, 5); PreparedQuery pq = queryBuilder.prepare(); Category category = catDao.queryForFirst(pq); category.setCategoryType(“BarType”); catDao.createOrUpdate(category); 请给我一个更好的解决方案。

Android SQLite查询 – 获取最新的10条记录

我有一个保存在我的Android应用程序中的数据库,想要检索插入数据库的最后10条消息。 我用的时候: Select * from tblmessage DESC limit 10; 它给了我10条消息但是来自TOP 。 但我想要最后 10条消息。 可能吗? 假设整个表数据是 – 1,2,3,4,5….30 我select * from tblmessage where timestamp desc limit 10写了查询select * from tblmessage where timestamp desc limit 10 它显示30,29,28…21 但我希望序列为 – 21,22,23…30