Sample上新,從API 8開始支援!速來拿走

HarmonyOS開發者社群發表於2022-07-12

Sample上新,從API 8開始支援!速來拿走

搭載API 8的新SDK已經發布。圍繞著新SDK,官方貼心地輸出了一波Sample,供各位開發者參考。本期我們將介紹6個基於eTS實現的Sample,開發者可以從中掌握基於TS擴充套件的宣告式開發正規化的核心機制和功能,同時還能從中學習新增介面的特性及用法,讓我們先睹為快! 

Sample1:FlipClock

簡介:

本示例展示了一個多功能的時鐘,如圖1所示,時鐘採用了數字翻頁的方式來顯示時間,並提供了建立鬧鐘及倒數計時的功能,同時還可以在“設定”裡面設定時鐘的休眠及螢幕亮度。透過學習本Sample,你可以掌握鬧鐘及倒數計時等後臺代理提醒功能的實現,同時還能掌握螢幕亮度、執行鎖等相關介面的使用。

               

圖1 FlipClock

重點剖析:

1、時鐘的時間顯示採用Text元件實現,透過呼叫rotate()介面將文字按指定座標軸進行順時針旋轉,從而實現數字翻頁的效果。

2、鬧鐘及倒數計時功能透過@ohos.reminderAgent模組實現,該模組提供了一系列後臺代理提醒的介面,相關介面如下:

               

3、設定螢幕亮度透過@ohos.brightness模組實現,該模組提供了設定裝置當前的螢幕亮度的介面,相關介面如下:

               

4、休眠功能透過@ohos.runningLock模組實現,該模組提供了執行鎖的一系列介面,相關介面如下:

               

原始碼下載連結:

Sample2:International

簡介:

本示例展示了系統的國際化資訊的設定,如圖2所示,使用者可以選擇當前地區、設定系統語言,還可以設定日期、時間、時區等。同時還展示了當前系統語言下的時間、數字、貨幣、百分比、單複數、螢幕方向等資訊的格式化顯示。透過學習本Sample,你可以掌握“國際化-i18n”標準的實現,同時還可以掌握設定系統時間的相關介面的使用。  

                       

圖2 International

重點剖析:

1、本示例中系統的語言、地區、時區等國際化統一標準透過@ohos.i18n模組實現,該模組提供了獲取國際化標準資訊的一系列介面,相關介面如下:

               

2、系統時間的設定透過@ohos.systemTime模組實現,該模組提供了設定系統日期、時間、時區等一系列介面,相關介面如下:

               

原始碼下載連結:

Sample3:Shopping

簡介:

本示例展示了一個仿購物類應用。如圖3所示,像我們經常使用的購物應用一樣,本示例提供了商品展示、商品搜尋、購物車、訊息提醒等功能,各介面中圖片、影片、文字等資源規整地呈現,且載入速度快、滑動效果流暢。透過學習本Sample,你可以熟悉eTS的宣告式語法,並能掌握應用介面的懶載入最佳化,同時還可以掌握Swiper、Tabs等元件的使用。

               

圖3 Shopping

重點剖析:

1、各介面均使用Flex、Cloumn、Row、Grid等混合佈局實現,並透過宣告式語法描述,使得介面佈局豐富多樣。

2、介面中的資料使用LazyForEach元件載入,以懶載入的方式從提供的資料來源中按需迭代資料,以此減小應用記憶體、提升使用者體驗。

3、介面內的滑動效果均採用了Swiper滑動容器,該元件實現了介面流暢地滑動,並提供了切換子元件顯示的能力。

4、介面內標籤容檢視的切換透過Tabs元件實現,每個介面標籤對應一個內容檢視。

原始碼下載連結:

Sample4:Chat

簡介:

本示例展示了一個仿聊天類的應用。如圖4所示,像我們經常使用的聊天應用一樣,本示例提供了發起聊天、新增好友、發起群聊、社群圖片展示等功能。同時,使用者還可設定儲存記錄,使應用退出時記住當前狀態,下次開啟恢復當前狀態。透過,學習本Sample你可以熟悉eTS的宣告式語法,並能掌握應用介面資料的懶載入最佳化與輕量級儲存的開發,同時還能掌握介面跳轉相關介面的使用。

               

圖4 Chat

重點剖析:

1、各介面均使用Flex、Cloumn、Row等混合佈局實現,並透過宣告式語法描述,使得介面佈局豐富多樣。

2、儲存記錄功能透過@ohos.data.storage模組實現,該模組提供了輕量級儲存開發的介面,為應用提供key-value鍵值型的檔案資料處理能力,支援應用對資料進行輕量級儲存及查詢。相關介面如下:

               

3、由於“聊天”和“通訊錄”模組資料量較大,所以使用了LazyForEach元件進行資料的懶載入,以減小應用記憶體、提升使用者體驗。

4、各個頁面間的跳轉透過@ohos.router(從API8開始支援)路由模組實現,該模組提供了應用中頁面路由的一系列介面,相關介面如下:

               

原始碼下載連結:

Sample5:DeviceUsageStatistics

簡介:

本示例展示了當前裝置中應用程式使用情況的資訊。如圖5所示,頂部的資料皮膚展示了最常用的五個應用的使用時間佔比情況,中部的豎向滑動欄展示了每個應用的使用總時長和最後一次使用的時間,底部的橫向滑動欄展示了不常用應用列表。透過學習本Sample,你可以掌握獲取裝置應用狀態的相關介面的使用。

               

圖5 DeviceUsageStatistics

重點剖析:

1、獲取裝置應用使用時長透過@ohos.bundlestate模組實現,該模組提供了獲取當前裝置應用狀態的一系列介面,相關介面如下:

               

原始碼下載連結:https://gitee.com/openharmony/app_samples/tree/master/device/DeviceUsageStatistics

Sample6:NativeAPI

簡介:

本示例展示了一個由C++完成邏輯計算並由eTS完成介面繪製的五子棋遊戲,如圖6所示。透過學習本Sample,你可以掌握在eTS中如何呼叫C++的介面,同時還能掌握彈窗模組的介面的使用。

               

圖6 NativeAPI

重點剖析:

1、eTS側透過import chessNapi from "libchess.so"引入C++側的邏輯能力,從而實現C++介面的呼叫。

2、應用中的彈窗透過@ohos.prompt(從API8開始支援)模組實現,該模組提供了介面彈窗操作的一系列介面,相關介面如下:

               

原始碼下載連結:

是不是超級實用呀,趕快點選連結下載學習吧!同時,使用過程中有任何問題或者需求,歡迎開發者到碼雲OpenHarmony/app_samples倉庫提交Issue。 

               


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70009402/viewspace-2905428/,如需轉載,請註明出處,否則將追究法律責任。

相關文章