AppGallery Connect:如何將云存儲(chǔ)工具包集成到應(yīng)用中?

來源: HUAWEI
作者:Jessyyyyy
時(shí)間:2020-11-27
17135
本文中,我們將了解如何將華為云存儲(chǔ)工具包集成到您的應(yīng)用程序中。

華為云存儲(chǔ)可擴(kuò)展且無需維護(hù)。它使我們能夠通過直接訪問設(shè)備安全,經(jīng)濟(jì)地存儲(chǔ)大量數(shù)據(jù),例如用戶生成的圖像,音頻和視頻。它服務(wù)穩(wěn)定,安全,高效且易于使用,可以使開發(fā)者擺脫存儲(chǔ)服務(wù)器的開發(fā),部署,運(yùn)維和容量擴(kuò)展。開發(fā)人員可以專注于服務(wù)能力的建立和運(yùn)營,從而改善用戶體驗(yàn)。

本文中,我們將了解如何將華為云存儲(chǔ)工具包集成到您的應(yīng)用程序中。

一、事前準(zhǔn)備

  • 華為開發(fā)者帳號(hào)

  • HMS 4.0.0.300或更高版本的Huawei手機(jī)

  • 裝有Android Studio,Jdk 1.8,SDK平臺(tái)26和Gradle 4.6 的筆記本電腦或臺(tái)式機(jī)。

二、按照步驟來

1、在android studio中創(chuàng)建一個(gè)項(xiàng)目。

2、獲取SHA密鑰。要獲取SHA密鑰,請(qǐng)參閱本文。

3、在華為應(yīng)用程序庫connect中創(chuàng)建一個(gè)應(yīng)用程序。

4、在“管理API”部分中啟用身份驗(yàn)證服務(wù),帳戶工具包和云存儲(chǔ)設(shè)置。

5、在“應(yīng)用信息”部分提供SHA密鑰。

6、提供存儲(chǔ)位置。

7、進(jìn)入身份驗(yàn)證服務(wù),啟用“華為帳號(hào)”和“匿名帳號(hào)”。

8、啟用Cloud Storage后,在集成AppGallery Connect的Cloud Storage SDK時(shí),轉(zhuǎn)到我的項(xiàng)目>項(xiàng)目設(shè)置>常規(guī)信息,下載并打開agconnect-services.json文件,并將與存儲(chǔ)相關(guān)的內(nèi)容添加到服務(wù)標(biāo)簽。

例:

“云存儲(chǔ)”: {

“ storage_url”:“”,

“ default_bucket”:“”

}

a)我們可以選擇中國作為數(shù)據(jù)存儲(chǔ)位置。通過這種方式,設(shè)置storage_url:

https://agc-storage-drcn.platform.dbankcloud.cn

b)default_bucket的值是在“項(xiàng)目設(shè)置 -> 構(gòu)建-> 云存儲(chǔ)”頁面上的存儲(chǔ)實(shí)例框中輸入的信息。在agconnect-services.json文件中提供信息后,將文件復(fù)制并粘貼到android項(xiàng)目的app文件夾中。

9、將以下Maven網(wǎng)址復(fù)制并粘貼到buildscript和allprojects(項(xiàng)目build.gradle文件)的存儲(chǔ)庫中:

      專家{url'http://developer.huawei.com/repo/'}

10、將以下類路徑復(fù)制并粘貼到buildscript(項(xiàng)目build.gradle文件)的依賴項(xiàng)中:

      類路徑'com.huawei.agconnect:agcp:1.3.1.300'

11、將以下插件復(fù)制并粘貼到應(yīng)用程序build.gradle文件中:

  應(yīng)用插件:“ com.huawei.agconnect”

12、將以下庫復(fù)制并粘貼到應(yīng)用程序build.gradle文件的依賴項(xiàng)中:

實(shí)施'com.huawei.agconnect:agconnect-core:1.3.1.300'

實(shí)施'com.huawei.agconnect:agconnect-auth:1.3.1.300'

實(shí)現(xiàn)“ com.huawei.agconnect:agconnect-storage:1.3.0.92”

實(shí)施'com.huawei.hms:hwid:4.0.1.301'

13、在Android清單文件中的權(quán)限下方添加:

    <uses-permission android:name =“ android.permission.INTERNET”/>

    <uses-permission android:name =“ android.permission.ACCESS_WIFI_STATE”/>

    <uses-permission android:name =“ android.permission.ACCESS_NETWORK_STATE”/>

    <uses-permission android:name =“ android.permission.WRITE_EXTERNAL_STORAGE”/>

    <uses-permission android:name =“ android.permission.READ_EXTERNAL_STORAGE”/>

