一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在OpenHarmony上如何使用不同的彈窗

OpenHarmony技術(shù)社區(qū) ? 來(lái)源:OST開(kāi)源開(kāi)發(fā)者 ? 2023-06-18 15:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

應(yīng)用中經(jīng)常用到彈窗,比如警告彈窗、日期選擇彈窗、文本選擇彈窗以及其他自定義彈窗等等。本例將為大家介紹如何使用不同的彈窗。

效果呈現(xiàn)

本例最終效果如下:

83f5bbfe-0da6-11ee-962d-dac502259ad0.gif

示例中共涉及四類(lèi)彈窗:

警告彈窗:提示信息尚未保存。

日期滑動(dòng)選擇器彈窗:選擇出生日期。

文本滑動(dòng)選擇器彈窗:選擇性別。

自定義彈窗:填寫(xiě)興趣愛(ài)好。

說(shuō)明:自定義彈窗可以根據(jù)業(yè)務(wù)需要自行定義彈窗的形式和內(nèi)容,比如文本輸入、單選、多選等等,本例以文本輸入為例進(jìn)行介紹。

運(yùn)行環(huán)境

本例基于以下環(huán)境開(kāi)發(fā),開(kāi)發(fā)者也可以基于其他適配的版本進(jìn)行開(kāi)發(fā):

IDE:DevEco Studio 3.1 Release

SDK:Ohos_sdk_public 3.2.12.5(API Version 9 Release)

實(shí)現(xiàn)思路

本例中涉及的 4 類(lèi)彈窗及實(shí)現(xiàn)方案如下:

警告彈窗:使用 AlertDialog 實(shí)現(xiàn)。

日期滑動(dòng)選擇器彈窗:使用 DatePickerDialog 實(shí)現(xiàn)。

文本滑動(dòng)選擇器彈窗:使用 TextPickerDialog 實(shí)現(xiàn)。

自定義彈窗:使用 CustomDialogController 實(shí)現(xiàn)。

開(kāi)發(fā)步驟

由于本例重點(diǎn)講解對(duì)話框的使用,所以開(kāi)發(fā)步驟會(huì)著重講解相關(guān)實(shí)現(xiàn),不相關(guān)的內(nèi)容不做介紹,全量代碼可參考完整代碼章節(jié)。

①首先,使用 AlertDialog 實(shí)現(xiàn)警告彈窗

通過(guò) message 參數(shù)設(shè)置告警信息,alignment 設(shè)置彈窗在界面中垂直方向的對(duì)齊方式;通過(guò) primaryButton 和 secondaryButton 添加按鈕。

具體代碼如下:

alertDialog(context:Context.UIAbilityContext){
AlertDialog.show({
//通過(guò)message設(shè)置告警信息
message:'當(dāng)前數(shù)據(jù)未保存,是否確認(rèn)離開(kāi)?',
//通過(guò)alignment設(shè)置彈窗在界面垂直方向的對(duì)齊方式,此處設(shè)置為底部對(duì)齊
alignment:DialogAlignment.Bottom,
//通過(guò)offset設(shè)置基于對(duì)齊位置的便宜量
offset:{
dx:0,
dy:-20
},
//彈窗中左起第一個(gè)按鈕
primaryButton:{
value:'取消',
action:()=>{
console.info('Callbackcancelbuttonisclicked');
}
},
//彈窗中左起第二個(gè)按鈕
secondaryButton:{
value:'確定',
action:()=>{
//Exitingtheapp.
context.terminateSelf();
console.info('Callbackdefinitebuttonisclicked');
}
}
});
}
②使用 DatePickerDialog 實(shí)現(xiàn)日期滑動(dòng)選擇器彈窗

通過(guò) start 和 end 分別設(shè)置日期區(qū)間的起始時(shí)間和末尾時(shí)間;通過(guò) lunar 設(shè)置使用農(nóng)歷還是陽(yáng)歷;使用 onAccept 監(jiān)聽(tīng)選擇的日期,本例中通過(guò)變量 selectedDate 將選中的日期設(shè)置給參數(shù) selected,這樣彈窗彈出時(shí)的日期就默認(rèn)為上次選中的日期。

