国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

鴻蒙應用程序Ability(能力)看這一篇就夠

系統
文章由鴻蒙社區產出,想要了解更多內容請前往:51CTO和華為官方戰略合作共建的鴻蒙技術社區https://harmonyos.51cto.com

[[387000]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

本節概述

  • 什么是Ability
  • Ability分類
  • Ability生命周期
  • Ability之間跳轉

什么是Ability

Ability意為能力,是HarmonyOS應用程序提供的抽象功能。在Android應用程序中,Activity是整個應用程序的核心,其意為活動。無論是活動還是能力都是一種表述形式,雖然直譯后理解起來比較抽象,但如果我們把它們理解為功能,這樣就比較方便了。

就目前單一設備而言,我們可以使用手機打電話,發短信,玩游戲等,這些就是手機具有能力。在生活中,能力的體現無處不在,比如電飯煲具有蒸煮煲湯的能力;電視具有播放視頻的能力;音響具有外放音樂的能力。

但HarmonyOS分布式系統所要實現的不僅僅是單一的能力,它所要達到的效果是能力可以單獨存在,可以互相關聯,可以彼此調用互相遷移。比如可以將手機端播放的視頻遷移到智慧屏,通過大屏來觀看視頻,同時也可以將視頻音效分離到外設音響;通過設備A獲取設備B的數據;多設備終端數據同步等。

在HarmonyOS分布式系統中,一切皆能力,能力無大小。在HarmonyOS應用程序中,一個頁面即一種能力,如登錄頁面,即具有登錄功能的能力;一個服務即一種能力,如后臺播放音樂的能力;一個數據操作即一種能力,如獲取數據庫數據等。同時能力之間也可以互相調用,通過頁面能力來管理后臺音效播放與暫停。

面向對象編程中一切皆對象,在HarmonyOS中一切皆能力。

Ability分類

一個HarmonyOS應用程序可以包含一個或多個能力。HarmonyOS應用程序可以以能力為單位進行部署。在HarmonyOS應用程序中將能力分為FA(Feature Ability,即元程序)和PA(Particle Ability,即元服務)兩種類型,針對兩種類型提供了不同的模板可以在日常業務開發中直接使用。

FA支持Page Ability

FA代表有UI界面的能力,被設計用于與用戶交互。直白點就是給用戶提供可操作的頁面,官方根據不同的業務類型提供了不同種類的模板,比如關于頁面、列表頁面、個人中心頁面等,可以根據不同的使用場景來選擇不同的模板,也可以在當前模板的基礎上進行修改以達到功能的快速實現。同時也可以調用PA支持的能力,來實現復雜的業務邏輯,比如在新聞內容頁面通過Service Ability實現后臺自動播放音樂。

PA支持Service Ability 和Data Ability

PA代表沒有UI界面的能力,用于支持FA。例如提供數據訪問能力作為數據存儲。Service Ability提供后臺運行任務的能力;Data Ability提供插入、刪除、更新、查詢及打開文件的能力。

Ability生命周期

能力有四種生命周期狀態:INITIAL(初始態)、INACTIVE(未激活)、ACTIVE(激活)、BACKGROUND(后臺)。

INITIAL: 初始狀態。將即將啟動的能力加載到內存中,但不運行。

INACTIVE:未激活狀態。前臺和后臺中間的狀態,該狀態下UI可見,但不可操作。

ACTIVE:激活狀態。當前置于前臺頁面完整呈現,可交互狀態。

BACKGROUND: 不可見狀態。也稱置于后臺,比如A頁面跳轉到B頁面,則B頁面呈現,A頁面隱藏。這種狀態的頁面在內存不足情況下會被銷毀。

整個完整的生命周期圖如下所示(來自官方):

注(翻譯錯誤):圖中由于內存不足或用戶跳轉到該能力之后能力被系統銷毀改為系統內存不足等原因導致終止能力,用戶重新導航到該能力。

所有頁面能力都必須從重寫onStart()方法開始,該能力的所有生命周期回調方法如下:

  1. @Override 
  2.   public void onStart(Intent intent) { 
  3.       super.onStart(intent); 
  4.       super.setMainRoute(HomeAbilitySlice.class.getName()); 
  5.   } 
  6.  
  7.   @Override 
  8.   protected void onActive() { 
  9.       super.onActive(); 
  10.   } 
  11.  
  12.   @Override 
  13.   protected void onInactive() { 
  14.       super.onInactive(); 
  15.   } 
  16.  
  17.   @Override 
  18.   protected void onBackground() { 
  19.       super.onBackground(); 
  20.   } 
  21.  
  22.   @Override 
  23.   protected void onForeground(Intent intent) { 
  24.       super.onForeground(intent); 
  25.   } 
  26.  
  27.   @Override 
  28.   protected void onStop() { 
  29.       super.onStop(); 
  30.   } 

這里我們專門寫一個頁面間跳轉來觀察能力的生命周期,使用HiLog日志的形式來查看。運行應用程序并點擊跳轉,然后再返回,日志控制臺輸出如下所示。

  1. Ability_Lifecycle: MainAbility onInitialized()方法... 
  2. Ability_Lifecycle: MainAbility onStart()方法... 
  3. Ability_Lifecycle: MainAbility onActive()方法... 
  4. Ability_Lifecycle: MainAbility onInactive()方法... 
  5. Ability_Lifecycle: HomeAbility onInitialized()方法... 
  6. Ability_Lifecycle: HomeAbility onStart()方法... 
  7. Ability_Lifecycle: HomeAbility onActive()方法... 
  8. Ability_Lifecycle: MainAbility onBackground()方法... 
  9. Ability_Lifecycle: HomeAbility onInactive()方法... 
  10. Ability_Lifecycle: MainAbility onForeground()方法... 
  11. Ability_Lifecycle: MainAbility onActive()方法... 
  12. Ability_Lifecycle: HomeAbility onBackground()方法... 
  13. Ability_Lifecycle: HomeAbility onStop()方法... 

從日志我們觀察到先啟動MainAbility,當跳轉到HomeAbility時,HomeAbility被激活,而MainAbility進入不可見(也就是后臺),當點擊返回按鈕后,MainAbility回到前臺并激活,而HomeAbility將不可見并銷毀。

Ability之間跳轉

Ability之間的跳轉是以意圖(Intent)為載體來承載需要對象之間傳遞的信息。通過封裝意圖相關的參數(Parameters)和操作(Operation),可以啟動或跳轉到另一個能力。

  1. Button button = (Button) findComponentById(ResourceTable.Id_btn); 
  2.  button.setClickedListener(l -> { 
  3.      Operation operation = new Intent.OperationBuilder() 
  4.              .withDeviceId(""
  5.              .withBundleName("com.itming.walking.photokit"
  6.              .withAbilityName("com.itming.walking.photokit.HomeAbility"
  7.              .build(); 
  8.      intent.setOperation(operation); 
  9.      startAbility(intent); 
  10.  }); 

本節主要闡述了能力(Ability)是什么、分類、生命周期及如何使用,后續將對Ability中方法進行詳解,敬請期待...

注:文中若有理解偏差,歡迎一起討論!

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2025-07-04 02:12:00

2021-09-29 09:00:19

Linux虛擬機CentOS

2021-04-08 07:37:39

隊列數據結構算法

2023-09-11 08:13:03

分布式跟蹤工具

2022-08-01 11:33:09

用戶分析標簽策略

2022-07-19 19:39:05

RTK技術定位技術

2023-02-10 09:04:27

2020-02-18 16:20:03

Redis ANSI C語言日志型

2022-06-20 09:01:23

Git插件項目

2020-10-17 08:48:12

搞懂“智能聯接”

2017-03-11 22:19:09

深度學習

2022-04-07 10:39:21

反射Java安全

2023-11-18 09:30:42

模型AI

2020-09-10 06:56:12

SringMVC源碼參數

2019-05-14 09:31:16

架構整潔軟件編程范式

2023-10-17 08:15:28

API前后端分離

2020-07-03 08:21:57

Java集合框架

2018-05-22 08:24:50

PythonPyMongoMongoDB

2024-09-23 08:00:00

消息隊列MQ分布式系統

2025-08-07 04:10:00

光模塊AI網絡
點贊
收藏

51CTO技術棧公眾號

成人免费短视频| 国产午夜精品一区理论片| 欧美色爱综合| 亚洲国产私拍精品国模在线观看| 国产精品黄页网站在线播放免费| 蜜芽一区二区三区| 99精品国产一区二区| 午夜日韩影院| 亚洲日本aⅴ片在线观看香蕉| 国模精品一区二区| 亚洲一区欧美一区| 亚洲综合欧美激情| 99久久久精品| 女人床在线观看| 久久中文欧美| 国产伦精品一区二区三区免费视频 | 97香蕉久久超级碰碰高清版| 成人av免费电影网站| 欧美一级片免费看| 999在线视频| 狠狠躁夜夜躁人人爽天天天天97| 成人在线视频一区二区| 日韩精品伦理第一区| 永久91嫩草亚洲精品人人| 国产成人鲁鲁免费视频a| 卡通动漫精品一区二区三区| 欧美日韩国产二区| 日韩一区二区三区精品视频第3页| 中文字幕自拍vr一区二区三区| av3级在线| 精品国产sm最大网站免费看| 日韩av毛片| 国产一区二区三区精品欧美日韩一区二区三区 | 欧洲精品一区| 韩国19禁主播vip福利视频| 97se亚洲| 日韩免费av在线| 中文有码一区| 国产精品99久久99久久久二8| 国产一区二区三区网| 成人在线一区二区| 日韩一区二区免费看| 亚洲国产一区二区三区在线| 久久精品国产在热久久| 免费超爽大片黄| 中文在线一区二区 | 亚洲精品少妇网址| 欧美亚洲大片| 久久综合免费视频| 国产精品亚洲二区| www.av一区视频| 日韩黄色一级片| 9久久9毛片又大又硬又粗| 中文av一区特黄| 免费福利在线视频| 日韩精品一区二区三区蜜臀| 男人天堂999| 国产精品毛片久久久久久久| 在线视频你懂| 日韩欧美亚洲一区二区| 欧美高清免费| 国产精品av在线| 亚洲精品资源| 欧美a级免费视频| 国产精品萝li| 黄色av网站在线| 国产一区二区动漫| 国产欧美一区二区三区精品观看 | 国产欧美一区二区精品性| 干日本少妇首页| 亚洲一区二区三区在线| 欧美激情二区| 西西裸体人体做爰大胆久久久| 日韩国产在线一区| 成人的网站免费观看| 男男做性免费视频网| 欧美不卡在线视频| 一区二区三区国产好| 99国精产品一二二线| 丁香六月综合激情| 午夜视频99| 精品精品国产高清一毛片一天堂| 在线看三级电影| 亚洲精品国产综合久久| 国产在线一区二区三区欧美| 国产女主播在线直播| 亚洲美女久久久| 99久久婷婷这里只有精品| 亚洲国产精品一区二区第一页| 国产免费久久精品| caoporn免费在线视频| 久久精品国产96久久久香蕉| 欧美精品不卡| 成年人在线看片| 日韩欧美成人激情| 欧洲杯足球赛直播| 毛片在线视频观看| 欧美性猛交xxxx黑人交| 9l视频自拍蝌蚪9l视频成人| 日韩电影大全在线观看| 亚洲综合色噜噜狠狠| 欧美va在线观看| 精品久久久久久亚洲| 亚洲精品免费在线观看| 日本精品不卡| 玛丽玛丽电影原版免费观看1977 | 亚洲精品电影网在线观看| 欧美精品一区二区久久| 男女猛烈激情xx00免费视频| 6080国产精品一区二区| 欧洲杯什么时候开赛| 91av在线免费播放| 伊人一区二区三区久久精品| 日韩和欧美的一区| 国产区高清在线| 国产精品久久久av| 中文字幕一区三区| 国产精品成人3p一区二区三区| 亚洲色欲色欲www| 日韩脚交footjobhd| 精品国产一区二区三区麻豆免费观看完整版 | 视频二区在线| 欧美专区国产专区| 国产偷国产偷亚洲高清人白洁| 私拍精品福利视频在线一区| 99er在线视频| 一本一本大道香蕉久在线精品| 日韩精品免费视频一区二区三区| 蜜桃传媒视频第一区入口在线看| 欧美优质美女网站| 国产丝袜精品丝袜| 91精品久久久久久久| 毛片一区二区| 欧美极度另类| 亚洲成人av片| 国产视频一区在线观看一区免费| 中国大陆高清aⅴ毛片| 欧美一级成年大片在线观看| 国产精品视频在线看| 成人影院中文字幕| 中文字幕免费中文| 91av在线播放视频| 中文字幕日韩精品一区| 欧美电影完整版在线观看| 尤物yw午夜国产精品视频明星| 午夜免费一区| 久久久久久久久久久综合| 亚洲精品成人久久电影| 亚洲人成网站在线播| 亚洲精品中文在线影院| 国产精品白丝久久av网站| 国产午夜福利视频在线观看| 国产成人精品在线播放| 久久久久久久电影| 成人豆花视频| 羞羞小视频视频| 国产999在线观看| 亚洲mv在线观看| 国内自拍一区| 免费在线观看黄| 天天综合中文字幕| 日韩在线免费视频| 中文字幕在线免费不卡| 欧美理论视频| 午夜免费福利在线观看| 在线观看欧美一区| 久久成人免费视频| 亚洲精品美腿丝袜| 黄色亚洲在线| 免费高潮视频95在线观看网站| 欧美性猛交内射兽交老熟妇| 欧美精品福利在线| 天天av天天翘天天综合网| 亚洲欧美日韩国产一区| 成人国产精品| 白白色视频在线| 欧美一区二区三区精美影视 | 一区二区三区在线观看视频| 欧美大人香蕉在线| 三区四区电影在线观看| av一区二区三区免费观看| 97视频免费在线看| 欧美系列亚洲系列| 国产aⅴ综合色| 婷婷综合一区| 国产美女av在线| 黄色影视在线观看| 欧美一区二区三区精品电影| 欧美女孩性生活视频| 99国产精品国产精品久久| 少妇一区二区三区| free性欧美hd另类精品| 国产在线青青草| 亚洲字幕一区二区| 国产亚洲精品美女久久久久| 亚洲免费色视频| 精品亚洲porn| 天天综合一区| 成人黄色理论片| 黄色网在线免费看|