【HarmonyOS Next之旅】DevEco Studio使用指南(二十六) -> 創建端云一體化開發工程

目錄

1 -> 創建HarmonyOS應用工程

1.1 -> 新建工程

1.1.1 -> 前提條件

1.1.2 -> 選擇模板

1.1.3 -> 配置工程信息

1.1.4 -> 關聯云開發資源

1.2 -> 工程初始化配置

1.2.1 -> 自動開通云開發服務

1.3 -> 端云一體化開發工程目錄結構

1.3.1 -> 端開發工程(Application)

1.3.2 -> 云開發工程(CloudProgram)

2 -> 創建元服務工程

2.1 -> 新建工程

2.1.1 -> 前提條件

2.1.2 -> 選擇模板

2.1.3 -> 關聯云開發資源

2.1.4 -> 配置工程信息

2.2 -> 工程初始化配置

2.2.1 -> 自動開通云開發服務

2.3 -> 端云一體化開發工程目錄結構

2.3.1 -> 端開發工程(Application)

2.3.2 -> 云開發工程(CloudProgram)

3 -> 歷史工程轉換為端云一體化開發工程


1 -> 創建HarmonyOS應用工程

1.1 -> 新建工程

1.1.1 -> 前提條件

  • 已實名認證、且注冊地為中國境內(不包含中國香港、中國澳門、中國臺灣)的華為開發者賬號登錄DevEco Studio。
  • 請確保華為開發者賬號無欠款,賬戶欠費將導致云存儲服務開通失敗。

1.1.2 -> 選擇模板

1. 選擇以下任一種方式,打開工程創建向導界面。

  • 如果當前未打開任何工程,可以在DevEco Studio的歡迎頁點擊“Create Project”開始創建一個新工程。
  • 如果已經打開了工程,可以在菜單欄選擇“File > New > Create Project”來創建一個新工程。

2. 在“Application”頁簽,選擇合適的云開發模板,然后點擊“Next”。

說明

當前僅支持通用云開發模板([CloudDev]Empty Ability)。

1.1.3 -> 配置工程信息

1. 在工程配置界面,配置工程的基本信息。

參數說明
Project name工程的名稱,由大小寫字母、數字和下劃線組成。
Bundle name軟件包名稱,需保證唯一,且需與您在AGC創建的HarmonyOS應用的“應用包名”一致。
Save location工程文件本地存儲路徑,由大小寫字母、數字和下劃線等組成,不能包含中文字符。
Compatible SDK

兼容的最低API Version。

使用基于Cloud Foundation Kit(云開發服務)的端云一體化開發功能,請選擇5.0.0(12)或以上版本。

Module name模塊名稱。
Device type該工程模板支持的設備類型,目前僅支持手機設備。
Enable CloudDev是否啟用云開發。云開發模板默認啟用且無法更改。

2. 點擊“Next”,開始關聯云開發資源。

1.1.4 -> 關聯云開發資源

為工程關聯云開發所需的資源,即將您賬號團隊在AGC創建的同包名應用關聯到當前工程。具體操作如下:

1. (可選)如您尚未登錄DevEco Studio,點擊“Sign In”,在彈出的賬號登錄頁面,使用已實名認證的華為開發者賬號完成登錄。

登錄成功后,界面將展示賬號昵稱。

2. 點擊“Team”下拉框,選擇開發團隊。?

3. 關聯應用

選中團隊后,系統根據工程Bundle name在該團隊中自動查詢AGC上的同包名應用。

  • 如查詢到應用,選中該應用,點擊“Finish”即可。

如查詢到的應用尚未關聯任何項目(即為游離應用),則無法選中。

如果查詢到的應用所屬項目尚未啟用數據處理位置,請點擊界面提示內的“AppGallery Connect”設置數據處理位置。

注意

  • 由于云開發目前僅支持中國站點,請確保項目啟用的數據處理位置包含中國站點。
  • 無論項目啟用的默認數據處理位置為哪個站點,后續開發的云服務資源都將部署在中國站點。

