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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【鸿蒙】单版本分布式数据库实战 -> 正文阅读

[大数据]【鸿蒙】单版本分布式数据库实战

周末如期而至,学习也不能停止,分布式数据库实战搞起!

1).要使用分布式的化首先就得打开权限,在config.json中添加permisssion权限。

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

这段代码添加在abilities同一目录层级
在这里插入图片描述
2).再将权限调用放在onstart方法里面
在这里插入图片描述

        requestPermissionsFromUser(new String[]{"ohos.permission.DISTRIBUTED_DATASYNC"},0);

1.UI布局

默认文件ability_main的xml代码,五个按钮

<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:height="match_parent"
    ohos:width="match_parent"
    ohos:background_element="#FF34D2BA"
    ohos:orientation="vertical">

    <DependentLayout
        ohos:height="50vp"
        ohos:width="match_parent"
        ohos:left_margin="30vp"
        ohos:right_margin="30vp"
        ohos:top_margin="30vp"
        ohos:background_element="$graphic:background">
        <Button
            ohos:height="match_content"
            ohos:width="match_parent"
            ohos:id="$+id:write_button"
            ohos:text="分布式写数据"
            ohos:text_size="20vp"
            ohos:text_color="#9b9b9b"
            ohos:top_padding="10vp"
            />
    </DependentLayout>

    <DependentLayout
    ohos:height="50vp"
    ohos:width="match_parent"
    ohos:left_margin="30vp"
    ohos:right_margin="30vp"
    ohos:top_margin="30vp"
    ohos:background_element="$graphic:background">
    <Button
        ohos:height="match_content"
        ohos:width="match_parent"
        ohos:id="$+id:delete_button"
        ohos:text="分布式删除数据"
        ohos:text_color="#9b9b9b"
        ohos:text_size="20vp"
        ohos:top_padding="10vp"
        />
    </DependentLayout>

    <DependentLayout
    ohos:height="50vp"
    ohos:width="match_parent"
    ohos:left_margin="30vp"
    ohos:right_margin="30vp"
    ohos:top_margin="30vp"
    ohos:background_element="$graphic:background">
    <Button
    ohos:height="match_content"
    ohos:width="match_parent"
    ohos:id="$+id:read_button"
    ohos:text="分布式读取数据"
    ohos:text_color="#9b9b9b"
    ohos:text_size="20vp"
    ohos:top_padding="10vp"
        />
    </DependentLayout>

    <DependentLayout
        ohos:height="50vp"
        ohos:width="match_parent"
        ohos:left_margin="30vp"
        ohos:right_margin="30vp"
        ohos:top_margin="30vp"
        ohos:background_element="$graphic:background">
        <Button
            ohos:height="match_content"
            ohos:width="match_parent"
            ohos:id="$+id:close_button"
            ohos:text="分布式关闭数据"
            ohos:text_color="#9b9b9b"
            ohos:text_size="20vp"
            ohos:top_padding="10vp"
            />
    </DependentLayout>

    <DependentLayout
        ohos:height="50vp"
        ohos:width="match_parent"
        ohos:left_margin="30vp"
        ohos:right_margin="30vp"
        ohos:top_margin="30vp"
        ohos:background_element="$graphic:background">
        <Button
            ohos:height="match_content"
            ohos:width="match_parent"
            ohos:id="$+id:del_button"
            ohos:text="删除分布式数据库"
            ohos:text_color="#9b9b9b"
            ohos:text_size="20vp"
            ohos:top_padding="10vp"
            />
    </DependentLayout>

</DirectionalLayout>

包括按钮的形状

<?xml version="1.0" encoding="UTF-8" ?>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
       ohos:shape="rectangle">
    <solid ohos:color="#ffffff"/>

    <stroke ohos:width="3vp"
            ohos:color="#ffffff"
            />
    <corners ohos:radius="20vp"/>

</shape>

在这里插入图片描述

2.注入灵魂

Ctrl c+v一顿操作
在这里插入图片描述
在这里插入图片描述
我们可以看一看options当中的默认值
在这里插入图片描述
然后随便打印几个出来
在这里插入图片描述
接下来就自定义,有的不需要默认值,我们就修改

 options.setCreateIfMissing(true)
         .setEncrypt(false)
         .setKvStoreType(KvStoreType.SINGLE_VERSION);

响应代码

public void onClick(Component component) {
            int componentId = component.getId();
            switch (componentId) {
                case ResourceTable.Id_write_button: {
                    //写入数据
                    try {
                        singleKvStore.putString("test", "wo ai huawei");
                        System.out.println("======写入数据");

                        Tools.showTip(MainAbilitySlice.this,"写入数据成功");
                    }catch (Exception e){
                        e.printStackTrace();
                    }


                }
                break;
                case ResourceTable.Id_del_button: {
                    //删除数据
                    try {
                        singleKvStore.delete("test");
                        System.out.println("======删除数据");

                        Tools.showTip(MainAbilitySlice.this,"写入数据成功");

                    }catch (Exception e){
                        e.printStackTrace();
                    }

                }
                break;
                case ResourceTable.Id_read_button: {
                    //读出数据
                    try {
                        singleKvStore.getString("test");
                        System.out.println("======读取数据");

                        Tools.showTip(MainAbilitySlice.this,"读取数据成功");

                    }catch (Exception e){
                        e.printStackTrace();
                    }

                }
                break;
                case ResourceTable.Id_close_button: {
                    //关闭数据库
                    try {
                        kvManager.closeKvStore(singleKvStore);
                        System.out.println("======关闭数据库");

                        Tools.showTip(MainAbilitySlice.this,"关闭数据库成功");

                    }catch (Exception e){
                        e.printStackTrace();
                    }
                }
                break;
                case ResourceTable.Id_delete_button: {
                    //删除数据库

                    try {
                        kvManager.deleteKvStore(stroeId);
                        System.out.println("======删除数据库");

                        Tools.showTip(MainAbilitySlice.this,"删除数据库成功");

                    }catch (Exception e){
                        e.printStackTrace();
                    }

                }
                break;
                default:
                    break;

            }
        }

启动第一部
在这里插入图片描述
启动第二部
在这里插入图片描述

在这里插入图片描述
动图演示,在一台设备写入数据,另一台能够读取,删除则无法读取

在这里插入图片描述
搞定~


【鸿蒙】订阅分布式数据变化

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 09:57:56  更:2021-11-27 10:00:47 
 
开发: 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/24 7:23:29-

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