【问题标题】:How to access SQLite database in Native code?如何在 Native 代码中访问 SQLite 数据库?
【发布时间】:2018-12-09 07:55:46
【问题描述】:

我已经使用 sqflite 插件在颤振中创建了数据库。我在 android native 中为我的应用程序创建了 android 主屏幕小部件。现在我需要从 SQLite 获取数据。那就是我正在尝试使用 SQLite db 中的 Android Native sqflite 包获取数据。这可能吗?

【问题讨论】:

    标签: android flutter


    【解决方案1】:

    > Flutter 没有限制

    Sqlite的基本规则,你需要记住

    1. sqflite 在 SQLite 数据库之上运行
    2. 所以,当 Flutter 插件创建数据库时,它可用于本机代码(验证文件夹结构)
    3. 您可以通过将数据库路径提供给原生 Android 或 IOS 上的 SQLiteDatabase 来打开数据库
    4. 终于可以通过query()读取表数据了

        private fun accessDB(){
    
        try {
            GlobalScope.launch {
    
                var db:SQLiteDatabase = SQLiteDatabase.openDatabase(getDatabasePath("epistle.db").absolutePath,null,SQLiteDatabase.OPEN_READWRITE);
    
                Log.d(MainActivity::class.java.name , "Database Path "+db.path.toString())
                Log.d("" , "Database version "+db.version.toString())
    
                var cursor = db.query("userInfo",null,null,null,null,null,null)
    
                cursor?.let {
                    while (cursor.moveToNext()){
    
                        var columnNames =cursor.columnNames
    
                        columnNames.forEach {
                            Log.d(
                                    MainActivity::class.java.name,
                                    "$it "+cursor.getString(cursor.getColumnIndex(it))
                            )
                        }
    
                    }
                }
    
            }
    
        }catch (e:Exception){
            e.printStackTrace();
        }
    }
    

    MainActivity: Database Path /data/u
    MainActivity: id 1
    MainActivity: uid XfXCx613bKWl0EuDU
    MainActivity: username Lee And May
    MainActivity: email yepi1@yep.com
    MainActivity: location US
    MainActivity: isBiometricEnabled 0
    MainActivity: isNotificationsEnable
    MainActivity: morning 152.549
    MainActivity: evening 166.529
    MainActivity: plan Basic
    MainActivity: lattitude 0
    MainActivity: lognitude 0
    MainActivity: userID XfXCx613bKWl0E
    MainActivity: theme 2
    MainActivity: premiumStartDate null
    MainActivity: premiumEndDate null
    MainActivity: isPremium 0

    【讨论】:

      猜你喜欢
      • 2023-03-26
      • 2019-06-15
      • 2015-11-23
      • 2016-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-01
      • 1970-01-01
      相关资源
      最近更新 更多