如查詢到應用但出現如下提示,表明查詢到的應用類型為元服務,與當前工程類型不一致。請修改以確保當前工程與AGC上同包名應用均為HarmonyOS應用類型。

如在當前團隊中未查詢到同包名應用,請先確認填寫的包名是否有誤。

  • 如包名有誤,點擊界面提示中的“go back”返回工程信息配置界面進行修改。
  • 如包名無誤,則表明當前團隊尚未在AGC控制臺創建與當前工程包名相同的應用。您可點擊界面提示中的“AppGallery Connect”,前往AGC控制臺進行補充創建。

完成以上操作后,DevEco Studio即可獲取到同包名應用信息。選中應用后,點擊“Finish”。

4. 如所屬的團隊尚未簽署云開發相關協議,點擊協議鏈接仔細閱讀協議內容后,勾選同意協議,點擊“Finish”。

說明

只有賬號持有者和法務角色才有權限簽署協議。

5. 進入主開發界面,DevEco Studio執行工程同步操作,端側工程會自動執行“ohpm install”,云側工程會自動執行“npm install”,以分別下載端側和云側依賴。

說明

若云側執行“npm install”失敗,請排查是否尚未配置npm運行環境。

6. 在主開發界面,可查看剛剛新建的工程。

1.2 -> 工程初始化配置

當您成功創建工程并關聯云開發資源后,DevEco Studio會為您的工程自動執行一些初始化配置。

1.2.1 -> 自動開通云開發服務

DevEco Studio為工程關聯的項目自動開通云函數、云數據庫、云存儲等云開發服務,您可在“Notifications”窗口查看服務開通狀態。

說明

  • 如服務開通失敗,可通過CloudDev云開發管理面板快捷進入AGC控制臺進行手動開通。
  • 如云存儲服務自動開通與手動開通均失敗,可能是賬戶欠費導致。請您???????檢查賬戶是否余額不足,補齊全款后再前往AGC控制臺進行手動開通。

1.3 -> 端云一體化開發工程目錄結構

端云一體化開發工程主要包含端開發工程(Application)與云開發工程(CloudProgram)。

1.3.1 -> 端開發工程(Application)

端開發工程主要用于開發應用端側的業務代碼,通用云開發模板的端開發工程目錄結構如下圖所示。“Application/cloud_objects”模塊用于存放云對象的端側調用接口類,“src/main/ets/pages”目錄下包含了云存儲、云數據庫和云函數頁面。

1.3.2 -> 云開發工程(CloudProgram)

在云開發工程中,您可為您的應用開發云端代碼,包括云函數和云數據庫服務代碼。通用云開發模板的云開發工程目錄結構如下圖所示。

clouddb:云數據庫目錄,包含數據條目目錄(dataentry)和對象類型目錄(objecttype)。

  • dataentry:用于存放數據條目文件。

    該目錄下一般會根據您選擇的云開發模板預置數據條目示例文件。在通用云開發模板工程中,該目錄下會預置名為“d_Post.json”的數據條目示例文件,內含兩條示例數據。您可按需使用、修改或刪除。

objecttype:用于存放對象類型文件。

該目錄下一般會根據您選擇的云開發模板預置對象類型示例文件。在通用云開發模板工程中,該目錄下會預置名為“Post.json”的對象類型示例文件,內含對象類型“Post”的權限、索引、字段名稱和字段值等。您可按需使用、修改或刪除。

  • db-config.json:模塊配置文件,主要包含云數據庫工程的配置信息,如默認存儲區名稱、默認數據處理位置。
  • cloudfunctions:云函數目錄,包含各個云函數/云對象子目錄。每個子目錄下包含了云函數/云對象的配置文件、入口文件、依賴文件等。

    該目錄下一般會根據您選擇的云開發模板預置示例函數。通用云開發模板工程下預置了一個用于生成UUID的示例云對象“id-generator”,您可按需使用、修改或刪除。

  • node_modules:工程同步時執行“npm install”生成,包含“typescript”和“@types/node”公共依賴。
  • cloud-config.json:云開發工程配置文件,包含應用名稱與ID、項目名稱與ID、啟用的數據處理位置、支持的設備類型等。
  • package.json:定義了“typescript”和“@types/node”公共依賴。
  • package-lock.json:工程同步時執行“npm install”生成,記錄當前狀態下實際安裝的各個npm package的具體來源和版本號。

