Tag: SQLite

Kotlin android数据库:不能将java.lang.String强制转换为android.database.Cursor

我正在开发一个简单的笔记应用程序在Android的Kotlin使用一个简单的SQLite数据库。 我已经用java编写了它,但是现在我在Kotlin中遇到了一些问题,特别是在一行代码中。 这是工作的 java代码,当我在列表视图上点击它时,我会记下这个ID。 itemCursor = (Cursor) activity.listView.getItemAtPosition(position); noteID = itemCursor.getInt(itemCursor.getColumnIndex(DBHelper.NOTES_COLUMN_ID)); itemCursor = helper.getNote(noteID); 那么这应该是Kotlin代码: var itemCursor: Cursor = activity.listView.getItemAtPosition(position) as Cursor **(error here on this line, look below for it)** var noteID: Int = itemCursor.getInt(itemCursor.getColumnIndex(COLUMN_ID)) itemCursor = helper.getNote(noteID) java.lang.ClassCastException:java.lang.String不能转换为android.database.Cursor ListView适配器: list_titles = helper.getAllTitles() lv_adapter = ArrayAdapter(activity, android.R.layout.simple_list_item_1, list_titles) v.listview.adapter = lv_adapter getAllTitles好玩: fun getAllTitles(): […]

在Kotlin和Anko中实现SQLite

我创建了如下的应用程序数据库。 我想现在插入记录和检索,因为这个链接说https://antonioleiva.com/databases-anko-kotlin/使用database.use import android.database.sqlite.SQLiteDatabase import org.jetbrains.anko.db.* class AppDbHelpler : ManagedSQLiteOpenHelper(AppApplication.instance(), AppDbHelpler.DB_NAME, null, AppDbHelpler.DB_VERSION) { companion object { val DB_NAME = "person.db" val DB_VERSION = 1 val instance by lazy { AppDbHelpler() } } override fun onCreate(db: SQLiteDatabase?) { db!!.createTable(PersonTable.Name, true, Pair(PersonTable.ID, INTEGER + PRIMARY_KEY + AUTOINCREMENT), Pair(PersonTable.PersonName, TEXT), Pair(PersonTable.Domain, TEXT), Pair(PersonTable.MobileNumber, REAL)) } override fun […]