雲空間服務,助力使用者資料儲存與協同

華為開發者論壇發表於2021-08-05

當我們在使用電子裝置時,儲存無疑是最基礎、最不可或缺的功能,隨著資訊膨脹,單純依靠裝置記憶體,已經不足以支撐儲存全部資料,雲空間應運而生。

 

雲空間,顧名思義就是將大量資料儲存在雲端,減少裝置記憶體的佔用,提高裝置執行效率,但云空間的功能遠不止單純的儲存,智慧移動終端的多樣化、作業系統的生態化,使得資料的多端協同成為必然趨勢,雲空間的優勢就在於此。

 

一直以來,使用者資料的儲存與管理都是開發者關注的重點,如何儲存海量資料,如何安全便捷地管理資料,如何確保資料多端協同,成為開發者必須解決的問題。

 

華為雲空間服務就是開發者們的好幫手,它可以為應用提供雲端儲存功能,將使用者在使用您開發的應用時產生的檔案儲存到雲盤,也可以下載、上傳和搜尋華為雲盤中的所有檔案,包括照片、影片以及文件等,也可以讓使用者對檔案進行評論、回覆和查詢歷史版本。

 

同時華為雲空間為各類資料提供了全方位的安全保障,雲資料庫可以有效地防止使用者隱私或敏感資訊在雲側被竊取,讓使用者更安全、便捷地管理資料。

 

華為雲空間服務的優勢有以下幾點:

1.       安全性。不管是帳號認證,還是資料傳輸及儲存,華為雲空間服務均具備加密保護機制,提供基於使用者身份和資料模式匹配的宣告式安全控制及密態資料庫能力,授權管理、金鑰演算法、隱私保護都能確保使用者資料安全性。

2.       多端協同。多端資料一致,多端體驗一致,多端協同編輯,資料實時同步,離線時資料自動保留在端側,網路恢復後自動和雲端同步,各種裝置無縫切換,協同管理幫助應用提升使用者體驗。

3.       可靠檔案管理。華為雲空間服務將檔案儲存在雲端,永不損壞、永不丟失。

 

您只需要整合一個簡單的SDK,就不用關注雲側系統的開發、部署和運維,從而聚焦於業務邏輯開發。那麼,如何整合華為雲空間服務?

 

針對Android Studio開發環境,華為提供了Maven倉整合方式的Drive SDK和HMS Core SDK包。在開始開發前,您需要將Drive SDK和HMS Core SDK整合到您的Android Studio開發環境中。

 

新增當前應用的AppGallery Connect配置檔案

1.      登入 AppGallery Connect 網站,點選“我的專案”。

2.      在專案列表中找到您的專案,在專案中點選需要整合HMS Core SDK的應用。

3.      在“專案設定 > 常規”頁面的“應用”區域,點選“agconnect-services.json”下載配置檔案。

 

4.      將“agconnect-services.json”檔案複製到應用級根目錄下。

 

配置HMS Core SDK的Maven倉地址

1.      開啟Android Studio專案級“build.gradle”檔案。

2.      新增HUAWEI agcp外掛以及Maven程式碼庫。

·         “buildscript > repositories”中配置HMS Core SDK的Maven倉地址。

·         “allprojects > repositories”中配置HMS Core SDK的Maven倉地址。

·         如果App中新增了 “agconnect-services.json”檔案則需要在 “buildscript > dependencies”中增加agcp配置。

buildscript {
    repositories {
        google()
        jcenter()
        // 配置HMS Core SDK的Maven倉地址。
        maven {url 'https://developer.huawei.com/repo/'}
    }
    dependencies {
        ...
        // 增加agcp配置。
        classpath 'com.huawei.agconnect:agcp:1.4.2.300'
    }
}
 
 
allprojects {
    repositories {
        google()
        jcenter()
        // 配置HMS Core SDK的Maven倉地址。
        maven {url 'https://developer.huawei.com/repo/'}
    }
}

說明

Maven 倉地址無法直接在瀏覽器中開啟訪問,只能在IDE中配置。如需新增多個Maven程式碼庫,請將華為公司的Maven倉地址配置在最後。