2 -> 創建元服務工程

2.1 -> 新建工程

2.1.1 -> 前提條件

  • 您已使用???????已實名認證、且注冊地為中國境內(不包含中國香港、中國澳門、中國臺灣)的華為開發者賬號登錄DevEco Studio。
  • 請確保您的華為開發者賬號無欠款,賬戶欠費將導致云存儲服務開通失敗。

2.1.2 -> 選擇模板

1. 選擇以下任一種方式,打開工程創建向導界面。

  • 如果當前未打開任何工程,可以在DevEco Studio的歡迎頁點擊“Create Project”開始創建一個新工程。
  • 如果已經打開了工程,可以在菜單欄選擇“File > New > Create Project”來創建一個新工程。

2. 點擊“Atomic Service”頁簽,選擇合適的云開發模板,然后點擊“Next”。

說明

當前僅支持通用云開發模板([CloudDev]Empty Ability)。

2.1.3 -> 關聯云開發資源

為工程關聯云開發所需的資源,即將您賬號團隊在AGC創建的元服務關聯到待創建工程。具體操作如下:

1. (可選)如您尚未登錄DevEco Studio,點擊“Sign In”,在彈出的賬號登錄頁面,使用???????已實名認證的華為開發者賬號完成登錄。

登錄成功后,界面將展示賬號昵稱。

2. 選擇已登錄賬號下的APP ID,以關聯AGC上的元服務。

  • 從APP ID下拉列表中選中所需的APP ID后,界面會展示該元服務在AGC控制臺的名稱、所屬項目、包名與數據處理位置。確認無誤后,點擊“Next”。

說明

元服務包名為自動生成,格式為固定前綴與appid的組合(com.atomicservice.[appid])。不符合命名規范的包名無法在APP ID下拉列表中展示。

  • 如APP ID為空,表明當前賬號下尚未在AGC控制臺創建元服務。您可點擊“Register App ID”,???????前往AGC控制臺進行補充創建。

創建成功后返回DevEco Studio界面,點擊“Refresh”刷新當前APP ID列表,選擇新生成的APP ID,點擊“Next”即可。

  • 如查詢到的元服務尚未關聯任何項目,則無法選中。請先???????將游離元服務添加到AGC項目下。

如果查詢到的元服務所屬項目尚未啟用數據處理位置,請點擊界面提示內的“AppGallery Connect”???????設置數據處理位置。

注意

  • 由于云開發目前僅支持中國站點,請確保項目啟用的數據處理位置包含中國站點。
  • 無論項目啟用的默認數據處理位置為哪個站點,后續開發的云服務資源都將部署在中國站點。

2.1.4 -> 配置工程信息

1. 進入工程配置界面,配置工程的基本信息。

參數說明
Project name工程的名稱,由大小寫字母、數字和下劃線組成。
Bundle name創建元服務時自動生成,不支持手動修改。
Save location工程文件本地存儲路徑,由大小寫字母、數字和下劃線等組成,不能包含中文字符。
Compatible SDK

兼容的最低API Version。

元服務使用基于Cloud Foundation Kit(云開發服務)的端云一體化開發功能,請選擇5.0.0(12)或以上版本。

Module name模塊名稱。
Device type該工程模板支持的設備類型,目前僅支持手機設備。
Enable CloudDev是否啟用云開發。云開發模板默認啟用且無法更改。

2. 點擊“Finish”,進入主開發界面,DevEco Studio執行工程同步操作,端側工程會自動執行“ohpm install”,云側工程會自動執行“npm install”,以分別下載端側和云側依賴。

