RM新时代网站-首页

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

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

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

OpenHarmony開發(fā)實(shí)例:【 待辦事項(xiàng)TodoList】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-22 22:00 ? 次閱讀

簡(jiǎn)介

TodoList應(yīng)用是基于OpenHarmony SDK開發(fā)的安裝在潤和HiSpark Taurus AI Camera(Hi3516d)開發(fā)板標(biāo)準(zhǔn)系統(tǒng)上的應(yīng)用;應(yīng)用主要功能是以列表的形式,展示需要完成的日程;通過本demo可以學(xué)習(xí)到 JS UI 框架List使用;

運(yùn)行效果

樣例效果

樣例原理

本demo只有一個(gè)list組件組成,初始化數(shù)據(jù)展示列表,并設(shè)置點(diǎn)擊事件改變數(shù)據(jù)狀態(tài),重新渲染列表

原理圖

工程版本

  • 系統(tǒng)版本/API版本:OpenHarmony SDK API 8
  • IDE版本:DevEco Studio 3.0 Beta3

快速上手

準(zhǔn)備硬件環(huán)境

[搭建標(biāo)準(zhǔn)系統(tǒng)環(huán)境]

準(zhǔn)備開發(fā)環(huán)境

  • 安裝最新版[DevEco Studio]。
  • 請(qǐng)參考[配置OpenHarmony SDK],完成DevEco Studio的安裝和開發(fā)環(huán)境配置。

準(zhǔn)備工程

鴻蒙開發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

搜狗高速瀏覽器截圖20240326151450.png

配置git
  • 提前注冊(cè)準(zhǔn)備碼云gitee賬號(hào)。
  • git工具下載安裝
    sudo apt install git
    sudo apt install git-lfs
    
  • 配置git用戶信息
    git config --global user.name "yourname"
    git config --global user.email "your-email-address"
    git config --global credential.helper store
    
git下載
git clone https://gitee.com/openharmony-sig/knowledge_demo_smart_home.git --depth=1
工程導(dǎo)入
  • DevEco Studio導(dǎo)入本工程;
    打開DevEco Studio,點(diǎn)擊File->Open->下載路徑/FA/TodoList
    打開工程導(dǎo)入工程

編譯

  • 點(diǎn)擊File > Project Structure > Project > Signing Configs界面勾選“ Automatically generate signing ”,等待自動(dòng)簽名完成即可,點(diǎn)擊“ OK ”。如下圖所示:運(yùn)行
  • 點(diǎn)擊Build->Build Hap/APPs 編譯,編譯成功生成entry-default-signed.hap

編譯編譯完成

燒錄/安裝

  • 識(shí)別到設(shè)備后點(diǎn)擊img,或使用默認(rèn)快捷鍵Shift+F10(macOS為Control+R)運(yùn)行應(yīng)用。

運(yùn)行

  • [安裝應(yīng)用]如果IDE沒有識(shí)別到設(shè)備就需要通過命令安裝,如下
    打開OpenHarmony SDK路徑 toolchains 文件夾下,執(zhí)行如下hdc_std命令,其中path為hap包所在絕對(duì)路徑。
    hdc_std install -r pathentry-default-signed.hap//安裝的hap包需為xxx-signed.hap,即安裝攜帶簽名信息的hap包。
    

工程目錄

完整的項(xiàng)目結(jié)構(gòu)目錄如下

HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

├─entrysrcmain
│          │  config.json  //應(yīng)用配置文件
│          │  
│          ├─js
│          │  └─MainAbility
│          │      │  app.js  // 應(yīng)用程序入口
│          │      │  
│          │      ├─common   // 公共資源
│          │      │  │  checkbutton.png
│          │      │  │  delete.png
│          │      │  │  done.png
│          │      │  │  head0.png
│          │      │  │  head1.png
│          │      │  │  head2.png
│          │      │  │  head3.png
│          │      │  │  head4.png
│          │      │  │  right.png
│          │      │  │  
│          │      │  └─images
│          │      │          bg-tv.jpg
│          │      │          Wallpaper.png
│          │      │          
│          │      ├─i18n   // 多語言文件
│          │      │      en-US.json
│          │      │      zh-CN.json
│          │      │      
│          │      └─pages
│          │          └─index
│          │                  index.css  //頁面樣式
│          │                  index.hml  //首頁展示
│          │                  index.js   //頁面邏輯
│          │                  
│          └─resources
│              ├─base
│              │  ├─element
│              │  │      string.json
│              │  │      
│              │  └─media
│              │          icon.png
│              │          
│              └─rawfile

