gdgkisiiapp
GDG KISII Android移動應用程序的家庭存儲庫。
我們創建了一個Android應用程序來管理我們的開發人員社區。可以通過移動應用程序訪問開發人員事件,資源和演講者的更新。
酷功能包括
我的Android基礎知識課程
- 一般編程實踐
- Android基礎簡介
- 掌握Android中的佈局
- 構建系統 - 與Gradle合作
- 在Android中進行網絡
- 架構您的Android應用程序
- 測試您的Android應用程序
- 釋放您的Android應用程序
- 確保您的Android應用程序
- 先進的Android
一般編程實踐
以下一般編程實踐是您成功開發職業的關鍵。這些實踐包括:
- 源控制(GIT) - 源控制是管理代碼版本的工具,非常適合編寫軟件。
- GIT工作流程 - 使用源控件時有許多不同的軟件管理方式。流行方法包括:Gitflow工作流程,集中式工作流程,叉車工作流等。
- 連續集成 - 連續集成確保您的代碼在不是您自己的機器的服務器上構建。查看使用Jenkins,BuddyBuild,Circle CI,Travis等這樣的構建服務器。
- 拉請求 - 拉請求是獲取有關您開發的代碼的非常詳細反饋的好方法。
- 敏捷/Scrum方法論 - 大多數現代軟件開發團隊都遵循用於工作的Scrum方法。
- 代碼質量工具 - 公司使用許多工具來衡量其代碼質量和代碼庫的健康。指標,例如測試覆蓋線數量或代碼基礎的技術債務數量,使其可見。一些經常使用的工具:聲納,findbugs,CheckStyle和Android Lint。
Android基礎簡介
有許多網站提供了開始Android開發的基礎知識。我的建議是遵循官方文檔以了解基礎知識。
一些入門資源:
- Android應用基本面
- Android中的一些主要組成部分:活動,碎片,服務,廣播接收器。
- Android應用程序表現出來
- 代碼實驗室 - 構建您的第一個Android應用程序
掌握Android中的佈局
Android中有很多不同的佈局類型,從Framelayout到Relativelayout再到ConstraintLayout。確保您對這些常用的佈局類型感到滿意:framelayout,relativelayout,linearlayout,condectaintlayout,coordinatorlayout。
資源:
- 支持不同的屏幕尺寸
- 代碼實驗室 - 約束LAYOUT
- 代碼實驗室 - 協調員layout
建立系統 - 與Gradle合作
開發Android應用程序時,與Gradle合作可能會被忽略。確保您了解基礎知識,甚至更好 - 學習如何編寫自己的Gradle任務!
資源:
在Android中進行網絡
儘管大多數Android文檔沒有引用改造或OKHTTP,但這些是在Android中進行網絡時最常用的庫。熟悉Android Studio中可用的不同分析工具也是一件好事。
資源:
- 了解寧靜的服務
- 改造 - Android和Java的類型安全http客戶端
- OKHTTP - Android和Java應用程序的HTTP和HTTP/2客戶端
- Android中的網絡分析器 - Android Studio中的工具,可讓您介紹網絡調用。
- 查爾斯·代理(Charles Proxy) - 可在測試時攔截網絡調用。
架構您的Android應用程序
不幸的是,編寫代碼和使您的應用程序編譯並不是知道如何編寫可維護的Android應用程序的結束。大規模的Android應用需要遵循良好的建築設計,以使其可維護和可測試。編寫Android應用程序時,您可以遵循許多不同的模式。通常使用MVP,MVVM和清潔體系結構等模式。確保您了解模式之間的差異,因為您將遇到野外的許多不同模式。
資源:
- Android體系結構組件指南
- Android體系結構組件簡介視頻
- Google樣本應用GitHub存儲庫
- 代碼實驗室 - 持久性
- 代碼實驗室 - 生命週期意識的組件
測試您的Android應用程序
一旦您掌握了創建Android應用程序的努力,您將需要考慮如何測試它們。單元測試和UI測試是您需要確保理解的非常重要的概念。您可以使用許多不同的工具來編寫UI測試。大多數Android開發人員都使用濃縮咖啡和Junit來編寫測試,但是還有許多其他工具,例如Robotium,Calabash,Appium等。我建議使用濃縮咖啡和Junit。
資源:
- Android測試支持庫
- 濃縮咖啡
- 朱尼特
- 嘲笑
- 代碼實驗室 - Android測試
- 代碼實驗室 - Android性能測試
釋放您的Android應用程序
太好了,您已經走了這麼遠!
現在,您需要介紹一些概念才能發布您的應用程序:
- 準備您的應用程序供發布
- 應用簽名
- 版本處理您的應用程序
- 前衛
安全
為了確保您的應用程序並確保沒有人獲得未經授權的內容的訪問,應該做很多事情。確保您正在使用Proguard(前面提到)。了解中間攻擊中的男人是什麼。了解不同的加密方法以及您可以將信息安全存儲在Android應用中的方式,包括確保API令牌,證書固定等。
資源:
- 關於Android的安全提示。
- 證書固定
- 安全網API
- Android鑰匙店系統'
先進的Android主題
一旦您涵蓋了編寫Android應用程序的所有基礎知識,您可能需要介紹一些高級主題才能為某些代碼庫做出貢獻:
- Kotlin - Kotlin是Android的新編程語言,開發人員正在Kotlin積極編寫其代碼。值得閱讀有關Kotlin並貫穿Kotlin Koans的信息。還有一個可用的Kotlin代碼實驗室。
- RXJAVA - RXJAVA是一個用於異步,基於事件的編程的庫。它允許您一起組合操作以完成複雜的任務(例如將多個網絡調用組合在一起),並且在管理哪個線程執行的線程時非常有用。傑克·沃頓(Jake Wharton)有一個很棒的視頻,描述瞭如何使用RXJAVA及其使用的好處。
- 匕首(依賴注入) - 依賴注入是管理對象及其依賴項在您應用程序中的一種方式。 DI的概念不是Android的概念,但也可以在許多其他框架中獲得。 DI可以使您的代碼更加有效,並促進可測試性。匕首2是最受歡迎的Android DI框架。
- 材料設計 - 大多數Android應用都遵循Google的材料設計指南。該指南是一種以標準方式設計您的應用程序的方式,用戶習慣了。
- Android中的支持庫 - Android中的支持庫對於確保您的應用程序在多個版本的Android中保持外觀和行為非常重要。有幾個不同的庫具有不同的目的。鏈接的文章描述了庫背後的原因。
- 內存洩漏 - 在Android中,創建內存洩漏非常容易。這可能會導致應用程序中的錯誤行為(隨機崩潰)。許多開發人員在其應用程序中使用Leakcanary,以確保沒有任何內存洩漏。
執照