如何在DevEco Studio wearable 中使用 sqlite数据库?

如何在DevEco Studio wearable 中使用 sqlite数据库? 有个excel 数据表 想导入鸿蒙数据库, 求sqlite数据使用文档?

13 回复

@版主,有空帮忙翻下华为内部文档,技术专家,等你哦


打开存储在resources/rawfile目录中的test.db文件失败, 应该怎么调用?

StoreConfig config = StoreConfig.newDefaultConfig("resources/rawfile/test.db");

这个怎么解决?

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

在TV模拟器中成功运行SQlite

赞一个~~~~~~~

已经导入ValuesBucketResultSet 库,还缺什么要素嘛?

连哄带蒙终于编译成功,加上如下库文件。

可惜没有鸿蒙硬件调试。

@版主,热盼为我中华的鸿蒙硬件,能否寄一块工程板,为我中华点亮一点星光?

ohos.data.rdb.StoreConfig;
ohos.data.DatabaseHelper;
ohos.data.rdb.RdbStore;
ohos.data.rdb.RdbOpenCallback;

尝试创建数据库,编译提示错误: 需要class, interface或enum

请问如何加载下面的库文件lib? 鸿蒙可用的资料和实例偏少,让大家有力使不上啊。

图片

StoreConfig config = StoreConfig.newDefaultConfig("RdbStoreTest.db"); //StoreConfig 类对数据库进行配置
private static final RdbOpenCallback callback =
    new RdbOpenCallback(){ //RdbOpenCallback 类
    @Override
    public void onCreate(RdbStore store){
        //数据库创建时被回调,开发者可以在该方法中初始化表结构,并添加一些应用使用到的初始化数据。
        store.executeSql("CREATE TABLE IF NOT EXISTS test(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, salary REAL, blobType BLOB)");
    }
    @Override
    public void onUpgrade(RdbStore store, int oldVersion, int newVersion){
        //数据库升级时被回调
    }
};
DatabaseHelper helper =
    new DatabaseHelper(context); //创建新的databasehelper例子helper
RdbStore store = helper.getRdbStore(config, 1, callback, null); //根据配置创建或打开数据库。

您好,相关问题这边帮您核实一下,请耐心等待,感谢您对华为开发者论坛的支持。

在DevEco Studio中为Wearable设备使用SQLite数据库,可以通过以下步骤实现:

  1. 添加依赖:在项目的build.gradle文件中添加SQLite依赖项:

    dependencies {
        implementation 'ohos:sqlite:3.32.3'
    }
    
  2. 创建数据库:在src/main/java目录下创建一个类来管理数据库:

    import ohos.data.rdb.RdbOpenCallback;
    import ohos.data.rdb.RdbStore;
    import ohos.data.rdb.StoreConfig;
    import ohos.hiviewdfx.HiLog;
    import ohos.hiviewdfx.HiLogLabel;
    
    public class DatabaseHelper {
        private static final HiLogLabel LABEL = new HiLogLabel(HiLog.LOG_APP, 0x00201, "DatabaseHelper");
        private RdbStore rdbStore;
    
        public DatabaseHelper(Context context) {
            StoreConfig config = StoreConfig.newDefaultConfig("my_database.db");
            RdbOpenCallback callback = new RdbOpenCallback() {
                @Override
                public void onCreate(RdbStore store) {
                    store.executeSql("CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)");
                }
    
                @Override
                public void onUpgrade(RdbStore store, int oldVersion, int newVersion) {
                    // 处理数据库升级
                }
            };
            rdbStore = RdbStore.getRdbStore(context, config, 1, callback, null);
        }
    
        public RdbStore getRdbStore() {
            return rdbStore;
        }
    }
    
  3. 操作数据库:在需要使用数据库的地方,实例化DatabaseHelper并使用RdbStore进行数据库操作:

    DatabaseHelper dbHelper = new DatabaseHelper(getContext());
    RdbStore rdbStore = dbHelper.getRdbStore();
    
    // 插入数据
    ValuesBucket values = new ValuesBucket();
    values.putString("name", "example");
    rdbStore.insert("test", values);
    
    // 查询数据
    RdbPredicates predicates = new RdbPredicates("test");
    ResultSet resultSet = rdbStore.query(predicates, new String[]{"id", "name"});
    while (resultSet.goToNextRow()) {
        int id = resultSet.getInt(resultSet.getColumnIndexForName("id"));
        String name = resultSet.getString(resultSet.getColumnIndexForName("name"));
        HiLog.info(LABEL, "ID: %{public}d, Name: %{public}s", id, name);
    }
    resultSet.close();
    
  4. 权限配置:在config.json中添加必要的权限:

    "reqPermissions": [
        {
            "name": "ohos.permission.READ_USER_STORAGE"
        },
        {
            "name": "ohos.permission.WRITE_USER_STORAGE"
        }
    ]
    

以上步骤展示了如何在DevEco Studio中为Wearable设备使用SQLite数据库,包括创建数据库、插入数据和查询数据的基本操作。

在DevEco Studio中为Wearable设备使用SQLite数据库,首先需在entry模块的build.gradle文件中添加SQLite依赖:implementation 'ohos:sqlite:1.0.0'。然后,通过RdbStore类进行数据库操作,包括创建数据库、表,以及执行增删改查等操作。使用RdbHelper类辅助数据库管理,确保在Wearable设备上高效、安全地处理数据。

回到顶部