開發(fā)步驟

1. 新建OpenHarmony ETS項(xiàng)目

在DevEco Studio中點(diǎn)擊File -> New Project ->[Standard]Empty Ability->Next,Language 選擇JS語言,最后點(diǎn)擊Finish即創(chuàng)建成功。 image-20211124092813545

2. 編寫主頁面

image-20211124093106260

2.1頁面展示

1)最外層是[div]容器,并在class里面設(shè)置背景色為黑色按行布局;

2)再通過[list]包裹[list-item]的 內(nèi)層div 容器按列布局,并設(shè)置點(diǎn)擊事件[onclick]

3)[div]容器按列布局依次寫入[image] 組件和 div 容器 ;

4)div容器里面又包裹一個(gè)div容器和以及[text]組件,且div容器里面也是兩個(gè)按列布局的[text]

< div class="container" >
    < list class="tag-list" initialindex="{{initialIndex}}" >
        < list-item for="{{taskList}}" class="todo-list-item" focusable="false" >
            < div class="todo-item flex-row" onclick="completeEvent({{$item.id}})" >
                < image class="todo-image" src="{{$item.checkBtn}}" >< /image >
                < div class="todo-text-wrapper" >
                    < div class="todo-name-mark" >
                        < text class="todo-name {{$item.color}}" focusable="false" >{{$item.event}}< /text >
                        < text class="todo-mark {{$item.tag}} {{$item.showTag}}" >< /text >
                    < /div >
                    < text class="todo-time" >{{$item.time}}< /text >
                < /div >
            < /div >
        < /list-item >
    < /list >
< /div >
2.2點(diǎn)擊事件

點(diǎn)擊某一行后,并根據(jù)當(dāng)前行的狀態(tài)改變相反的狀態(tài)

completeEvent(e) {
        for (let i of this.taskList) {
            if (i.id == e) {
                if (i.checkBtn == "/common/done.png") {
                    i.checkBtn = "/common/checkbutton.png";
                    i.showTag = 'show';
                    i.color = 'text-default';
                    i.completeState = false;
                } else {
                    i.checkBtn = "/common/done.png";
                    i.showTag = 'hide';
                    i.color = 'text-gray';
                    i.completeState = true;
                }
                return;
            }
        }
    },

操作體驗(yàn)

列表滑動(dòng)

樣例效果