具體代碼如下:

datePickerDialog(dateCallback){
DatePickerDialog.show({
start:newDate('1900-1-1'),
end:newDate('2100-1-1'),
//通過(guò)變量selectedDate將選中的日期設(shè)置給參數(shù)selected
selected:this.selectedDate,
lunar:false,
//使用onAccept監(jiān)聽(tīng)選擇的日期
onAccept:(value:DatePickerResult)=>{
letyear=value.year;
letmonth=value.month+1;
letday=value.day;
letbirthdate:string=this.getBirthDateValue(year,month,day);
//通過(guò)setFullYear將選中的日期傳遞給變量selectedDate
this.selectedDate.setFullYear(value.year,value.month,value.day)
//返回選中的日期
dateCallback(birthdate);
}
});
}
③使用 TextPickerDialog 實(shí)現(xiàn)文本滑動(dòng)選擇器彈窗

通過(guò) range 設(shè)置文本選擇項(xiàng),使用 onAccept 監(jiān)聽(tīng)選擇的文本項(xiàng),本例中通過(guò)變量 selectedGender 將選中的性別的索引設(shè)置給參數(shù) selected,這樣彈窗彈出時(shí)的性別就默認(rèn)為上次選中的性別。

具體代碼如下:

textPickerDialog(sexArray:Resource,sexCallback){
//判斷文本項(xiàng)的列表是否為空
if(this.isEmptyArr(sexArray)){
console.error('sexisnull');
return;
}
TextPickerDialog.show({
//通過(guò)range設(shè)置文本選擇項(xiàng)
range:sexArray,
//通過(guò)變量selectedGender將選中的性別的索引設(shè)置給參數(shù)selected
selected:this.selectedGender,
//使用onAccept監(jiān)聽(tīng)選擇的文本項(xiàng)
onAccept:(result:TextPickerResult)=>{
sexCallback(result.value);
//獲取選中項(xiàng)的索引
this.selectedGender=result.index
},
onCancel:()=>{
console.info('TextPickerDialogonCancel');
}
});
}

④使用 CustomDialogController 實(shí)現(xiàn)自定義彈窗

當(dāng)現(xiàn)有彈窗不能滿(mǎn)足業(yè)務(wù)訴求時(shí),開(kāi)發(fā)者可以自行設(shè)計(jì)彈窗的樣式。在實(shí)現(xiàn)自定義彈窗時(shí),需要將彈窗的 UI 放在被 @CustomDialog 修飾的自定義組件中,然后使用 CustomDialogController 的實(shí)例來(lái)控制彈窗的彈出和關(guān)閉。

具體代碼如下:

//使用@CustomDialog修飾自定義彈窗
@CustomDialog
structCustomDialogFrame{
...
//定義CustomDialogController
controller:CustomDialogController

build(){
Column(){
Text('興趣愛(ài)好').fontSize(20).margin({top:10,bottom:10})
TextInput({placeholder:'',text:this.textValue}).height(60).width('90%')
.onChange((value:string)=>{
this.textValue=value
})
Flex({justifyContent:FlexAlign.SpaceAround}){
Button('取消')
.onClick(()=>{
//點(diǎn)擊‘取消’,彈窗關(guān)閉
this.controller.close()
})
.backgroundColor('')
.fontColor('#007DFF')
Button('保存')
.onClick(()=>{
this.inputValue=this.textValue
//點(diǎn)擊‘保存’,彈窗關(guān)閉
this.controller.close()
})
.backgroundColor(0xffffff)
.fontColor('#007DFF')
}.margin({bottom:10})
}.justifyContent(FlexAlign.Start)
}
}
...
//實(shí)例化自定義彈窗
customDialogController:CustomDialogController=newCustomDialogController({
//使用上文創(chuàng)建的自定義彈窗進(jìn)行實(shí)例化
builder:CustomDialogFrame({
textValue:$textValue,
inputValue:$inputValue
}),
alignment:DialogAlignment.Bottom,
offset:{
dx:0,
dy:-20
}
});
...


完整代碼

