---
# System prepended metadata

title: Android 開發知識樹 (Java)
tags: [' 共筆', ' APP 組', 書本, ' 研究']

---

---
title: Android 開發知識樹 (Java)
tags: 書本, 共筆, 研究, APP 組
GA: UA-54884750-6
---
<!-- Tag 規範：https://hackmd.io/@cmrdb/tags -->

# Android 開發知識樹 (Java)

[TOC]

# 入門

## Roadmap (學習路線)

- [Android Developer Roadmap](https://roadmap.sh/android)
- [APP 組 Gitmind ](https://gitmind.com/app/doc/a1a607975)

## 建議課程

- 

## 環境設定 (開發的第一步)

- [Android Studio 官網下載](https://developer.android.com/studio)
- [Android Studio 安裝教學](https://developer.android.com/studio/install)
- [寫程式一定要會使用的工具](https://www.google.com.tw/?hl=zh_TW)
- 

## 初學 (如何使用 Android Studio)

### 本節目標

- 了解如何使用 Android Studio
- 了解 Android 各資料夾意義與分類
- 了解遇到錯誤時如何除錯

### 教學文章

- [安裝 Android Studio、虛擬機安裝、開發 Hello World APP](https://welsen.medium.com/2020-android-develop-%E8%B6%85%E6%96%B0%E6%89%8B%E6%96%87%E7%AB%A0%E7%B3%BB%E5%88%97-hello-android-a469e26ff08b)
- [Android Studio 版面概述](https://vocus.cc/article/5ff091b3fd89780001655707)
- [Android Studio 版面介紹](https://www.youtube.com/watch?v=Sfl8RfmkEeQ&list=PL9muXAsyRXOGzRFXKUeOVfEsrwS9i3Q08&index=9)
- [Android Studio 詳細結構介紹 - Bilibili](https://www.bilibili.com/video/BV13y4y1E7pF?p=2&spm_id_from=pageDriver)
- [Android Studio findViewById](https://vocus.cc/article/5ff0b4d9fd89780001659578)
- [Android 常用控制元件介紹](https://www.itread01.com/content/1545501264.html)

# 基礎

## 109 教學簡報 (待完善)

- [Android Studio 介紹](https://docs.google.com/presentation/d/1NzYZ7ZxSzrOumFKkl0Amtn_wTyVMQjx7/edit?usp=sharing&ouid=112790736309147367879&rtpof=true&sd=true)
- [Button、TextView、ConstraintLayout](https://docs.google.com/presentation/d/1wrLohI5dsRCKEOb84jcL2-tWjfA-hp8i/edit?usp=sharing&ouid=112790736309147367879&rtpof=true&sd=true)
- [LinearLayout、EditText](https://docs.google.com/presentation/d/1pjkrmNd79cvuPyQAe184EcomiTYmuZQy/edit?usp=sharing&ouid=112790736309147367879&rtpof=true&sd=true)
- [RelativeLayout、RadioButton](https://docs.google.com/presentation/d/1VihYN_CA4FyfxbnRjMRy3nWg2p2BjeCO/edit?usp=sharing&ouid=112790736309147367879&rtpof=true&sd=true)
- [CheckBox](https://docs.google.com/presentation/d/1xs-NRoNMek5xbggulwkL2G8jrFMLaKQO/edit?usp=sharing&ouid=112790736309147367879&rtpof=true&sd=true)
- [ListView](https://docs.google.com/presentation/d/14SpnT3tKUIcn-VbZhCmVvtwDzGlvSrln/edit?usp=sharing&ouid=112790736309147367879&rtpof=true&sd=true)
- [Intent、Toast](https://drive.google.com/file/d/1CrbED5QIbYfIGchVTnUkoHhm93uwVM8e/view?usp=sharing)
- [Sensor、Acitvity LifeCycle](https://docs.google.com/presentation/d/16kLWcAz6sVw-hJo9QHNdSqqC2AwvRmk7/edit?usp=sharing&ouid=112790736309147367879&rtpof=true&sd=true)
- [Spinner、AlertDialog](https://docs.google.com/presentation/d/1hcbHTtYkT3o0CFIqXryUB_8QDpd2FZyU/edit?usp=sharing&ouid=112790736309147367879&rtpof=true&sd=true)
- [Fragment](https://drive.google.com/file/d/1vBaBD0tS3HDhBMji4dZFxR_MP1tLisOC/view?usp=sharing)
- [RecyclerView](https://drive.google.com/file/d/1QBhXPNjsQEU7i3w4zaaX5M3RHZMSqPB4/view?usp=sharing)
- [TabLayout、View Pager](https://drive.google.com/file/d/13gP-qLrc4PxAPbrisYB2cpZtog60GJvz/view?usp=sharing)
- [API](https://drive.google.com/file/d/1SAXeX3D7QhGZWiaZVGJ_IysWbPbAi8ZK/view?usp=sharing)
- [接 API](https://drive.google.com/file/d/1QqgM4pnFtF0rrOzBZoZ7JBQj3ZSRhK-g/view?usp=sharing)

## 0 ~ 100 的簡易 APP 實作

- 

## 基礎元件的介紹及用法

### Text

- [Text 全系列介紹 Part 1](https://ithelp.ithome.com.tw/articles/10218619)
- [Text 全系列介紹 Part 2](https://ithelp.ithome.com.tw/articles/10218620)
- [Text 全系列介紹 Part 3](https://ithelp.ithome.com.tw/articles/10218642)
- [Android TextView 最全的 XML 屬性](https://www.twblogs.net/a/5c4adfc5bd9eee6e7d81cb91)

### Buttons

- [元件介紹 - Button](https://ithelp.ithome.com.tw/articles/10217496)

### ListView

- [元件介紹 - ListView](https://ithelp.ithome.com.tw/articles/10219065)

### RecyclerView

- [IT30](https://ithelp.ithome.com.tw/articles/10220196)

### Widgets

- [元件介紹 - Spinner](https://ithelp.ithome.com.tw/articles/10220610)

## 常用技術

### Toast

- [元件介紹 - Toast](https://ithelp.ithome.com.tw/articles/10246269)

### Alert Dialog

- [Alert 1](https://thumbb13555.pixnet.net/blog/post/310777160)
- [Alert 2](https://xnfood.com.tw/android-alertdialog/)
### Log

- [LOG 介紹](https://ithelp.ithome.com.tw/articles/10253142)

### Intent

- [Intent 跳轉頁面](https://ithelp.ithome.com.tw/articles/10246886)

## UI

### Prototype
- [為什麼你應該把原型設計(Prototyping)放進你的 UI/UX 設計流程中？](https://medium.com/as-a-product-designer/a7fc5902c630)

### Layouts

- [Layout 元件介紹](https://ithelp.ithome.com.tw/articles/10189264)
- [LinearLayout、RelativeLayout 介紹](https://ithelp.ithome.com.tw/articles/10241966)
- [TableLayout、AbsoluteLayout、FrameLayout 介紹](https://ithelp.ithome.com.tw/articles/10242546)
- [ConstraintLayout 介紹](https://ithelp.ithome.com.tw/articles/10243182)
- 

### Animation

- [Lottie介紹](https://airbnb.design/introducing-lottie/)
    - [Lottie Docs](https://airbnb.io/lottie/#/)
    - [Lottie 初學者教學指南](https://www.appcoda.com.tw/lottie-beginner-guide/)

## 接 API 

- [什麼是 API？](https://www.youtube.com/watch?v=zvKadd9Cflc)
- [Volley 與 API](https://blog.cmrdb.cs.pu.edu.tw/?p=981)
- [使用 Retrofit 與 API 連線](https://ithelp.ithome.com.tw/articles/10188660)

## 資料庫基本操作 

- [SQLite 資料庫建立、資料表建立與操作](https://thumbb13555.pixnet.net/blog/post/317439792-android_studio_sqlite_stetho)
- [w3schools - SQL (SQL 語言學習)](https://www.w3schools.com/sql/default.asp)
- [SQLBolt (SQL 語言學習)](https://www.w3schools.com/sql/default.asp)

## Coding Style 

- https://gitlab.cmrdb.cs.pu.edu.tw/android-coding-style/android-coding-style
- https://source.android.com/setup/contribute/code-style?hl=zh-tw
- [javadoc](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html)

# 進階

## MVP、MVI、MVVM 架構概念 

- [三種開發架構 MVC、MVP、MVVM](https://www.youtube.com/watch?v=nViX8m7gS7I)

## 依賴注入(Dependency Injection)
- [依賴注入簡短介紹(英文)](https://www.youtube.com/watch?v=yunF2PgJlHU&ab_channel=PhilippLackner)
## Android Clean Code
- [SOLID Priciples(英文)](https://www.youtube.com/watch?v=t8VTLxMsufU&t=23s&ab_channel=PhilippLackner)
-  [如何用Kotlin Sealed Class讓程式更易讀(英文)](https://www.youtube.com/watch?v=t8VTLxMsufU&t=23s&ab_channel=PhilippLackner)

## 官方文件 (關於 Android Studio 最詳細知識都在這)

- [官方文件](https://developer.android.com/docs)
- [recycler](https://developer.android.com/guide/topics/ui/layout/recyclerview)
- [alert dialog 介紹](https://developer.android.com/guide/topics/ui/dialogs)
- [toast 介紹](https://developer.android.com/guide/topics/ui/notifiers/toasts#:~:text=A%20toast%20provides%20simple%20feedback,automatically%20disappear%20after%20a%20timeout)

## 其他
- [美化編譯器](https://blog.csdn.net/yy1300326388/article/details/45825123)
