Android Studio如何获取SQLite数据并显示到ListView上 用kotlin写
时间: 2024-05-04 22:15:16 浏览: 140
您可以通过以下步骤获取SQLite数据并在Android Studio中显示到ListView上:
1. 创建一个SQLite数据库
2. 使用Kotlin编写一个数据库帮助程序,以获取数据和执行CRUD(创建、读取、更新、删除)操作
3. 编写一个自定义适配器,以将数据从数据库加载到ListView中
4. 在ListView中实现视图绑定
以下是一个示例Kotlin代码演示如何从SQLite数据库中查询数据并将其显示在ListView上:
```
//定义查询表的列
val columns = arrayOf("id", "name", "age")
// 这里可以替换为您自己的数据模型
data class Person(val id: Int, val name: String, val age: Int)
// 获取一个可读的数据库
val db = readableDatabase
// 执行查询操作
val cursor = db.query("people", columns, null, null, null, null, null)
// 获取所有记录的 Person 对象,并添加到一个可变的列表中
val people = mutableListOf<Person>()
while (cursor.moveToNext()) {
val id = cursor.getInt(cursor.getColumnIndex("id"))
val name = cursor.getString(cursor.getColumnIndex("name"))
val age = cursor.getInt(cursor.getColumnIndex("age"))
people.add(Person(id, name, age))
}
// 绑定适配器
val listView = findViewById<ListView>(R.id.listView)
listView.adapter = object : BaseAdapter() {
override fun getCount(): Int {
return people.size
}
override fun getItem(position: Int): Any {
return people[position]
}
override fun getItemId(position: Int): Long {
return position.toLong()
}
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
val view = convertView ?: LayoutInflater.from(parent?.context).inflate(R.layout.list_item, parent, false)
val person = getItem(position) as Person
view.findViewById<TextView>(R.id.nameTextView).text = person.name
view.findViewById<TextView>(R.id.ageTextView).text = person.age.toString()
return view
}
}
// 关闭游标和数据库连接
cursor.close()
db.close()
```
希望这可以帮助您开始处理SQLite数据的查询和显示。
阅读全文