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

跟著小白一起學(xué)鴻蒙—編寫(xiě)一個(gè)藍(lán)牙性能Stage HAP

系統(tǒng) OpenHarmony
本章使用OpenHarmony screenshot的截屏功能,因?yàn)榇私仄翙?quán)限是系統(tǒng)權(quán)限,所以需要配置Sdk里的權(quán)限以方便安裝hap。

??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):???

??51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

之前的章節(jié)我們是用fa模式編寫(xiě)的hap,這次我們采用stage模式創(chuàng)建HAP。

注意:本章使用OpenHarmony screenshot的截屏功能,因?yàn)榇私仄翙?quán)限是系統(tǒng)權(quán)限,所以需要配置sdk里的權(quán)限以方便安裝hap。

簡(jiǎn)介

仍然使用的是Dev-Eco Studio3.0 , 編寫(xiě)的環(huán)境配置嘗試變?yōu)?SDK9,Model為Stage。

#盲盒+碼# #跟著小白一起學(xué)鴻蒙#編寫(xiě)一個(gè)藍(lán)牙性能Stage HAP-開(kāi)源基礎(chǔ)軟件社區(qū)

程序結(jié)構(gòu)

MyApplication\entry\src\main
.
├─ets
├─Application
├─Component
├─controller
├─MainAbility
├─model
├─pages
├─index.ets
├─benchmarkTest.ets
└─subManualApiTest
├─res
└─image
└─Utils
├─resources
├─base
├─element
├─media
└─profile
└─rawfile
└─module.json5

補(bǔ)充

與SDK8相比,目錄結(jié)構(gòu)發(fā)生了一些改變。如:新加了Application文件夾,改變了MainAbility的目錄層級(jí),原本的config.json變成了module.json5,添加了AppScope文件夾 等 。

因此添加page的位置變?yōu)椋?/p>

module.json5中的 "pages": "$profile:main_pages",
位置為:src/main/resources/base/profile/main_ pages.json 。
src/main/resources/base/profile/main_pages.json
{"src": ["pages/index","pages/benchmarkTest",
...
]}

修改bundleName的位置為:MyApplication23\AppScope\app.json5。

{"app": {
"bundleName": "ohos.samples.myapplication",
"vendor": "example",
"versionCode": 1000000,
"versionName": "1.0.0",
"icon": "$media:app_icon",
"label": "$string:app_name",
"distributedNotificationEnabled": true}}

性能測(cè)試

這里的性能測(cè)試主要為了在調(diào)用函數(shù)接口時(shí),了解其在調(diào)用時(shí)的所花費(fèi)的時(shí)間,可以傳輸?shù)臄?shù)據(jù)大小。因此編寫(xiě)了相關(guān)的時(shí)間性能測(cè)試,穩(wěn)定性能測(cè)試(避免時(shí)間出現(xiàn)偶然性)和帶寬測(cè)試。

時(shí)間性能測(cè)試:
function test(func) {
let start = new Date().getTime(); //起始時(shí)間
func(); //執(zhí)行待測(cè)函數(shù)
let end = new Date().getTime(); //接受時(shí)間
console.log("開(kāi)始:", Number(start), "ms")
console.log("結(jié)束:", Number(end), "ms")
console.log("花費(fèi):", Number(end - start), "ms")
let message = ""
message += "花費(fèi):" + Number(end - start) + "ms" + "\n"
message += "開(kāi)始:" + Number(start) + "ms; " + "結(jié)束:" + Number(end) + "ms" + "\n"
return message //返回函數(shù)執(zhí)行需要時(shí)間
}
添加截屏功能
  • 查看本地d.ts所在位置

  • 添加 @ohos.screenshot
本地d.ts 路徑:C:\Users\xxx\AppData\Local\OpenHarmony\Sdk\ets\3.2.7.5\api\
開(kāi)源鴻蒙系統(tǒng)源碼文件所在位置: oh32/interface/sdk-js/api/@ohos.screenshot.d.ts ,將該文件拷至本地路徑下
  • 添加截屏代碼
  • 配置permission