本例完整代碼如下:

importContextfrom'@ohos.app.ability.common';
importhilogfrom'@ohos.hilog';

@Component
structTextFrame{
@Linkcontent:string;
privatetextImage:Resource;
privatetext:string;
onTextClick:()=>void;

build(){
Row(){
Image(this.textImage)
.width(24)
.height(24)
.margin({left:12})
Text(this.text)
.fontSize(16)
.margin({left:12})
.height(24)
Text(this.content)
.fontSize(16)
.textAlign(TextAlign.End)
.textOverflow({overflow:TextOverflow.Ellipsis})
.maxLines(1)
.margin({
left:16,
right:7
})
.layoutWeight(1)
.width('100%')
Image($r('app.media.ic_arrow'))
.width(12)
.height(24)
.margin({right:14})
}
.margin({top:24})
.borderRadius(24)
.backgroundColor(Color.White)
.width('93.3%')
.height(64)
.onClick(this.onTextClick)
}
}

@Component
structInputFrame{
privateinputImage:Resource;
privatehintText:string;

build(){
Row(){
Image(this.inputImage)
.width(24)
.height(24)
.margin({left:12})
TextInput({placeholder:this.hintText})
.fontSize(16)
.padding({left:12})
.placeholderColor('#99000000')
.backgroundColor(Color.White)
.fontWeight(FontWeight.Normal)
.fontStyle(FontStyle.Normal)
.fontColor(Color.Black)
.margin({right:32})
.layoutWeight(1)
.height(48)
}
.margin({top:24})
.borderRadius(24)
.backgroundColor(Color.White)
.width('93.3%')
.height(64)
}
}

@CustomDialog
structCustomDialogFrame{
@LinktextValue:string
@LinkinputValue:string
controller:CustomDialogController

build(){
Column(){
Text('興趣愛(ài)好').fontSize(20).margin({top:10,bottom:10})
TextInput({placeholder:'',text:this.textValue}).height(60).width('90%')
.onChange((value:string)=>{
this.textValue=value
})
Flex({justifyContent:FlexAlign.SpaceAround}){
Button('取消')
.onClick(()=>{
this.controller.close()
}).backgroundColor('').fontColor('#007DFF')
Button('保存')
.onClick(()=>{
this.inputValue=this.textValue
this.controller.close()
}).backgroundColor(0xffffff).fontColor('#007DFF')
}.margin({bottom:10})
}.justifyContent(FlexAlign.Start)
}
}