審核編輯 黃宇

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

    關(guān)注

    57

    文章

    2339

    瀏覽量

    42805
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1973

    瀏覽量

    30142
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3713

    瀏覽量

    16254
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    OpenHarmony南向開發(fā)實(shí)例:【游戲手柄】

    基于TS擴(kuò)展的聲明式開發(fā)范式編程語言,以及OpenHarmony的分布式能力實(shí)現(xiàn)的一個(gè)手柄游戲。
    的頭像 發(fā)表于 04-17 10:21 ?748次閱讀
    <b class='flag-5'>OpenHarmony</b>南向<b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)例</b>:【游戲手柄】

    HarmonyOS開發(fā)案例:【待辦列表】

    使用ArkTS聲明式語法和基礎(chǔ)組件,實(shí)現(xiàn)簡(jiǎn)易待辦列表。效果為點(diǎn)擊某一事項(xiàng),替換標(biāo)簽圖片、虛化文字。
    的頭像 發(fā)表于 05-06 15:22 ?1082次閱讀
    HarmonyOS<b class='flag-5'>開發(fā)</b>案例:【<b class='flag-5'>待辦</b>列表】

    鴻蒙入門實(shí)戰(zhàn)-ArkTS開發(fā)

    要渲染的數(shù)組為以上的五條待辦事項(xiàng),要渲染的內(nèi)容是ToDoItem這個(gè)自定義組件,也可以是其他內(nèi)置組件。 圖7ForEach基本使用 ToDoItem這個(gè)自定義組件中,每一個(gè)ToDoItem要顯示的文本
    發(fā)表于 01-16 17:27

    實(shí)用待辦事項(xiàng)APP大推薦---《Count2task 記事達(dá)人》

    ,單純化用法,接口簡(jiǎn)單讓人一目了然。此app主要目的是提醒使用者, 什么待辦事情即將來臨,需要在時(shí)間內(nèi)完成,這樣可以進(jìn)一步規(guī)劃所剩下的時(shí)間與執(zhí)行的順序,最特別的是在待辦事項(xiàng)日期加了倒數(shù)進(jìn)度BAR~~視覺
    發(fā)表于 07-09 15:19

    我應(yīng)該知道什么才能在fpga領(lǐng)域工作?

    我應(yīng)該知道什么才能在fpga領(lǐng)域工作?我想得到一份我應(yīng)該知道和練習(xí)的“待辦事項(xiàng)”清單謝謝以上來自于谷歌翻譯以下為原文what should i know best for working
    發(fā)表于 01-11 10:30

    HarmonyOS應(yīng)用開發(fā)-UI設(shè)計(jì)開發(fā)與預(yù)覽

    (harmony-todo)提示:開發(fā)過程完成每一步點(diǎn)擊保存之后即可在預(yù)覽界面實(shí)時(shí)預(yù)覽效果3.為index頁面(index.hml)添加布局信息3.1添加今日待辦事項(xiàng)的列表<
    發(fā)表于 09-23 17:51

    OpenHarmony 應(yīng)用開發(fā)快速入門

    本文檔適用于OpenHarmony應(yīng)用開發(fā)的初學(xué)者。通過構(gòu)建一個(gè)簡(jiǎn)單的具有頁面跳轉(zhuǎn)/返回功能的應(yīng)用(如下圖所示),快速了解工程目錄的主要文件,熟悉OpenHarmony應(yīng)用開發(fā)流程。
    發(fā)表于 05-06 16:03

    openharmony開發(fā)企業(yè)有哪些

    將會(huì)在各種智能終端上運(yùn)用。那么openharmony開發(fā)企業(yè)有哪些?下面小編就為大家?guī)?b class='flag-5'>openharmony開發(fā)企業(yè)有哪些的答案。 openhar
    的頭像 發(fā)表于 06-23 11:13 ?2202次閱讀

    OpenHarmony開發(fā)體系內(nèi)容介紹

    初學(xué)OpenHarmony,開發(fā)者最需要構(gòu)建對(duì)OpenHarmony開發(fā)體系的整體了解。
    的頭像 發(fā)表于 07-04 10:34 ?1468次閱讀

    構(gòu)建低功耗數(shù)字化的Wi-Fi待辦事項(xiàng)列表

    電子發(fā)燒友網(wǎng)站提供《構(gòu)建低功耗數(shù)字化的Wi-Fi待辦事項(xiàng)列表.zip》資料免費(fèi)下載
    發(fā)表于 12-23 16:03 ?0次下載
    構(gòu)建低功耗數(shù)字化的Wi-Fi<b class='flag-5'>待辦事項(xiàng)</b>列表

    何為自主智能體?

    想象一下,你創(chuàng)造了一個(gè)人工智能工具,可以為其設(shè)定目標(biāo),即使是像「創(chuàng)造世界上最好的冰淇淋」這樣模糊的目標(biāo),它也會(huì)擬出一個(gè)待辦事項(xiàng)列表,執(zhí)行待辦事項(xiàng),并根據(jù)進(jìn)展來添加新的待辦事項(xiàng)。隨后它會(huì)繼續(xù)重復(fù)這個(gè)過程,直至完成目標(biāo)。
    的頭像 發(fā)表于 04-28 15:50 ?1194次閱讀
    何為自主智能體?

    10分鐘快速掌握OpenHarmony社區(qū)貢獻(xiàn)新流程

    (以下簡(jiǎn)稱OpenHarmony)社區(qū)優(yōu)化了Issue和PR處理流程,新支持了一系列交互命令和狀態(tài)標(biāo)簽,用于明確處理階段和當(dāng)前處理責(zé)任人。社區(qū)CI Bot工具還提供了待辦事項(xiàng)提醒能力,并能自動(dòng)處理超期
    的頭像 發(fā)表于 06-20 21:10 ?677次閱讀

    OpenHarmony上實(shí)現(xiàn)待辦事項(xiàng)功能

    列表的編輯模式用途十分廣泛,常見于待辦事項(xiàng)管理、文件管理、備忘錄的記錄管理等應(yīng)用場(chǎng)景。
    的頭像 發(fā)表于 06-25 15:19 ?734次閱讀

    鴻蒙開發(fā)實(shí)例:【配置OpenHarmony SDK】

    在設(shè)置OpenHarmony應(yīng)用開發(fā)環(huán)境時(shí),需要開發(fā)者在DevEco Studio中配置對(duì)應(yīng)的SDK信息。
    的頭像 發(fā)表于 04-22 15:24 ?1961次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)例</b>:【配置<b class='flag-5'>OpenHarmony</b> SDK】

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

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