說明

若云側執行“npm install”失敗,請排查是否尚未???????配置npm運行環境。

3. 在主開發界面,可查看剛剛新建的工程。

2.2 -> 工程初始化配置

當您成功創建工程并關聯云開發資源后,DevEco Studio會為您的工程自動執行一些初始化配置。

2.2.1 -> 自動開通云開發服務

DevEco Studio為工程關聯的項目自動開通云函數、云數據庫、云存儲等云開發服務,您可在“Notifications”窗口查看服務開通狀態。

說明

  • 如服務開通失敗,您可通過???????CloudDev云開發管理面板快捷進入AGC控制臺進行手動開通。
  • 如云存儲服務自動開通與手動開通均失敗,可能是賬戶欠費導致。請您???????檢查賬戶是否余額不足,???????補齊欠款后再前往AGC控制臺進行手動開通。

2.3 -> 端云一體化開發工程目錄結構

端云一體化開發工程主要包含端開發工程(Application)與云開發工程(CloudProgram)。

2.3.1 -> 端開發工程(Application)

端開發工程主要用于開發應用端側的業務代碼,通用云開發模板的端開發工程目錄結構如下圖所示。“Application/cloud_objects”模塊用于存放云對象的調用接口類,“src/main/ets/pages”目錄下包含了云存儲、云數據庫和云函數頁面。

2.3.2 -> 云開發工程(CloudProgram)

在云開發工程中,可為元服務開發云端代碼,包括云函數和云數據庫服務代碼。通用云開發模板的云開發工程目錄結構如下圖所示。

clouddb:云數據庫目錄,包含數據條目目錄(dataentry)和對象類型目錄(objecttype)。

  • dataentry:用于存放數據條目文件。

    該目錄下一般會根據您選擇的云開發模板預置數據條目示例文件。在通用云開發模板工程中,該目錄下會預置名為“d_Post.json”的數據條目示例文件,內含兩條示例數據。您可按需使用、修改或刪除。

  • objecttype:用于存放對象類型文件。該目錄下一般會根據您選擇的云開發模板預置對象類型示例文件。在通用云開發模板工程中,該目錄下會預置名為“Post.json”的對象類型示例文件,內含對象類型“Post”的權限、索引、字段名稱和字段值等。您可按需使用、修改或刪除。???????

  • db-config.json:模塊配置文件,主要包含云數據庫工程的配置信息,如默認存儲區名稱、默認數據處理位置。
  • cloudfunctions:云函數目錄,包含各個云函數/云對象子目錄。每個子目錄下包含了云函數/云對象的配置文件、入口文件、依賴文件等。

    該目錄下一般會根據您選擇的云開發模板預置示例函數。通用云開發模板工程下預置了一個用于生成UUID的示例云對象“id-generator”,您可按需使用、修改或刪除。

  • node_modules:工程同步時執行“npm install”生成,包含“typescript”和“@types/node”公共依賴。
  • cloud-config.json:云開發工程配置文件,包含應用名稱與ID、項目名稱與ID、啟用的數據處理位置、支持的設備類型等。
  • package.json:定義了“typescript”和“@types/node”公共依賴。
  • package-lock.json:工程同步時執行“npm install”生成,記錄當前狀態下實際安裝的各個npm package的具體來源和版本號。

3 -> 歷史工程轉換為端云一體化開發工程

如此前已經創建了非端云一體化開發工程,希望直接轉換為端云一體化開發工程,可執行如下操作:

說明

DevEco Studio NEXT Beta1版本之前的非端云一體化歷史工程,在轉換前需先進行???????一體化工程遷移。

1. 創建一個端云一體化開發工程,其中工程的類型(HarmonyOS應用或元服務)必須與您歷史工程類型一致,同時Bundle name必須指定為您歷史工程的Bundle name。在創建端云一體化開發工程過程中,該Bundle name會關聯到AGC應用、項目等云端資源。

2. 打開創建的端云一體化開發工程,右擊端開發工程“Application”,選擇“Open In > Explorer”,打開工程文件所在的目錄。

3. 刪除端云一體化開發工程的端側工程目錄“Application”。

4. 將歷史工程目錄(如“MyApplication30”)拷貝至步驟3的端云一體化開發工程目錄下,并改名為“Application”。

5. 重新打開端云一體化開發工程,可發現歷史工程的端側代碼已遷移至端云一體化開發工程。


感謝各位大佬支持!!!

互三啦!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/82118.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/82118.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/82118.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python 包管理工具 uv

Python 包管理工具 uv 是由 Astral 團隊(知名工具 Ruff 的開發者)基于 Rust 開發的新一代工具,旨在通過高性能和一體化設計革新 Python 生態的依賴管理體驗。以下是其核心特性、優勢及使用指南的全面解析: 一、uv 的核心優勢 極致…

何謂第二大腦?讀書筆記

2025/05/11 發表想法 每個人都是矛盾結合體,既想學到新知識、新的能力,又想沒辦法專注的學習,既無法專注有渴望學習新技能,逐漸會產生焦慮、失眠等負面癥狀,這就是現實社會現照,那怎么辦?我們能…

動態防御體系實戰:AI如何重構DDoS攻防邏輯

1. 傳統高防IP的靜態瓶頸 傳統高防IP依賴預定義規則庫,面對SYN Flood、CC攻擊等常見威脅時,常因規則更新滯后導致誤封合法流量。例如,某電商平臺遭遇HTTP慢速攻擊時,靜態閾值過濾無法區分正常用戶與攻擊者,導致訂單接…

為什么在設置 model.eval() 之后,pytorch模型的性能會很差?為什么 dropout 影響性能?| 深度學習

在深度學習的世界里,有一個看似簡單卻讓無數開發者困惑的現象: “為什么在訓練時模型表現良好,但設置 model.eval() 后,模型的性能卻顯著下降?” 這是一個讓人抓耳撓腮的問題,幾乎每一個使用 PyTorch 的研究…

[爬蟲知識] http協議

相關爬蟲專欄:JS逆向爬蟲實戰 爬蟲知識點合集 爬蟲實戰案例 引言:爬蟲與HTTP的不解之緣 爬蟲作用:模擬瀏覽器請求網頁為何要懂HTTP:http是網絡通信的基石,爬蟲抓取數據就是通過HTTP協議進行的,了解http有…

《Spark/Flink/Doris離線實時數倉開發》目錄

歡迎加入《Spark/Flink/Doris離線&實時數倉開發》付費專欄!本專欄專為大數據工程師、數據分析師及準備大數據面試的求職者量身打造,聚焦Spark、Flink、Doris等核心技術,覆蓋離線與實時數倉開發的全流程。無論你是想快速上手項目、提升技術…

事務基礎概念

事務 事務是什么? 事務是一種機制,一個操作序列,包含了一組數據庫操作命令,并且把所有命令作為一個整體一起向系統提交或者撤銷操作請求,即統一這組命令要么一起執行,要么一起不執行 簡短概況就是&#…

四、【API 開發篇 (上)】:使用 Django REST Framework 構建項目與模塊 CRUD API

【API 開發篇 】:使用 Django REST Framework 構建項目與模塊 CRUD API 前言為什么選擇 Django REST Framework (DRF)?第一步:創建 Serializers (序列化器)第二步:創建 ViewSets (視圖集)第三步:配置 URLs (路由)第四步…

【北京盈達科技】GEO優化中的多模態了解

多模態數據處理領域,“模態”指的是不同類型的數據形式,每種模態都具有獨特的結構和信息表達方式。以下是12種可能的模態類型,這些模態在實際應用中可以根據具體場景進行組合和處理: 1. 文本模態 描述:以文字形式存在…

推進可解釋人工智能邁向類人智能討論總結分享