@Entry
@Component
structIndex{
@Statebirthdate:string='';
@Statesex:string='';
@StatetextValue:string='';
@StateinputValue:string='';
selectedDate:Date=newDate("2010-1-1")
selectedGender:number=0
privatesexArray:Resource=$r('app.strarray.sex_array');
customDialogController:CustomDialogController=newCustomDialogController({
builder:CustomDialogFrame({
textValue:$textValue,
inputValue:$inputValue
}),
alignment:DialogAlignment.Bottom,
offset:{
dx:0,
dy:-20
}
});

alertDialog(context:Context.UIAbilityContext){
AlertDialog.show({
message:'當(dāng)前數(shù)據(jù)未保存,是否確認(rèn)離開(kāi)?',
alignment:DialogAlignment.Bottom,
offset:{
dx:0,
dy:-20
},
primaryButton:{
value:'取消',
action:()=>{
console.info('Callbackcancelbuttonisclicked');
}
},
secondaryButton:{
value:'確定',
action:()=>{
//Exitingtheapp.
context.terminateSelf();
console.info('Callbackdefinitebuttonisclicked');
}
}
});
}

datePickerDialog(dateCallback){
DatePickerDialog.show({
start:newDate('1900-1-1'),
end:newDate('2100-1-1'),
selected:this.selectedDate,
lunar:false,
onAccept:(value:DatePickerResult)=>{
letyear=value.year;
letmonth=value.month+1;
letday=value.day;
letbirthdate:string=this.getBirthDateValue(year,month,day);
this.selectedDate.setFullYear(value.year,value.month,value.day)
dateCallback(birthdate);
}
});
}

textPickerDialog(sexArray:Resource,sexCallback){
if(this.isEmptyArr(sexArray)){
console.error('sexisnull');
return;
}
TextPickerDialog.show({
range:sexArray,
selected:this.selectedGender,
onAccept:(result:TextPickerResult)=>{
sexCallback(result.value);
this.selectedGender=result.index
},
onCancel:()=>{
console.info('TextPickerDialogonCancel');
}
});
}

getBirthDateValue(year:number,month:number,day:number):string{
letbirthdate:string=`${year}${'年'}${month}`+
`${'月'}${day}${'日'}`;
returnbirthdate;
}

isEmpty(obj):boolean{
returnobj===undefined||obj===null||obj==='';
}

isEmptyArr(array):boolean{
returnthis.isEmpty(array)||array.length===0;
}

build(){
Row(){
Column(){
Row(){
Image($r('app.media.ic_back'))
.width(26)
.height(26)
.alignSelf(ItemAlign.Start)
.margin({
left:'7.2%',
top:19
})
.onClick(()=>{
letcontext=getContext(this)asContext.UIAbilityContext;
this.alertDialog(context);
})
Text('個(gè)人信息')
.fontColor(Color.Black)
.fontSize(20)
.margin({top:20,left:20})
.alignSelf(ItemAlign.Center)
}.width('100%')
Image($r('app.media.ic_avatar'))
.width(56)
.height(56)
.alignSelf(ItemAlign.Center)
.margin({top:'5.5%'})
Text('頭像')
.fontColor(Color.Black)
.fontSize(16)
.margin({top:'2.1%'})
.alignSelf(ItemAlign.Center)
InputFrame({
inputImage:$r('app.media.ic_nickname'),
hintText:'昵稱(chēng)'
})
TextFrame({
textImage:$r('app.media.ic_birthdate'),
text:'出生日期',
content:$birthdate,
onTextClick:()=>{
this.datePickerDialog((birthValue:string)=>{
this.birthdate=birthValue;
});
}
})
TextFrame({
textImage:$r('app.media.ic_sex'),
text:'性別',
content:$sex,
onTextClick:()=>{
this.textPickerDialog(this.sexArray,(sexValue:string)=>{
this.sex=sexValue;
});
}
})
InputFrame({
inputImage:$r('app.media.ic_signature'),
hintText:'個(gè)性簽名'
})
TextFrame({
textImage:$r('app.media.ic_hobbies'),
text:'興趣愛(ài)好',
content:$textValue,
onTextClick:()=>{
this.customDialogController.open();
}
})
}
.backgroundColor('#F5F5F5')
.height('100%')
.width('100%')
}
.height('100%')
}
}



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3848

    瀏覽量

    18512

原文標(biāo)題:OpenHarmony上使用彈窗