新增編譯依賴

1.      開啟應用級的build.gradle檔案。

 

2.      新增AGC外掛配置。請根據實際情況選擇:

·         方式一:在檔案頭部宣告下一行新增如下配置。

apply plugin: 'com.huawei.agconnect'

·         方式二:在 plugins中新增如下配置。

plugins {
    id 'com.android.application'
    //新增如下配置          
    id 'com.huawei.agconnect'
}

3.      在“dependencies ”中新增如下編譯依賴。

dependencies {
implementation 'com.huawei.hms:drive:{version}'
implementation 'com.huawei.hms:hwid:{version}'
implementation 'com.huawei.hms:push:{version}'
}

說明

{version}  替換為實際的SDK版本號,如:

implementation 'com.huawei.hms:drive:5.0.0.302'
implementation 'com.huawei.hms:hwid:4.0.4.300'
implementation 'com.huawei.hms:push:4.0.3.300'

說明

使用Drive服務需要開發者同時整合華為帳號服務和華為推送服務。

多語言設定

·         如果您的應用不需要設定只支援某些特定語言,則請忽略本步驟。應用將預設支援所有HMS Core SDK支援的語言。

·         如果您的應用需要設定只支援某些特定語言,則可透過本步驟配置。

a.       開啟應用級的 “build.gradle”檔案。

 

b.      “android > defaultConfig”中新增 “resConfigs”,配置需要支援的語種,配置格式如下:

android {
        defaultConfig {
                ...
                resConfigs "en", "zh-rCN", "需要支援的其他語言"
        }
}

HMS Core SDK 支援的語言列表請參見 HMS Core SDK 支援的語言

同步工程

在完成以上的配置後,點選工具欄中的gradle同步圖示,完成 “build.gradle”檔案的同步,將相關依賴下載到本地。

 

說明

如果出現錯誤,請檢查網路連線是否正常,以及檢查 “build.gradle”檔案是否正確。

配置混淆指令碼

開發者編譯APK前需要配置混淆配置檔案,避免混淆HMS Core SDK導致功能異常。

1.      開啟Android工程的混淆配置檔案 “proguard-rules.pro”

2.      加入排除HMS Core SDK的混淆配置。

-ignorewarnings
-keepattributes *Annotation* 
-keepattributes Exceptions 
-keepattributes InnerClasses 
-keepattributes Signature 
-keepattributes SourceFile,LineNumberTable 
-keep class com.huawei.hianalytics.**{*;} 
-keep class com.huawei.updatesdk.**{*;} 
-keep class com.huawei.hms.**{*;} 
-keep class com.huawei.cloud.services.drive.**{*;}
-keep class com.huawei.cloud.base.** {*;}
-keep class com.huawei.cloud.client.** {*;}
-keep class com.huawei.cloud.base.json.JsonError{*;}
-keep class com.huawei.cloud.base.json.JsonErrorContainer{*;}

3.  如果開發者使用了AndResGuard,需要在混淆配置檔案中加入

1.    AndResGuard允許清單。
"R.string.hms*", 
"R.string.connect_server_fail_prompt_toast", 
"R.string.getting_message_fail_prompt_toast", 
"R.string.no_available_network_prompt_toast", 
"R.string.third_app_*", 
"R.string.upsdk_*", 
"R.layout.hms*", 
"R.layout.upsdk_*", 
"R.drawable.upsdk*", 
"R.color.upsdk*", 
"R.dimen.upsdk*", 
"R.style.upsdk*",
"R.string.agc*"

欲瞭解 HMS Core 更多詳情,請參閱:
>> 華為開發者聯盟官網

>> 獲取開發指導文件
>> 參與開發者討論請到 CSDN社群 或者 Reddit 社群
>> 下載 demo 和示例程式碼請到 Github 或者 Gitee
>> 解決整合問題請到 Stack Overflow


原文連結: https://developer.huawei.com/consumer/cn/forum/topic/0204580430772630027?fid=18

原作者:胡椒

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69970551/viewspace-2785360/,如需轉載,請註明出處,否則將追究法律責任。

相關文章