MyApplication23\entry\src\main\module.json5
...
"requestPermissions": [
{
"name": "ohos.permission.CAPTURE_SCREEN"
},
{
"name": "ohos.permission.WRITE_MEDIA"
},
{
"name": "ohos.permission.READ_MEDIA"
}
]
  • 這時(shí)因?yàn)闄?quán)限問(wèn)題,在安裝時(shí)會(huì)報(bào)錯(cuò):提示:Failed due to grant request permissions failed。從錯(cuò)誤日志上看安裝失敗原因:由于授予請(qǐng)求權(quán)限失敗,安裝失敗。
  • 知道是權(quán)限問(wèn)題,現(xiàn)在要確認(rèn)是那些權(quán)限導(dǎo)致,OpenHarmony中涉及的權(quán)限等級(jí)你可以參看:??查看申請(qǐng)權(quán)限的等級(jí)??,文檔中列舉出了目前OpenHarmony所有的權(quán)限和權(quán)限等級(jí)。
{
"name": "ohos.permission.CAPTURE_SCREEN",
"grantMode": "system_grant",
"availableLevel": "system_core",
"provisionEnable": true,
"distributedSceneEnable": false
},
{
"name": "ohos.permission.WRITE_MEDIA",
"grantMode": "user_grant",
"availableLevel": "normal",
"provisionEnable": true,
"distributedSceneEnable": true,
"label": "$string:ohos_lab_write_media",
"description": "$string:ohos_desc_write_media"
},
{
"name": "ohos.permission.READ_MEDIA",
"grantMode": "user_grant",
"availableLevel": "normal",
"provisionEnable": true,
"distributedSceneEnable": true,
"label": "$string:ohos_lab_read_media",
"description": "$string:ohos_desc_read_media"
},
  • 如果權(quán)限的等級(jí)值為: availableLevel: “system_core”/“system_basic”,則需要在UnsgnedReleasedProfileTemplate.json 配置alcs字段,將需要的高等級(jí)權(quán)限放在acls中,具體做法如下:
  • 配置簽名。
路徑為:
"C:\Users\xxx\AppData\Local\OpenHarmony\Sdk\toolchains\3.2.7.5\lib\UnsgnedReleasedProfileTemplate.json"

#盲盒+碼# #跟著小白一起學(xué)鴻蒙#編寫(xiě)一個(gè)藍(lán)牙性能Stage HAP-開(kāi)源基礎(chǔ)軟件社區(qū)

保存后更新自動(dòng)簽名即可。

測(cè)試結(jié)果

#盲盒+碼# #跟著小白一起學(xué)鴻蒙#編寫(xiě)一個(gè)藍(lán)牙性能Stage HAP-開(kāi)源基礎(chǔ)軟件社區(qū)

  • 本地發(fā)送文件到開(kāi)發(fā)板可以通過(guò)如下命令實(shí)現(xiàn)。
hdc_std file send 本地文件 開(kāi)發(fā)板目標(biāo)路徑
  • 從開(kāi)發(fā)板拷貝文件到本地。
hdc_std file recv 開(kāi)發(fā)板文件 本地目標(biāo)路徑

總結(jié)

OpenHarmony的藍(lán)牙功能通過(guò)測(cè)試速度還是很快的,希望此應(yīng)用對(duì)社區(qū)朋友有幫助。

??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):???

??51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責(zé)任編輯:jianghua 來(lái)源: 51CTO開(kāi)源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2022-10-10 14:47:04

藍(lán)牙應(yīng)用鴻蒙

2022-09-30 14:08:26

Hap應(yīng)用鴻蒙

2022-11-24 14:34:41

Hap程序鴻蒙

2022-11-29 16:35:02

Tetris鴻蒙

2022-12-02 14:20:09

Tetris鴻蒙

2022-12-09 15:34:38

2022-09-28 13:57:41

鴻蒙開(kāi)源

2022-11-14 17:01:34

游戲開(kāi)發(fā)畫(huà)布功能

2023-03-30 09:32:27

2022-11-08 15:43:45

開(kāi)源鴻蒙藍(lán)牙協(xié)議棧

2022-10-31 15:35:02

Wi-Fi藍(lán)牙子系統(tǒng)

2022-09-16 15:22:16

測(cè)試套件鴻蒙

2022-08-29 17:25:19

鴻蒙應(yīng)用開(kāi)發(fā)

2023-04-04 09:24:11

鴻蒙HiDumper

2023-02-27 16:30:32

鴻蒙開(kāi)源協(xié)議分析

2022-08-19 19:02:20

開(kāi)源鴻蒙操作系統(tǒng)

2023-03-30 09:19:54

SELinux安全子系統(tǒng)

2023-01-03 15:09:10

鴻蒙常用工具

2022-12-06 15:39:16

鴻蒙主干代碼

2023-03-15 16:19:03

BinderIPC工具
點(diǎn)贊
收藏

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