目錄 一、探索“可解釋人工智能”:AI如何從“黑箱”走向“透明大師” 二、走進可解釋人工智能:讓AI的決策變得透明 (一)幾種常見的特征導向方法 (二)像素級方法 1. 層次相關傳播(LRP&#…

【Qt】Qt 5.9.7使用MSVC2015 64Bit編譯器

環境 Qt版本:5.9.7 VS版本:VS2022 步驟 1、安裝VS2022 三個必選項: a、使用C的桌面開發 b、Windows10 SDK 版本:10.0.18362.0 c、MSVC v140 VS 2015 生成工具 Windows10 SDK安裝完成后,需要增加安裝調試器。 2…

超越OpenAI CodeX的軟件工程智能體:Jules

目前AI編碼代理(coding agent)領域正迅速崛起,Google推出了一款名為Jules的非同步編碼代理(asynchronous coding agent),主要針對專業開發者,與傳統在開發環境中直接輔助編碼的Cursor或Windsurf…

springboot使用xdoc-report包導出word

背景:項目需要使用xdoc-report.jar根據設置好的word模版,自動填入數據 導出word 框架使用 我的需求是我做一個模板然后往里面填充內容就導出我想要的word文件,問了下chatgpt還有百度,最后選用了xdocreport這個框架,主…

CodeBuddy實現pdf批量加密

本文所使用的 CodeBuddy 免費下載鏈接:騰訊云代碼助手 CodeBuddy - AI 時代的智能編程伙伴 前言 在信息爆炸的時代,PDF 格式因其跨平臺性和格式穩定性,成為辦公、學術、商業等領域傳遞信息的重要載體。從機密合同到個人隱私文檔&#xff0c…

如何在PyCharm2025中設置conda的多個Python版本

前言 體驗的最新版本的PyCharm(Community)2025.1.1,發現和以前的版本有所不同。特別是使用Anaconda中的多個版本的Python的時候。 關于基于Anaconda中多個Python版本的使用,以及對應的Pycharm(2023版)的使用,可以參考…

STM32F103 HAL多實例通用USART驅動 - 高效DMA+RingBuffer方案,量產級工程模板

導言 《STM32F103_LL庫寄存器學習筆記12.2 - 串口DMA高效收發實戰2:進一步提高串口接收的效率》前陣子完成的LL庫與寄存器版本的代碼,有一個明顯的缺點是不支持多實例化。最近,計劃基于HAL庫系統地梳理一遍bootloader程序開發。在bootloader程…

【數據結構】棧和隊列(上)

目錄 一、棧(先進后出、后進先出的線性表) 1、棧的概念及結構 2、棧的底層結構分析 二、代碼實現 1、定義一個棧 2、棧的初始化 3、入棧 3、增容 4、出棧 5、取棧頂 6、銷毀棧 一、棧(先進后出、后進先出的線性表) 1、…

Vue 3 官方 Hooks 的用法與實現原理

Vue 3 引入了 Composition API,使得生命周期鉤子(hooks)在函數式風格中更清晰地表達。本篇文章將從官方 hooks 的使用、實現原理以及自定義 hooks 的結構化思路出發,全面理解 Vue 3 的 hooks 系統。 📘 1. Vue 3 官方生…

大語言模型 17 - MCP Model Context Protocol 介紹對比分析 基本環境配置

MCP 基本介紹 官方地址: https://modelcontextprotocol.io/introduction “MCP 是一種開放協議,旨在標準化應用程序向大型語言模型(LLM)提供上下文的方式。可以把 MCP 想象成 AI 應用程序的 USB-C 接口。就像 USB-C 提供了一種…

云原生安全之PaaS:從基礎到實踐的技術指南

??「炎碼工坊」技術彈藥已裝填! 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 云原生安全之PaaS:從基礎到實踐的技術指南 一、基礎概念 PaaS(Platform as a Service)平臺 PaaS是一種云計算服務模型,為開發者提供應用程序的開發、部署和運行環境,涵…