IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Android jetpack room 将外部数据库导入到本地数据库(附带创建Sqlite3的教程) -> 正文阅读

[大数据]Android jetpack room 将外部数据库导入到本地数据库(附带创建Sqlite3的教程)

main目录下新建

assets目录 并将数据库文件弄进来

这个test.db使我们自己生成的。。如何生成。。首先你需要安装sqlite3

下载地址:https://www.sqlite.org/download.html

下载这两个

将文件解压到一个目录里面 并配置环境变量?K:\develop\environment\sqllite\sqlite-tools-win32-x86-3380500

配置好后就可以使用命令行sqlite3 来检查是否完成

新建数据库步骤

然后使用Navicat

文件-》 新建链接-》?选择sqllite3

连接名也写test即可新建完成

新建完成后新建student表

随便模拟两条数据

之后我们要用这个数据导入到as工程当中

main目录下新建

assets目录 并将test.db数据库文件弄进来

?修改mydateBase文件

package com.anguomob.jecpack.database

import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
import androidx.room.migration.Migration
import androidx.sqlite.db.SupportSQLiteDatabase
import com.anguomob.jecpack.bean.Student
import com.anguomob.jecpack.dao.StudentDao
import okhttp3.internal.Internal.instance

@Database(entities = [Student::class], version = 1, exportSchema = true)
abstract class MyDataBase : RoomDatabase() {
    companion object {
        var DATABASE_NAME = "my_db.db"
        private lateinit var instance: MyDataBase

        


        fun getSingle(context: Context): MyDataBase {
            if (::instance.isInitialized.not()) {
                instance = Room.databaseBuilder(
                    context.applicationContext,
                    MyDataBase::class.java,
                    DATABASE_NAME
                )
//                    .allowMainThreadQueries()//允许主线程操作数据库
//                    .addMigrations(MIGATION_1_2, MIGATION_2_3, MIGATION_3_4)
                    //出现异常问题 重建数据表,同时数据也会丢失。
//                    .fallbackToDestructiveMigration()
                    .createFromAsset("test.db")
                    .build();
            }

            return instance;
        }


    }


    abstract fun getStudentDao(): StudentDao


}

?重点关注这句话

     .createFromAsset("test.db")

然后就是将数据库test.db? copy到本地的my_db.db?

?手机显示数据

?

数据bean也要跟着变化哦

package com.anguomob.jecpack.bean

import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.Ignore
import androidx.room.PrimaryKey

@Entity(tableName = "student")
data class Student(
    @PrimaryKey(autoGenerate = true)
    @ColumnInfo(name = "id", typeAffinity = ColumnInfo.INTEGER)
    var id: Int,
    @ColumnInfo(name = "name", typeAffinity = ColumnInfo.TEXT)
    var name: String,
    @ColumnInfo(name = "age", typeAffinity = ColumnInfo.INTEGER)
    var age: Int,
    /**
     * V3
     */
//    @ColumnInfo(name = "sex", typeAffinity = ColumnInfo.INTEGER)
//    var sex: Int,
    /**
     * V4
     */
//    @ColumnInfo(name = "sex", typeAffinity = ColumnInfo.TEXT)
//    var sex: String,
//    @ColumnInfo(name = "bar_data", typeAffinity = ColumnInfo.INTEGER)
//    var bar_data: Int
) {

//    @Ignore
//    constructor(name: String, age: Int) : this(0, name, age, "M", 1)

    @Ignore
    constructor(name: String, age: Int) : this(0, name, age)


    @Ignore
    constructor(id: Int) : this(id, "", 0)
}


?至此。数据库迁移到手机工作就完成了。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-26 15:19:52  更:2022-05-26 15:20:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:44:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码