Articles of SQLite

是否可以在android数据库的文本字段中应用主键

我创建了一个简单的表,其中包含人员的姓名和电子邮件ID。 当我给出这样的创建查询时: “create table contacts (name text not null, email text primary key not null);” 但这不起作用。 我在运行时没有收到任何exception或错误,也没有主键正常工作。 在使用SQLite浏览器浏览表时,我观察到只有四种数据types: 是否可以仅对整数应用主键? 如果我想在文本字段上使用主键,情况如何。 谢谢。 这是我使用的代码: public class DBAdapter { public static final String KEY_ROWID = “_id”; public static final String KEY_NAME = “name”; public static final String KEY_EMAIL = “email”; private static final String TAG = “DBAdapter”; private […]

在Android Studio中查看设备上的SQLite数据库

我使用的是最新版本的Android Studio。 当我在模拟器上运行我的应用程序时,我可以通过以下方式查看我的数据库: tools -> Android Device Monitor -> clicking on the emulator in the left panel -> file explorer -> data -> data -> com.project-name 但是在设备上运行我的应用程序时,此选项不可用。 我检查过相关问题: Android – 在设备上查看SQLite数据库? 这里投票最多的答案建议将数据库复制到SD卡,甚至是eclipse。 在Android设备上访问sqlite数据库 这些问题来自2011年和2010年。我可以使用任何插件或其他外部工具吗?

getWritableDatabase()VS getReadableDatabase()

我正在创建一个数据库帮助程序类,对于其中的一些方法,我只查询数据库和我写的其他人。 我的理解是这两种方法都会打开数据库并让程序只读或写入数据库。 对于查询语句,值得使用getReadableDatabase(),或者两种方法之间的性能差异很小。 谢谢你的时间。

我是否需要带有游标加载器的内容提供程序?

我在解决如何使用CursorLoader方面遇到了麻烦。 我试图解决的问题是如何在ListActivity中显示我的SQLite数据库中的数据。 列表行使用自定义布局,因此需要来自3个字段的数据(全部在同一个表中)。 除了一些Stack Overflow问题,我还阅读了这篇博文,并决定我需要为我的数据库创建一个内容提供程序。 在我去Android安卓帮助之前从未使用过内容提供商。 第1点指出: 如果使用完全在您自己的应用程序中,则不需要提供程序来使用SQLite数据库。 所以现在我被卡住了,我似乎无法使用没有ContentProvider的CursorLoader,如果仅在我的应用程序中使用,我建议不要创建ContentProvider。 我目前正在考虑可能是帮助已经过时或者在编写时没有想到光标加载器? 那么我还需要继续创建一个ContentProvider,还是有其他方法可以做到这一点? 任何建议都会有所帮助!

如何从android中的sqlite表中删除列?

我尝试使用以下内容删除列 openDB.execSQL(“ALTER TABLE favs” + ” DROP COLUMN favsCount”); LogCat给出以下消息: 11-07 21:18:29.238:ERROR / Database(13952):在准备’ALTER TABLE favs DROP COLUMN favsCount’时,0x34e550上的失败1(接近“DROP”:语法错误)。 是不是可以在Android的sqlite中删除字段?

如何使用genymotion作为模拟器在android studio中查看存储在sqlite中的数据

因为我在我的笔记本电脑中使用AMD处理器,所以我使用GENYMOTION作为模拟器。 我已经将数据存储在sqlite中,因为它是android studio中的一个插件。 但是,如果我想使用DDMS查看数据,则文件资源管理器不显示任何内容。 如何使用androidstudio和使用GENYMOTION查看存储在sqlite数据库中的数据。 提前致谢

Android SQLite漏掉了

我有sql处理程序的问题 A SQLiteConnection object for database ‘/data/data/…/databases/queueManager’ was leaked! Please fix your application to end transactions in progress properly and to close the database when it is no longer needed. 取自Androidhive教程并根据我的使用进行定制 表格看起来像 + ———————————————————– + : DATABASE_ID : DATABASE_QID : DATABASE_QUEUE : DATABASE_DATE : + ———————————————————– + 代码 DBQueue searchDBqid(int id) { SQLiteDatabase db = […]

Recyclerview + Content provider + CursorLoader

我在SQLite数据库中有一些数据。我有一个内容提供程序,它将从数据库中获取数据。 现在问题是如何实现cursorLoader与recyclerview一起工作? 此外,任何人都可以解释为什么我们需要将数据从游标传输到对象以显示在listview / recyclerview中而不是直接从游标中显示? 例如,在自定义cursorAdapter类中, Person person = new Person(cursor.getString(cursor.getColumnIndexOrThrow(PERSON_NAME))); textview.setText = person.getName(); 要么 textview.setText = cursor.getString(cursor.getColumnIndexOrThrow(PERSON_NAME)); 以上哪种方法比较好? 在过去,我们曾经有listview和gridview,现在看来它们被合并成为recyclerview。 那么,我如何实现基于网格的recyclerview?

如何在一个SQLite查询中获取联系人ID,电子邮件,电话号码? 联系人Android优化

我希望至少使用一个电话号码获取所有联系人,我也想要每个联系人的所有电话号码和所有电子邮件。 当前代码: // To get All Contacts having atleast one phone number. Uri uri = ContactsContract.Contacts.CONTENT_URI; String selection = ContactsContract.Contacts.HAS_PHONE_NUMBER + ” > ?”; String[] selectionArgs = new String[] {“0”}; Cursor cu = applicationContext.getContentResolver().query(uri, null, selection, selectionArgs, null); // For getting All Phone Numbers and Emails further queries : while(cu.moveToNext()){ String id = cu.getString(cu.getColumnIndex(ContactsContract.Contacts._ID)); // […]

为我的应用指定max sqlite db size。 如何处理db完全exception

我在接受采访时被问到如何为我们的Android应用程序设置sqlite db的最大大小。 我们如何处理最大尺寸? 编辑 :Marina Lynn的回答似乎可以接受这个问题。 但是当db大小达到我们指定的极限附近时,是否会触发某种侦听器? (或类似的东西)