Android Sunflower 帶您玩轉 Jetpack


作者:宋立心 (Tiem Song), Android 軟件工程師

640?wx_fmt=png

△ 插圖作者:Virginia Poltrack

 

在 Google I/O 2018 開發者大會上,我們推出了 Android Jetpack,其中包含的 Android 開發架構組件能夠幫助您簡化開發流程,從而輕松打造出優質應用。開發者能夠利用 Jetpack 組件學習最佳實踐,減少樣板代碼,簡化復雜任務,進而將精力集中在關鍵代碼上。

 

為了幫助開發者把 Jetpack 組件集成到自己的應用中,我們開發出一款名為 Sunflower (太陽花) 的圓藝應用,讓您能夠在模擬養花的過程中學習最佳 Android 開發實踐,了解別的開發者是如何利用 Android Jetpack 優化開發流程的。如果您是第一次接觸 Jetpack,您可以先訪問官方網站了解 Jetpack 基本知識,在動手開發出第一個基於 Jetpack 的簡單應用之后,再進行下一步。


本文是 Sunflower 系列文章的第一篇,希望大家在閱讀本文后能夠對應用有個初步的了解,並且對應用中涉及的 Jetpack 組件有一定認識。該系列的其它文章會陸續與各位開發者見面,如果您對 Jetpack 和 Android 開發感興趣,或者想要進一步探索 Jetpack 導航組件,了解如何利用 WorkManager 調度循環任務,請持續關注 Sunflower 系列文章。

 

>> Android Jetpack

https://developer.android.google.cn/jetpack/

>>?Sunflower (太陽花)

https://github.com/googlesamples/android-sunflower

>>?Jetpack 基本知識

https://developer.android.google.cn/jetpack/

>>?開發出第一個基於 Jetpack 的簡單應用

https://developer.android.google.cn/jetpack/docs/getting-started

 

 

游園指南

應用首次開啟時會在屏幕上顯示 “我的花園” 界面;當然此時的花園內尚未種植任何植物。

640?wx_fmt=png

△?未種植任何植物的 “我的花園”


接下來,我們就動手種株植物吧!在您輕觸左上角抽屜菜單鍵,打開側邊欄后,界面內會顯示植物列表。

640?wx_fmt=png

△?植物目錄


每種植物都有對應的生長區。而生長區是按照地理緯度划分的,它代表最適合該植物生長的地區。如果想要對植物列表進行篩選,您只需要在菜單欄中直接選定某一生長區即可。


選定植物后,界面便會轉入 “植物詳情” 頁面。

640?wx_fmt=png

△?植物介紹

 

在植物詳情詳情頁面中,您可以看到該植物的名稱、描述、澆水方法以及照片。您可以點擊界面內的懸浮操作按鈕,將植物添加到自己的花園;也可以在菜單欄點擊 “分享” 選項,將植物信息分享給好友。


在添加一株或多株植物后,您就可以在 “我的花園” 界面中看到已種植成功的植物,同時植物圖片的下方還會還顯示該植物的種植日期以及下次澆水時間。接下來,讓我們跳轉回 “我的花園” 看看都種了哪些植物吧。

 

>>?懸浮操作按鈕

https://developer.android.google.cn/guide/topics/ui/floating-action-button

>> “分享”

http://developer.android.google.cn/training/sharing/

 

640?wx_fmt=png

△?種植后的 “我的花園”

 

此時,“我的花園” 界面內,我們已經可以看到成功添加的植物、它們的種植日期以及上次澆水的時間。

 

 

使用 Jetpack 組件

 

Sunflower 使用了 Jetpack 中的許多組件,以下為各個組件在應用中所扮演的角色:

 

>> Kotlin

https://developer.android.google.cn/kotlin

>> Android KTX

https://developer.android.google.cn/kotlin/ktx

>>?Fragment

https://developer.android.google.cn/guide/components/fragments

>>?Navigation component

https://developer.android.google.cn/topic/libraries/architecture/navigation/

>>?transition animation actions

https://developer.android.google.cn/topic/libraries/architecture/navigation/navigation-implementing#Create-transition

>>?ConstraintLayout?

https://developer.android.google.cn/training/constraint-layout/

>>?Data Binding

https://developer.android.google.cn/topic/libraries/data-binding/

>>?Room

https://developer.android.google.cn/topic/libraries/architecture/room

>>?ViewModels

https://developer.android.google.cn/topic/libraries/architecture/viewmodel

>>?LiveData

https://developer.android.google.cn/topic/libraries/architecture/livedata

>>?AppCompat

https://developer.android.google.cn/topic/libraries/support-library/packages#v7-appcompat

>>?WorkManager?

https://developer.android.google.cn/topic/libraries/architecture/workmanager

>>?Espresso

https://developer.android.google.cn/training/testing/espresso/

 

 

下一步改進

Sunflower 目前尚處於密集開發階段,我們僅在 Alpha 渠道發布了該應用,並且計划在應用內定期添加新功能和深度組件集成。近期發布的改進項包括:(1) 允許用戶根據自己的地理位置篩選植物;(2) 升級至 AndroidX;(3) 支持通知推送,提醒用戶給植物澆水。


如果您希望在應用中增加新功能,或者有想和大家一同探討的話題,請在 GitHub 上創建新話題或給已有話題投票。


在今后的文章中,我們會進一步探討 Sunflower 中的其它 Jetpack 組件,如導航和重復任務,盡情期待。謝謝您對 Sunflower 的關注!

 

>>?AndroidX

https://developer.android.google.cn/topic/libraries/support-library/androidx-overview

 

640?wx_fmt=jpeg

△?Google 花園中的向日葵

 

 

進一步探索

前往 https://github.com/googlesamples/android-sunflower,留學簽證查看或下載 Sunflower 代碼。

 

獲取更多 Jetpack 相關信息,了解如何構建您的第一個 Jetpack 應用。

 

>> Jetpack

https://developer.android.google.cn/jetpack/

>>?構建您的第一個 Jetpack 應用

https://developer.android.google.cn/jetpack/docs/getting-started

 

 

?點擊屏末?|?閱讀原文?|?"我們願意更好地傾聽您的聲音 "

 

640?wx_fmt=jpeg

 

 

推薦閱讀

·?Android Jetpack: ViewModel | 中文教學視頻

·?Android 9 的非 SDK 接口限制 | 中文教學視頻

·?幫您系統地認識全球化設計 (上篇) | 認知度

640?wx_fmt=gif


文章來源:https://blog.csdn.net/jILRvRTrc/article/details/82141670


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM