• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

仅需三步快速教你使用AG-Connect云数据库服务

android 搞代码 3年前 (2022-03-01) 17次浏览 已收录 0个评论

首先,什么是AppGallery Connect云数据库服务?

先来看下官网介绍:https://developer.huawei.com/…

华为AppGallery Connect的云数据库(CloudDB)是一款端云协同的数据库产品,提供端云数据的协同治理、对立的数据模型和丰盛的数据管理API接口等能力。在保证数据的可用性、可靠性、一致性,以及平安等个性根底上,可能实现数据在客户端和云端之间的无缝同步,并为利用提供离线反对,以帮忙开发者疾速构建端云、多端协同的利用。

是不是有点难懂?上面我用大白话翻译一下:

云数据库(CloudDB)是为咱们开发者服务的,他提供了一个端云协同的数据库服务,能够通过SDK和API接口,简略不便的集成到APP利用外面,应用安全可靠。集成的时候,开发者们不须要关注服务器的搭建和部署运维,间接通过SDK和API接口应用就行。

翻译当前,是不是就很好懂了哈哈。

其余原理、性能、平安啥的先不看,咱们先来看下怎么在Android利用里,疾速把CloudDB应用起来。通过我的试用,发现应用其实很不便,总结下来,就是上面的三步走:

1、界面操作:创建对象类型及存储区

2、利用前置步骤:导出对象类型并且执行用户认证。

3、在Android我的项目集成CloudDB: 集成SDK,应用接口增删改查:

1、界面操作 :
写在最前:CloudDB还处于Beta阶段,须要先发邮件申请开明服务,能够参考这个链接:https://developer.huawei.com/…

界面操作次要包含两方面,创建对象类型 以及创立存储区

1.1、对象类型是啥?
简略来说,对象类型就是你数据库外面,用来存放数据的表,每一个对象类型,就是一种表。打个简略的比如,你有一个excel文件用来存数据,每一个excel里都能够创立不同的工作表,每一个工作表,就相当于CloudDB外面的一个对象类型。比方我是一个老师,工作表1外面寄存的是学生信息,包含学生的性别和学号;表2里寄存的学生的问题,包含学生的学号和各科问题。

这样是不是就很好了解了。

1.2、存储区又是啥?
这个能够从界面意思来了解了,就是用来存储数据的一片区域,不同的存储区是互相隔离的。持续下面的例子:我一个老师,可能会带多个班级,记录学生问题的时候,不同的班用不同的excel文件。每个excel文件里都包含了学生信息表和成绩表。

在下面你的例子里,每一个excel文件,就是一个存储区,两个excel互不相干。每个excel里都有不同的工作表,每个工作表就是一个对象类型。

1.3、创建对象类型
讲完了概念,上面来讲一下操作:前提是你曾经申请并且开明的CloudDB服务哈。

1、在 “我的我的项目” –>“构建” -> “云数据库”界面,在对象类型页签,点击新增创立一个对象类型。

2、依照下面说的例子,我创立一个StudentInfo的表,留神须要设置主键,并且为认证用户勾选Upsert和delete权限。


1.4、创立存储区
这个就简略很多了,间接在存储区页签,点击新增,数据存储区的名字,点确定就好了。

利用前置步骤
想要在Android利用里正确的应用CloudDB,还须要有两个前置的步骤,导出对象类型和用户认证。

1、 导出对象类型:

简略说,就是讲上一步创立的对象类型,导出到你本地的Android我的项目里,这样能力让Android我的项目和你云端的数据库进行同步:导出的操作如下:

导出当前。记得放到你的Android我的项目外面,哪我这个举例,我把导出的对象类型都放在model门路下

在Android我的项目集成CloudDB
1、集成SDK
1、下载json:在你的“我的我的项目 –> 我的项目设置 -> 利用”下,下载json文件,并且放到你Android我的项目的的app门路下:

2、 配置我的项目级build.gradle文件

buildscript {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.1'
        classpath 'com.huawei.agconnect:agcp:1.4.2.301'
    }
}
  
allprojects {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
}
  
task clean(type: Delete) {
    delete rootProject.buildDir
}

3、 配置利用级build.gradle文件

apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
 ...
android {
                ……
compileOptions {
                                sourceCompatibility = 1.8
                                targetCompatibility = 1.8
}
}
dependencies {
 ...
implementation 'com.huawei.agconnect:agconnect-auth:1.4.2.300'        // 华为Auth服务,用于用户认证
implementation 'com.huawei.agconnect:agconnect-database:1.2.3.301'               // CloudDB的SDK
}

1.1 前置操作

补充一个小插曲,CloudDB对操作权限有做限度,须要认证用户能力进行增删改操作,因而还须要集成华为认证服务,上一个步骤集成的Auth SDK就是这个作用的。

1、先去AGC界面开明认证服务,此处为了最简略的集成,我就只用匿名认证来给大家做示例:抉择“我的我的项目 –> 构建 -> 认证服务”中,启动匿名认证。

2、匿名认证相干代码:

AGConnectAuth.getInstance().signInAnonymously().addOnSuccessListener(new OnSuccessListener<SignInResult>() {
     @Override
     public void onSuccess(SignInResult signInResult) {
         // onSuccess
         AGConnectUser user = signInResult.getUser();
     }
 }).addOnFailureListener(new OnFailureListener() {
     @Override
     public void onFailure(Exception e) {
         // onFail
     }
 });

2、初始化
初始化包含有三局部:初始化AGConnectCloudDB、创建对象类型、以及创立并关上CloudDB Zone(也就是后面说的存储区)

1、先在onCreate最外层,定义须要应用的参数:

private AGConnectCloudDB mCloudDB;
 private CloudDBZoneConfig mConfig;
 private CloudDBZone mCloudDBZone;

2、初始化AGConnectCloudDB。
AGConnectCloudDB.initialize(this);

3、获取AGConnectCloudDB实例并且创建对象类型

mCloudDB = AGConnectCloudDB.getInstance();
 try {
     mCloudDB.createObjectType(ObjectTypeInfoHelper.getObjectTypeInfo());
 } catch (AGConnectCloudDBException e) {
     Log.e("CloudDB", "createObjectType Failed " + e.getMessage());
 }

4、创立并关上CloudDB Zone

Config = new CloudDBZoneConfig("classs1",
         CloudDBZoneConfig.CloudDBZoneSyncProperty.CLOUDDBZONE_CLOUD_CACHE,
         CloudDBZoneConfig.CloudDBZoneAccessProperty.CLOUDDBZONE_PUBLIC);
 mConfig.setPersistenceEnabled(true);
 try {
     CloudDBZone = mCloudDB.openCloudDBZone(mConfig, true);
 } catch (AGConnectCloudDBException e) {
     Log.e("CloudDB", "openCloudDBZone failed: " + e.getMessage());
 }

留神咯,这里也能够用异步的openCloudDBZone2办法法,具体操作这里就不介绍了。具体看如下文档哈。

https://developer.huawei.com/&#8230;

3、数据库操作:
接下来既能够进行欢快的数据库操作啦。上面我拿查问举个例:

1、先在AGC界面上,插入两条数据用来测试:test1和test2:

2、而后回到Android我的项目里,通过executeQuery查问全量数。

Task<CloudDBZoneSnapshot<StudentInfo>> queryTask = mCloudDBZone.executeQuery(
         CloudDBZoneQuery.where(StudentInfo.class),
         CloudDBZoneQuery.CloudDBZoneQueryPolicy.POLICY_QUERY_FROM_CLOUD_ONLY);
 queryTask.addOnSuccessListener(new OnSuccessListener<CloudDBZoneSnapshot<StudentInfo>>() {
     @Override
     public void onSuccess(CloudDBZoneSnapshot<StudentInfo> snapshot) {
         //
         CloudDBZoneObjectList<StudentInfo> InfoCursor = snapshot.getSnapshotObjects();
         ArrayList<StudentInfo> infoList = new ArrayList<>();
         StudentInfo studentInfo = new StudentInfo();
         try {
             while (InfoCursor.hasNext()) {
                 studentInfo = InfoCursor.next();
                 infoList.add(studentInfo);
             }
             Log.i("CloudDB", "query success: " + JSONArray.toJSONString(studentInfo));
         } catch (AGConnectCloudDBException e) {
             Log.e("CloudDB", "query failed: " + e.getMessage());
         }
         snapshot.release();
     }
 });

3、而后就能在Logcat外面,查看看相应的查问数据:

4、后续的增删改操作,我就不再具体阐明了,大家能够间接看文档或API参考

配置指南:https://developer.huawei.com/…

API参考:https://developer.huawei.com/…

总结
尽管材料文档看起来很多,但实际操作起来,也就三步就能实现的。

1、云侧操作,创建对象类型和存储区:

2、导出对象类型到Android我的项目

3、在Android我的项目中集成SDK并且应用API接口。

三步下来,就实现了一个数据库系统的集成,没有任何数据库搭建和部署相干的操作,而且当初CloudDB还是收费应用的,几乎不要太爽。

最初再附上官网CloudDB文档,须要的能够自行查看:

配置指南:https://developer.huawei.com/…

API参考:https://developer.huawei.com/…

Demo参考:https://github.com/AppGallery…

原文链接:https://developer.huawei.com/…
原作者:Mayism


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:仅需三步快速教你使用AG-Connect云数据库服务

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址