14、同步gradle。

三、編碼開始

云存儲(chǔ)的開發(fā)過程如下:

1)集成Auth Service SDK

2)啟用云存儲(chǔ)

3)初始化云存儲(chǔ)

4)管理文件

集成Auth Service SDK

云存儲(chǔ)取決于身份驗(yàn)證服務(wù)。我們需要預(yù)先集成Auth Service SDK。完成之后,我們已經(jīng)在應(yīng)用程序中實(shí)現(xiàn)了Auth Service SDK和HMS Account Kit SDK。現(xiàn)在我們必須在代碼中使用它。在這里將選擇兩種驗(yàn)證用戶身份的方法:

1)使用IdToken SignIn,我們將允許用戶登錄應(yīng)用程序。例如,如果用戶錯(cuò)誤地從應(yīng)用程序注銷,則他/她可以使用此功能輕松登錄。

ia_1600000004.jpg

編寫完以上代碼后,我們可以使用以下代碼獲得結(jié)果:

ia_1600000005.jpg

2)使用AGConnectUser,我們將檢查用戶是否已經(jīng)登錄。

ia_1600000006.jpg

3)由于我們使用兩種方法來確定用戶的簽到過程中,我們需要為了從應(yīng)用程序注銷用戶檢查這兩種情況。

ia_1600000007.jpg

啟用云存儲(chǔ)及初始化云存儲(chǔ)

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-cloudstorage-getstarted

管理檔案

在完成云存儲(chǔ)實(shí)例初始化之后,我們可以使用Cloud Storage SDK在我們的應(yīng)用程序中使用元數(shù)據(jù)上傳,下載,顯示文件列表,刪除文件以及顯示文件詳細(xì)信息。

上傳一個(gè)文件

使用Cloud Storage,您可以將本地設(shè)備上的目錄和文件快速上載到AppGallery Connect的云服務(wù)器。為此,我們需要先使用AGCStorageManagement創(chuàng)建一個(gè)StorageReference,然后使用該引用將文件從應(yīng)用程序上傳到云存儲(chǔ)。以下是將文件從應(yīng)用程序上傳到云存儲(chǔ)的代碼:

在應(yīng)用程序中,我們使用文件瀏覽器選擇文件,然后使用此功能將文件上傳到云存儲(chǔ)中。這里的curFilePath包含本地設(shè)備文件的路徑,而curFileName包含本地文件的名稱。

列出文件

Cloud Storage SDK允許通過調(diào)用API列出云目錄中的所有文件或子目錄。為此,我們需要先使用AGCStorageManagement創(chuàng)建一個(gè)StorageReference,然后使用該引用將所有文件(包括目錄從Huawei Cloud Storage)獲取到我們的應(yīng)用程序,并將其存儲(chǔ)在HashMap或列出適合我們的列表中。以下是從云存儲(chǔ)獲取所有文件的代碼的列表:

ia_1600000008.jpg

在上面的代碼中,expandableStorageList是哈希表,該哈希表將所有文件的列表存儲(chǔ)為值,將目錄存儲(chǔ)為鍵。

顯示文件的詳細(xì)信息

將文件保存到云后,您可以獲取文件的元數(shù)據(jù)(詳細(xì)信息)以確定是否下載文件。為了獲得文件的詳細(xì)信息,我們將調(diào)用StorageReference.getFileMetadata方法來獲取包含文件元數(shù)據(jù)的FileMetadata實(shí)例。以下是實(shí)現(xiàn)文件元數(shù)據(jù)或文件詳細(xì)信息的代碼:

ia_1600000009.jpg

下載文件

將文件上傳到云后,您可以調(diào)用Cloud Storage SDK將云上的文件下載到本地設(shè)備。為了下載文件,我們將調(diào)用StorageReference.getFile方法將云中的文件數(shù)據(jù)寫入本地文件。以下是將文件從云存儲(chǔ)下載到本地設(shè)備的代碼:

ia_1600000011.jpg

刪除文件

我們可以調(diào)用Cloud Storage SDK從應(yīng)用客戶端上的云中刪除不必要的文件。為了從應(yīng)用程序中刪除文件,我們需要調(diào)用StorageReference.delete來刪除云上的文件。以下是使用我們的應(yīng)用程序從云存儲(chǔ)中刪除文件的代碼:

ia_1600000012.jpg

想要查詢更多的信息

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-cloudstorage-introduction

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于HUAWEI,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家