自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開發(fā) 前端 分布式
Distributed Server分布式版本主要服務(wù)于在各地設(shè)有分部的政府機(jī)構(gòu)、大型集團(tuán)公司以及百萬用戶級(jí)別的大型電子郵件運(yùn)營(yíng)商。

[[417428]]

想了解更多內(nèi)容,請(qǐng)?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

一、DistributedMail演示效果

(一)項(xiàng)目效果展示

(二)提示在多設(shè)備調(diào)試過程中的注意

想要多設(shè)備調(diào)試務(wù)必在Tools下面選擇Super device。如果選擇單個(gè)設(shè)備并進(jìn)行分布式操作就會(huì)出現(xiàn):

選擇完多設(shè)備后,務(wù)必分別在兩個(gè)設(shè)備部署應(yīng)用。如果只部署了一臺(tái)也是不行的。

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

需要注意的是,因?yàn)樵募季值脑颍w移到其他設(shè)備的頁(yè)面布局出現(xiàn)了問題,在遠(yuǎn)程模擬器上呈現(xiàn)的就是遷移到其他設(shè)備的頁(yè)面的確定按鈕看不見。這最開始屬實(shí)把我給整懵了。

如下:

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

手機(jī)快捷控制欄把按鈕遮蓋了

1.分析問題:

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

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

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

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

(1)分析大致結(jié)構(gòu)(這里就不具現(xiàn)化了,后面會(huì)對(duì)整個(gè)工程進(jìn)行剖析)

(2)控制變量進(jìn)行調(diào)試,發(fā)現(xiàn)把彈窗放在屏幕中間,取消和確定按鈕可以出現(xiàn)。

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

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

最終效果:

二、工程目錄分析

三、權(quán)限申請(qǐng)

很明顯的,在此應(yīng)用部署后,有兩個(gè)權(quán)限彈框彈出。

  • 第一個(gè)是訪問圖片和媒體的權(quán)限
  • 第二個(gè)是使用多設(shè)備協(xié)同的的權(quán)限

但其實(shí)本應(yīng)用申請(qǐng)了六個(gè)權(quán)限:

在MainAbility中的onStart()函數(shù)中:

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

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

敏感權(quán)限的申請(qǐng)需要按照動(dòng)態(tài)申請(qǐng)流程向用戶申請(qǐng)授權(quán)。非敏感權(quán)限不涉及用戶的敏感數(shù)據(jù)或危險(xiǎn)操作,僅需在config.json中聲明,應(yīng)用安裝后即被授權(quán)。另外三個(gè)是非敏感權(quán)限。

應(yīng)用動(dòng)態(tài)申請(qǐng)權(quán)限而應(yīng)用最開始只請(qǐng)求了兩個(gè)權(quán)限。另外一個(gè)修改本地圖片和媒體的權(quán)限并沒有開始申請(qǐng)僅此而已。

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

對(duì)于權(quán)限的申請(qǐng)有代碼示例工程(Permission),之后會(huì)對(duì)權(quán)限進(jìn)行更全面的學(xué)習(xí)并對(duì)工程進(jìn)行更全面的剖析。

獲取分布式設(shè)備即MailEditSlice中setClickAction方法

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

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

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

3.對(duì)moudle_mail_edit.xml進(jìn)行布局分析其他幾個(gè)Layout組件很少就不贅述了。

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

1.打開MailEditSlice,發(fā)現(xiàn)不規(guī)范的地方,關(guān)于final的添加。

2.對(duì)其分析(關(guān)于頁(yè)面跨設(shè)備遷移看我前一篇文章PageAbility全面解析有詳解)

六、郵件正文數(shù)據(jù)、郵件初始化、郵件數(shù)據(jù)處理

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

預(yù)處理:

七、問題總結(jié)

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

2.(已解決)本應(yīng)用申請(qǐng)了六個(gè)權(quán)限,但MainAbility中requestPermission()只有三個(gè),而且項(xiàng)目演示中,最開始只有兩個(gè)權(quán)限申請(qǐng)彈窗。筆者已解決在文中權(quán)限申請(qǐng)部分。

3.(已解決)因?yàn)榘姹驹?代碼示例工程為SDKversion2.0所以出現(xiàn)了問題),

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

想了解更多內(nèi)容,請(qǐng)?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2021-10-28 14:48:46

鴻蒙HarmonyOS應(yīng)用

2021-06-16 15:18:03

鴻蒙HarmonyOS應(yīng)用

2021-08-30 18:36:33

鴻蒙HarmonyOS應(yīng)用

2015-04-21 09:39:03

javajava分布式爬蟲

2017-10-24 11:28:23

Zookeeper分布式鎖架構(gòu)

2021-06-03 00:02:43

RedisRedlock算法

2021-07-30 00:09:21

Redlock算法Redis

2011-03-16 14:23:38

分布式文件

2017-10-12 09:36:54

分布式存儲(chǔ)系統(tǒng)

2022-04-07 17:13:09

緩存算法服務(wù)端

2022-03-08 15:24:23

BitMapRedis數(shù)據(jù)

2017-04-13 10:51:09

Consul分布式

2012-11-06 13:58:26

分布式云計(jì)算分布式協(xié)同

2014-07-15 11:15:44

hadoop分布式部署

2022-04-24 16:00:03

Ability鴻蒙

2019-06-19 15:40:06

分布式鎖RedisJava

2024-03-01 12:16:00

分布式系統(tǒng)服務(wù)

2010-11-01 05:50:46

分布式文件系統(tǒng)

2018-05-19 00:26:13

UAI Train分布式訓(xùn)練

2021-04-15 22:02:53

區(qū)塊鏈金融比特幣
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)