文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    《仿盒馬》app開(kāi)發(fā)技術(shù)分享-- 分類(lèi)模塊頂部導(dǎo)航列表彈窗(16)

    技術(shù)棧 Appgallery connect 開(kāi)發(fā)準(zhǔn)備 一節(jié)我們實(shí)現(xiàn)了分類(lèi)頁(yè)面的頂部導(dǎo)航欄列表,并且實(shí)現(xiàn)了首頁(yè)金剛區(qū)跟首頁(yè)導(dǎo)航欄的聯(lián)動(dòng),這一節(jié)我們實(shí)現(xiàn)導(dǎo)航欄列表的彈窗功能,需要學(xué)習(xí)的知識(shí)點(diǎn)有自定義
    發(fā)表于 06-30 10:34

    《仿盒馬》app開(kāi)發(fā)技術(shù)分享-- 商品規(guī)格彈窗(11)

    技術(shù)棧 Appgallery connect 開(kāi)發(fā)準(zhǔn)備 一節(jié)我們實(shí)現(xiàn)了商品詳情頁(yè)面,并且成功頁(yè)面上展示了商品的圖片、商品規(guī)格、活動(dòng)詳情等信息,要知道同一種商品大多數(shù)都是有多種型號(hào)跟規(guī)格的,所以
    發(fā)表于 06-30 09:15

    HarmonyOS實(shí)戰(zhàn):首頁(yè)多彈窗順序彈出終極解決方案

    背景 隨著應(yīng)用軟件功能的不斷增加,應(yīng)用程序軟件首頁(yè)成為彈窗的重災(zāi)區(qū),不僅有升級(jí)彈窗,還有積分彈窗,簽到,引導(dǎo)等各種彈窗。為了徹底解彈窗問(wèn)題,
    的頭像 發(fā)表于 06-09 16:47 ?139次閱讀
    HarmonyOS實(shí)戰(zhàn):首頁(yè)多<b class='flag-5'>彈窗</b>順序彈出終極解決方案

    如何在KaihongOS操作系統(tǒng)寫(xiě)一個(gè)彈窗組件

    寫(xiě)一個(gè)彈窗組件 KaihongOS框架提供了彈窗的API接口,開(kāi)發(fā)者可直接使用,詳情請(qǐng)參考@ohos.promptAction (彈窗)。但在開(kāi)發(fā)過(guò)程中當(dāng)提供的彈窗接口無(wú)法滿(mǎn)足需求時(shí)
    發(fā)表于 04-30 06:44

    請(qǐng)問(wèn)下,openharmony支持哪一款龍芯的開(kāi)發(fā)板?有沒(méi)有開(kāi)源的龍芯的openharmony源碼?

    想買(mǎi)個(gè)2k0300的開(kāi)發(fā)板學(xué)習(xí)龍芯和openharmony,愣是沒(méi)有看到提供openharmony源碼的,也沒(méi)與看到開(kāi)源的代碼。gitee,openharmony的龍芯sig倉(cāng)庫(kù)也是
    發(fā)表于 04-26 13:06

    DialogHub上線OpenHarmony開(kāi)源社區(qū),高效開(kāi)發(fā)鴻蒙應(yīng)用彈窗

    作為鴻蒙應(yīng)用開(kāi)發(fā)者,使用ArkUI現(xiàn)有能力進(jìn)行彈窗開(kāi)發(fā)時(shí),總會(huì)遇到一些讓人糾結(jié)的交互問(wèn)題:應(yīng)用內(nèi)進(jìn)行消息提示時(shí),既要求消息內(nèi)容支持圖文混排,又要求彈窗本身不能打斷用戶(hù)交互(頁(yè)面滑動(dòng)、頁(yè)面
    發(fā)表于 04-03 17:30

    STM32H5使用fatfs寫(xiě)函數(shù)時(shí)用不了DMA的寫(xiě)方式,應(yīng)該怎么使用呢?

    請(qǐng)問(wèn)STM32H5使用fatfs寫(xiě)函數(shù)時(shí),用不了DMA的寫(xiě)方式,應(yīng)該怎么使用呢,有人遇到過(guò)類(lèi)似的問(wèn)題嘛
    發(fā)表于 03-12 07:10

    OpenHarmony應(yīng)用與游戲開(kāi)發(fā)領(lǐng)域的前沿成果

    日前,由開(kāi)放原子開(kāi)源基金會(huì)主辦的第二屆OpenHarmony創(chuàng)新應(yīng)用挑戰(zhàn)賽決賽路演北京圓滿(mǎn)結(jié)束,作為第二屆開(kāi)放原子大賽的重要賽項(xiàng)之一,本屆賽事匯聚全球418支團(tuán)隊(duì),產(chǎn)出超過(guò)110個(gè)創(chuàng)新作品,集中
    的頭像 發(fā)表于 03-03 15:04 ?585次閱讀

    蜂鳥(niǎo)板Openharmony系統(tǒng)跑QT程序

    將QT程序放到Openharmony系統(tǒng)跑,可以運(yùn)行,但是會(huì)被覆蓋掉。(用的網(wǎng)盤(pán)里面的install,支持QT組件的版本)。 運(yùn)行情況是,終端運(yùn)行QT程序,可以正常運(yùn)行出來(lái),但是觸摸屏幕后,會(huì)被
    發(fā)表于 02-26 13:04

    鴻蒙原生開(kāi)源庫(kù)ViewPoolOpenHarmony社區(qū)正式上線

    近日,由伙伴參與共建的鴻蒙原生開(kāi)源庫(kù)“ViewPool”OpenHarmony社區(qū)正式上線。這個(gè)開(kāi)發(fā)庫(kù)是基于OpenHarmony技術(shù)孵化的成果,充分發(fā)揮了平臺(tái)的技術(shù)特性,同時(shí)融入了伙伴
    的頭像 發(fā)表于 12-20 14:44 ?613次閱讀

    OpenHarmony人才生態(tài)大會(huì)南向生態(tài)社區(qū)發(fā)展論壇武漢圓滿(mǎn)舉辦

    11月27日,OpenHarmony人才生態(tài)大會(huì)2024武漢隆重舉行。當(dāng)日下午的 OpenHarmony南向生態(tài)社區(qū)發(fā)展論壇(以下簡(jiǎn)稱(chēng)“論壇”),眾多社區(qū)伙伴、企業(yè)代表、技術(shù)專(zhuān)家與
    的頭像 發(fā)表于 11-29 10:06 ?587次閱讀
    <b class='flag-5'>OpenHarmony</b>人才生態(tài)大會(huì)南向生態(tài)社區(qū)發(fā)展論壇<b class='flag-5'>在</b>武漢圓滿(mǎn)舉辦

    OpenHarmony人才生態(tài)大會(huì)南向生態(tài)社區(qū)發(fā)展論壇武漢圓滿(mǎn)舉辦

    11月27日,OpenHarmony人才生態(tài)大會(huì)2024武漢隆重舉行。當(dāng)日下午的 OpenHarmony南向生態(tài)社區(qū)發(fā)展論壇(以下簡(jiǎn)稱(chēng)“論壇”),眾多社區(qū)伙伴、企業(yè)代表、技術(shù)專(zhuān)家與
    發(fā)表于 11-29 09:54

    基于ArkTS語(yǔ)言的OpenHarmony APP應(yīng)用開(kāi)發(fā):HelloOpenharmony

    1、程序簡(jiǎn)介該程序是基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)編寫(xiě)的UI應(yīng)用類(lèi):HelloOpenHarmony。本案例是基于API9接口開(kāi)發(fā)。本案例已在OpenHarmony凌蒙派-RK3568開(kāi)發(fā)
    的頭像 發(fā)表于 09-15 08:09 ?854次閱讀
    基于ArkTS語(yǔ)言的<b class='flag-5'>OpenHarmony</b> APP應(yīng)用開(kāi)發(fā):Hello<b class='flag-5'>Openharmony</b>

    河南大學(xué)OpenHarmony技術(shù)俱樂(lè)部正式揭牌成立

    8月30日,由OpenAtom OpenHarmony(以下簡(jiǎn)稱(chēng)“OpenHarmony”)項(xiàng)目群技術(shù)指導(dǎo)委員會(huì)與河南大學(xué)共同舉辦的“河南大學(xué)OpenHarmony技術(shù)俱樂(lè)部成立大會(huì)”
    的頭像 發(fā)表于 09-03 16:12 ?724次閱讀
    河南大學(xué)<b class='flag-5'>OpenHarmony</b>技術(shù)俱樂(lè)部正式揭牌成立

    第二屆大會(huì)回顧第25期 | OpenHarmony的Python設(shè)備應(yīng)用開(kāi)發(fā)

    Python以其簡(jiǎn)單、易學(xué)和功能強(qiáng)大而聞名,有著廣泛的用戶(hù)群體。采用Python開(kāi)發(fā)有助于降低OpenHarmony的學(xué)習(xí)門(mén)檻。如何在OpenHarmony用Python開(kāi)發(fā)設(shè)備應(yīng)用,有哪些關(guān)鍵技術(shù)?電
    的頭像 發(fā)表于 08-27 11:53 ?1196次閱讀
    第二屆大會(huì)回顧第25期 | <b class='flag-5'>OpenHarmony</b><b class='flag-5'>上</b>的Python設(shè)備應(yīng)用開(kāi)發(fā)