Articles of android sqlite

Ormlite或sqlite哪个对Android透视图有好处?

我很困惑哪个适合Android视角的Ormlite或sqlite 。 请你能给我一个建议,哪个更适合使用我们的Android应用程序。 并使易用和支持所有Android设备? 我想在我们的项目中使用ormlite,但在此之前我想确定它对我和我的应用程序是否有用。 如果有人在此之前使用过,请指导我。 我非常感谢你的想法.Thnaks

警告:不要硬编码“/ data /”; 请改用Context.getFilesDir()。getPath()

我开发了一个应用程序,我将数据库从assets文件夹复制到我的硬编码路径。 所以eclipse给了我警告: Do not hardcode “/data/”; use Context.getFilesDir().getPath() instead 我在谷歌搜索并find答案使用: Context.getFilesDir().getPath(); 并且硬编码不适用于每个设备,有些可能会出错或无法正常工作。 但通过实施上述我正在收到错误。 我的代码如下: private final Context myContext; 在这里得到警告 private static String DB_PATH = “/data/data/com.example.abc/databases/”; private static final int DATABASE_VERSION = 1; private static final String DATABASE_NAME = “exampledb.sqlite”; static SQLiteDatabase sqliteDataBase; public DataBaseHelperClass(Context context) { super(context, DATABASE_NAME, null ,DATABASE_VERSION); this.myContext = context; } public […]

SQLiteDatabase:仅在值不存在时插入(不通过原始SQL命令)

我知道有一个SQL命令是这样的: IF NOT EXISTS ,但由于Android的SQLiteDatabase类有一些很好的方法,我想知道是否可以插入一个值,如果它不存在通过方法。 目前我正在使用它来插入一个String : public long insertString(String key, String value) { ContentValues initialValues = new ContentValues(); initialValues.put(key, value); return db.insert(DATABASE_TABLE, null, initialValues); } ( db是SQLiteDatabase一个实例。) 我尝试使用insertOrThrow()方法而不是insert() ,但它似乎与insert()完全相同。 也就是说,如果该值已经在行中,则会再次插入该值,因此该行现在具有两个相同值的值。

获取SQLite FTS3表的行ID

我创建了一个我在Android开发平台中使用的SQLite FTS3表( target是2.2, minVersion是8)。 例如,我创建了如下表: create virtual table person using fts3(first,last); 我知道当我将数据插入此表时,我将返回long ,这是插入的记录的行ID。 如何从此表中获取行ID? 如果我执行: select * from person 我为Cursor.getColumnColumnIndex(“rowid”);得到-1 Cursor.getColumnColumnIndex(“rowid”); 。 此外, Cursor.getColumnNames()仅显示两列(’first’和’last’)而不是’rowid’。 关于如何解决这个问题的任何建议?

引起:android.database.sqlite.SQLiteException:没有这样的表:(代码1)Android

我们的应用程序中有一个sqlite数据库。 它适用于所有用户,但很少遇到问题Caused by: android.database.sqlite.SQLiteException: no such table: generalSettings (code 1): , while compiling: select * from generalSettings error。 下面是我的sqlite帮助程序类,用于创建db和错误日志。 在assert/Master.db我们有表generalSettings 。 但在将其复制到设备后,表格丢失了。 这种情况仅发生在少数用户身上。 我搜索了解决方案,但我找不到确切的解决方案。 团队请帮我解决这个问题。 码: import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.io.StringWriter; import android.content.Context; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.net.Uri; import android.util.Log; public class InstallDB extends SQLiteOpenHelper { Context […]

从Android应用程序访问外部存储中的某个下载的.sqlite数据库

我试图在基于Android WebView的应用程序中实现离线地图function: 使用DownloadManager , 我从我们的网络服务器下载一个sqlite数据库文件 (像.mbtiles这样的结构) ,它包含地图图块图像的blob(“离线地图”)并通过它存储在android外部存储中 public void downloadMap() { downloadManager = (DownloadManager) getActivity().getSystemService(Activity.DOWNLOAD_SERVICE); DownloadManager.Request r = new DownloadManager.Request(Uri.parse(“http://sry.youtoknow.idontwant/map.sqlite”)); r.setDestinationInExternalFilesDir(getContext(), “map”, “map.sqlite”); downloadManager.enqueue(r); } 下载似乎非常有效。 我注册一个BroadcastReceiver来接收DownloadManager.ACTION_DOWNLOAD_COMPLETE并使用SharedPreferences将路径存储到“map.sqlite”。 要从JavaScript访问数据库以使用WebView的切片图像, 我通过检查URL中的自定义虚构模式名称customhttp:来拦截XHRequests : webView.setWebViewClient(new WebViewClient() { public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { String url = request.getUrl().toString(); if (!url.startsWith(“customhttp:”)) { return null; } else { SharedPreferences preferences = […]

可以在单个execSQL查询中指定的SQLvariables的限制是多少

我正在努力提高我的android数据库插入速度。 我目前正在做的是生成一个字符串,如: SELECT ? as title, ? as musician_id, ? as album_id, ? as genre UNION SELECT ?, ?, ?, ? UNION SELECT ?, ?, ?, ? UNION SELECT ?, ?, ?, ? UNION SELECT ?, ?, ?, ? UNION SELECT ?, ?, ?, ? 然后执行它 SQLiteDatabase database = //initialized in some way String insertQuery; […]

如何开始使用SQLCipher for android?

我需要使用SQLCipher for android …我已经使用SQLite创建了我的应用程序,并希望将其转换为SQLCipher。 问题是,我对SQLCipher一无所知。 我在这个链接中读过它: http : //sqlcipher.net/sqlcipher-for-android/ 但我还是不太清楚。 我想知道你是否可以为Android教程提供一些基本的sqlcipher,其中所有内容都是从绝对基础知识中轻松教授的。 谢谢!

SQLite返回错误代码14

我正在尝试从我的资源文件夹中复制现有数据库并对其执行一些操作。 一切正常,但我的模拟器的日志文件中出现以下错误: sqlite returned: error code = 14, msg = cannot open file at source line 25467 09-06 11:23:41.844: INFO/Database(22560): sqlite returned: error code = 14, msg = cannot open file at source line 25467 09-06 11:23:41.885: ERROR/Database(22560): sqlite3_open_v2(“/data/data/com.dhani.Lazy/databases/LazyDB.sqlite”, &handle, 1, NULL) failed 09-06 11:23:41.885: WARN/System.err(22560): android.database.sqlite.SQLiteException: unable to open database file 09-06 11:23:41.894: WARN/System.err(22560): […]

Sugar ORM不会创建表

我正在开发一个独立的库项目,需要持久化一个简单的模型。 这是我的SugarRecord样子: /** * Keeping track of previously received messages by ID */ public class MessageRequestIdModel extends SugarRecord { protected String messageRequestId; public MessageRequestIdModel() { } public MessageRequestIdModel(String messageRequestId) { this.messageRequestId = messageRequestId; } public String getMessageRequestId() { return this.messageRequestId; } public static boolean exists(String id) { return MessageRequestIdModel.find( MessageRequestIdModel.class, “messageRequestId = ?”, id ).size() […]