Sample上新,從API 8開始支援!速來拿走
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ASP.NET Web API自身對CORS的支援:從例項開始ASP.NETWebAPICORS
- [譯] 從 Java EE 8 Security API 開始 —— 第二部分JavaAPI
- [譯] 從 Java EE 8 Security API 開始 —— 第一部分JavaAPI
- 從零開始的 Android 新專案(5):Repository 層(上)Android
- 從零開始的 Android 新專案(8): Data Binding 高階篇Android
- 從零開始的 Android 新專案 8 - Data Binding 高階篇Android
- 系列文章——Web API從開始到結束WebAPI
- 從零開始入門 K8s | Kubernetes API 程式設計正規化K8SAPI程式設計
- 《MySQL 8從零開始學(影片教學版)》MySql
- 從零開始系列-Laravel編寫api服務介面:8.整合微信包-LaravelWechat的使用LaravelAPI
- 從零開始為 PicGo 開發一個新圖床PicGo圖床
- 從零開始寫 Docker(十九)---增加 cgroup v2 支援Docker
- 【高德地圖API】從零開始學高德JS API(六)——座標轉換地圖APIJS
- 快速開始api開發(六)檔案上傳,設定頭像API
- 新的開始
- 從零開始入門 K8s | Kubernetes API 程式設計利器:Operator 和 Operator FrameworkK8SAPI程式設計Framework
- 從WinMain開始AI
- 如何從 0 開始學一門新技術框架框架
- 【高德地圖API】從零開始學高德JS API(七)——定位方式大揭祕地圖APIJS
- Oracle從12g開始不在支援安騰處理器Oracle
- Java8新特性--Stream APIJavaAPI
- Java 8新特性(二):Stream APIJavaAPI
- 從零開始的JAVAday8~day21Java
- asp.net從一開始就沒按OOP規範來 太可惜了從 Page_Load開始ASP.NETOOP
- 【高德地圖API】從零開始學高德JS API(八)——地址解析與逆地址解析地圖APIJS
- 【序】新的開始
- 從零開始的 Android 新專案 - 收藏集 - 掘金Android
- Amazon開始支援Node.jsNode.js
- 從零開始機器學習機器學習
- 從零開始 OpenCVOpenCV
- 學習SQL Server從在Linux上安裝開始SQLServerLinux
- 從零開始搭建高可用的k8s叢集K8S
- K8s 開始K8S
- Surface Pro 8新特性開始曝光,微軟Surface Pro 7即將上市開售微軟
- 當小遊戲開始成為新的風口,讓我們從零到一的談談(上)遊戲
- 從零開始的Android新專案(2):Gradle 篇AndroidGradle
- 從零開始系列-Laravel編寫api服務介面:10.transformerLaravelAPIORM
- 從0開始學習java,應該從那塊開始學起?Java