Kotlin开发 如何获取SQLite数据库上自己创建规律的可扩展二级列表数据
Posted 彬sir哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin开发 如何获取SQLite数据库上自己创建规律的可扩展二级列表数据相关的知识,希望对你有一定的参考价值。
1.先在SQLite数据库上自己创建规律的可扩展二级列表数据,如下图:
2. 做的项目如下图:
3.在AndroidManifest.xml中修改默认的Application为我们的MyApplication类
<application
android:name="com.demo.test3.MyApplication"//添加这一句
3.1 MyApplication.kt
......
override fun onCreate() {
super.onCreate()
instance = this
context = applicationContext
dbName = "test.db"//sqlite的db文件表名:test.db
AppUtils.copyDbFileFromAsset(context, dbName)
}
......
3.1.1 AppUtils.kt
/**
* 复制离线库文件到 databases 目录
*/
fun copyDbFileFromAsset(context: Context, dbName: String) {
var `is`: InputStream
var os: OutputStream
val dbDir = File(context.filesDir.parent + "/databases")
if (!dbDir.exists()) {
dbDir.mkdir()
}
var outDbFile: File
outDbFile = File(dbDir, dbName)
try {
os = FileOutputStream(outDbFile)
val buffer = ByteArray(1024)
var length: Int
`is` = context.assets.open(dbName)
while (`is`.read(buffer).also {
length = it
} > 0) {
os.write(buffer, 0, length)
}
os.flush()
`is`.close()
os.close()
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
}
4.MainActivity.kt,list获取组数和子选项
val query = DaoFactory.daoFactory.getSitCodeDao().queryBuilder().orderAsc(SitCodeDao.Properties.Code).build()
val list: List<SitCode> = query.list()
5.SitCodeDao.java
public static final String TABLENAME = "MyTest";//db文件的表名
public static class Properties {
public final static Property Id = new Property(0, String.class, "id", false, "id");
public final static Property Code = new Property(1, String.class, "code", false, "code");
public final static Property Name = new Property(2, String.class, "name", false, "name");
}
6.源代码zip下载:
下载源代码
以上是关于Kotlin开发 如何获取SQLite数据库上自己创建规律的可扩展二级列表数据的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin基础从入门到进阶系列讲解(入门篇)下载SQLite软件,如何创建/添加/更新/查询/删除数据
Kotlin基础从入门到进阶系列讲解(入门篇)下载SQLite软件,如何创建/添加/更新/查询/删除数据
如何读取将作为 MultipartFile 参数传递的 SQLite 文件? (在 java/kotlin 中)
Kotlin基础从入门到进阶系列讲解(入门篇)SQLite数据库存储