成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于跨設備遷移和分布式文件能力的DistributedMail解析

開發 前端 分布式
Distributed Server分布式版本主要服務于在各地設有分部的政府機構、大型集團公司以及百萬用戶級別的大型電子郵件運營商。

[[417428]]

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

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

https://harmonyos.51cto.com

一、DistributedMail演示效果

(一)項目效果展示

(二)提示在多設備調試過程中的注意

想要多設備調試務必在Tools下面選擇Super device。如果選擇單個設備并進行分布式操作就會出現:

選擇完多設備后,務必分別在兩個設備部署應用。如果只部署了一臺也是不行的。

(三)解決頁面顯示的問題

需要注意的是,因為原文件布局的原因,遷移到其他設備的頁面布局出現了問題,在遠程模擬器上呈現的就是遷移到其他設備的頁面的確定按鈕看不見。這最開始屬實把我給整懵了。

如下:

百二秦關終屬楚!!!!找了半天終于弄明白了并解決。

手機快捷控制欄把按鈕遮蓋了

1.分析問題:

  • 要么是dialog_layout_device.xml布局出現了問題,把下面的組件擠出去了;
  • 要么是DeviceSelectDialog.class中創建的ListDialog的設置出現了問題;
  • 要么是手機快捷控制欄把按鈕遮蓋了。

2.調整dialog_layout_device.xml布局,發現此布局為方向布局,按權重分配高度,其中ListContainer的ohos:weight=“1”,故刪去此行并把高度設為150vp(總共300vp,遷移到其他設備的Text50vp,最后的水平方向容器)(確定、占位、取消三個組件)共占100vp)其結果如下圖:

窮奇—基于跨設備遷移和分布式文件能力的DistributedMail解析-鴻蒙HarmonyOS技術社區

3.確定是ListDialog彈窗的問題就返回DeviceSelectDialog.class中去分析

(1)分析大致結構(這里就不具現化了,后面會對整個工程進行剖析)

(2)控制變量進行調試,發現把彈窗放在屏幕中間,取消和確定按鈕可以出現。

最終確定是手機快捷控制欄把按鈕遮蓋了,最終解決方案,為了保證ListContainer可以很好的展示出可遷移設備且彈窗看起來更大氣一點,dialog_layout_device.xml只把總體方向布局的高度變為ohos:height=“400vp”,把對齊方式改為居中。setAlignment(LayoutAlignment.CENTER);

如果還是想把彈窗弄在下面,且可以顯示取消和確定按鈕,就把setAlignment(LayoutAlignment.BOTTOM);布局文中下方留出100多的vp給手機快捷控制欄就行。(具體操作把ListContainer的ohos:weight="1"刪去,對整體布局的高度進行具象化,即不按比例按數值)

最終效果:

二、工程目錄分析

三、權限申請

很明顯的,在此應用部署后,有兩個權限彈框彈出。

  • 第一個是訪問圖片和媒體的權限
  • 第二個是使用多設備協同的的權限

但其實本應用申請了六個權限:

在MainAbility中的onStart()函數中:

窮奇—基于跨設備遷移和分布式文件能力的DistributedMail解析-鴻蒙HarmonyOS技術社區

<a name=“permission”></a>大家有沒有想過這樣一個問題:為什么這里permission里就三個權限,其他三個權限呢,為什么這里有三個權限,工程演示的時候卻是有兩個確定彈框呢。其原因:

敏感權限的申請需要按照動態申請流程向用戶申請授權。非敏感權限不涉及用戶的敏感數據或危險操作,僅需在config.json中聲明,應用安裝后即被授權。另外三個是非敏感權限。

應用動態申請權限而應用最開始只請求了兩個權限。另外一個修改本地圖片和媒體的權限并沒有開始申請僅此而已。

  1. //訪問圖片和媒體 
  2. "ohos.permission.READ_USER_STORAGE"
  3. //允許不同設備間的數據交換。 
  4. "ohos.permission.DISTRIBUTED_DATASYNC" 

對于權限的申請有代碼示例工程(Permission),之后會對權限進行更全面的學習并對工程進行更全面的剖析。

獲取分布式設備即MailEditSlice中setClickAction方法

四、界面分析(重點layout的梳理)

1.在界面分析的時候,發現layout的xml文件標紅,發現代碼示例工程為SDKversion2.0所以出現了問題。下面是一個例子其他的不列全<a name=“version”></a>

2.且未用string.json保存字符串<a name=“string”></a>

3.對moudle_mail_edit.xml進行布局分析其他幾個Layout組件很少就不贅述了。

五、頁面梳理(slice的梳理)

1.打開MailEditSlice,發現不規范的地方,關于final的添加。

2.對其分析(關于頁面跨設備遷移看我前一篇文章PageAbility全面解析有詳解)

六、郵件正文數據、郵件初始化、郵件數據處理

  • bean/MailDataBean.java,用于表示郵件正文數據
  • MailDataBean.java中對郵件數據進行封裝,對Param頁面間傳遞的信息進行處理
  • MailEditSlice頁面中,我們把郵件內容初始化即上面slice中fillview部分
  • onSaveData()和onRestoreData()方法來進行傳遞和恢復

預處理:

七、問題總結

1.(未解決)怎么使得彈窗不被手機快捷欄遮擋,就像官方文檔給的圖一樣。

2.(已解決)本應用申請了六個權限,但MainAbility中requestPermission()只有三個,而且項目演示中,最開始只有兩個權限申請彈窗。筆者已解決在文中權限申請部分。

3.(已解決)因為版本原因(代碼示例工程為SDKversion2.0所以出現了問題),

4.(已解決)且未用string.json保存字符串

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

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

https://harmonyos.51cto.com

 

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

2021-10-28 14:48:46

鴻蒙HarmonyOS應用

2025-05-16 08:58:47

Mongodb分布式存儲

2021-06-16 15:18:03

鴻蒙HarmonyOS應用

2021-08-30 18:36:33

鴻蒙HarmonyOS應用

2025-06-09 08:00:37

分布式文件系統

2015-04-21 09:39:03

javajava分布式爬蟲

2017-10-24 11:28:23

Zookeeper分布式鎖架構

2021-06-03 00:02:43

RedisRedlock算法

2021-07-30 00:09:21

Redlock算法Redis

2017-10-12 09:36:54

分布式存儲系統

2011-03-16 14:23:38

分布式文件

2022-04-07 17:13:09

緩存算法服務端

2017-04-13 10:51:09

Consul分布式

2022-03-08 15:24:23

BitMapRedis數據

2022-04-24 16:00:03

Ability鴻蒙

2014-07-15 11:15:44

hadoop分布式部署

2012-11-06 13:58:26

分布式云計算分布式協同

2019-06-19 15:40:06

分布式鎖RedisJava

2024-03-01 12:16:00

分布式系統服務

2021-08-12 10:02:08

鴻蒙HarmonyOS應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天堂成人av | 久久精品久久久久久 | 日韩电影在线 | 国产视频精品在线观看 | www.欧美 | 中文字幕中文字幕 | 国产第一区二区 | 一区在线视频 | 日韩精品在线一区二区 | 欧美在线a | 亚洲一区二区免费 | 91精品国产综合久久久久 | 欧美黄色免费网站 | 国产精品久久久久久238 | 欧美精品国产一区二区 | 国产日韩一区二区三区 | 91精品国产综合久久久久 | 福利影院在线看 | 亚洲不卡视频 | 黄视频网址| 91porn成人精品 | 91精品国产91久久综合桃花 | 日韩欧美在线观看 | 中文字幕综合 | aaa大片免费观看 | 欧美成视频在线观看 | 365夜爽爽欧美性午夜免费视频 | av香蕉 | 国产精品自拍啪啪 | 久久精品久久久久久 | 在线免费观看毛片 | 午夜在线| 欧产日产国产精品视频 | 日本韩国电影免费观看 | 亚洲欧美一区在线 | 欧美激情精品久久久久久免费 | 午夜视频一区 | 午夜精品一区二区三区在线视频 | 精品一区二区电影 | 亚洲视频 欧美视频 | 请别相信他免费喜剧电影在线观看 |