前言
之前老是看着搞Java的朋友炫耀他的核心知識點筆記,真的,我内心毫無波瀾,隻有一點點酸
其實Android開發也有很多知識點,我一直以來就想要一份Android核心知識點筆記來幫助自己查漏補缺,後來想想,近兩年大家一直都在說網際網路寒冬怎麼怎麼,還老是謠傳Android開發馬上要涼了,我想我等不到别人發給我核心筆記了,這種大環境下還可能會有人做嗎……
我不能等着别人把資料送上門來
于是乎,今年年初開始,我就開始利用身邊的資源(朋友)在下班時間請了一位阿裡P8大牛吃了頓飯(我不會告訴你,當時我的内心是多麼激動)過了幾個月終于拿到了這份來之不易的Android開發核心知識點筆記……
這份資料我花了1個月看完了,不得不感歎一句,大牛就是大牛。裡面的知識非常系統全面,這份資料一方面可以幫助我們鞏固一下知識,一方面還可以有助于知識體系的打造與完善,同時也可以拿出來跟大家一起交流探讨,最後希望能互相學習,共同進步!

1、Java se基礎
1).Java基本資料類型與表達式,分支循環。
2).String和StringBuffer的使用、正規表達式。
3).面向對象的抽象,封裝,繼承,多态,類與對象,對象初始化和回收;構造函數、this關鍵字、方法和方法的參數傳遞過程、static關鍵字、内部類。
4).對象執行個體化過程、方法的覆寫、final關鍵字、抽象類、接口、繼承的優點和缺點剖析;對象的多态性:子類和父類之間的轉換、抽象類和接口在多态中的應用、多态帶來的好處。
5).Java異常處理,異常的機制原理。
6).常用的設計模式:Singleton、Template、Strategy模式。
7).JavaAPI介紹:種基本資料類型包裝類,System和Runtime類,Date和DateFomat類等。
8).Java集合介紹:Collection、Set、List、ArrayList、LinkedList、Hashset、Map、HashMap、Iterator等常用集合類API。
9).JavaI/O輸入輸出流:File和FileRandomAccess類,位元組流InputStream和OutputStream,字元流Reader和Writer,以及相應實作類,IO性能分析,位元組和字元的轉化流,包裝流的概念,以及常用包裝類,計算機編碼。
10).Java進階特性:反射和泛型。
11).多線程原理:如何在程式中建立多線程(Thread、Runnable),線程安全問題,線程的同步,線程之間的通訊、死鎖。
2、android UI程式設計
1)、Android開發環境搭建:Android介紹,Android開發環境搭建,第一個Android應用程式,Android應用程式目錄結構。
2)、Android初級控件的使用:
TextView控件的使用
Button控件的使用方法
EditText控件的使用方法
ImageView的使用方法
RadioButton的使用方法
Checkbox的使用方法
Menu的使用方法
3)、Android進階控件的使用:
ListView的使用方法
GridView的使用方法
Adapter的使用方法
Spinner的使用方法
Gallary的使用方法
ScrollView的使用方法
RecyclerView
4、對話框與菜單的使用:
Dialog的基本概念
BlockquoteAlertDialog的使用方法
DatePickerDialog的使用方法
Menu的使用方法
自定義Menu的實作方法
5.控件的布局方法:
線性布局的使用方法
相對布局的使用方法
6.多Acitivity管理:
AndroidManifest.xml檔案的作用
Intent的使用方法
使用Intent傳遞資料的方法
啟動Activity的方法
IntentFilter的使用方法
Activity Group的使用方法
7、自定義控件實作方法:
自定義ListView的實作方法
可折疊ListView的使用方法
自定義Adapter的實作方法
自定義View的實作方法
動态控件布局的上實作方法
上拉重新整理下拉加載更多
3、android網絡程式設計與資料存儲
1).基于Android平台的HTTP通訊:
Http協定回顧
使用Get方法向伺服器送出資料的方法
使用POST方法向伺服器送出資料的實作方法
使用Http協定實作多線程下載下傳
使用Http協定實作斷點續傳
2).Android資料存儲技術:
SQLite3資料庫簡介
SQL語句回顧
SQLite3程式設計接口介紹
SQLite3事務管理
SQLite3遊标使用方法
SQLite3性能分析
通路SDCard的方法
通路SharedPreferences的方法
初級工程師
技術要求:
-
基本知識點
比如四大元件如何使用、如何建立Service、如何進行布局、簡單的自定義View、動畫等常見技術
-
書籍推薦
《第一行代碼 Android》、《瘋狂Android》
中級工程師
技術要求:
-
稍微深入的知識點
AIDL、Messenger、Binder、多程序、動畫、滑動沖突、自定義View、消息隊列等
-
書籍推薦
《Android開發藝術探索》、《Android群英傳》
- AIDL:熟悉AIDL,了解其工作原理,懂transact和onTransact的差別;
- Binder:從Java層大概了解Binder的工作原理,懂Parcel對象的使用;
- 多程序:熟練掌握多程序的運作機制,懂Messenger、Socket等;
- 事件分發:彈性滑動、滑動沖突等;
- 玩轉View:View的繪制原理、各種自定義View;
- 動畫系列:熟悉View動畫和屬性動畫的不同點,懂屬性動畫的工作原理;
- 懂性能優化、熟悉mat等工具
- 懂點常見的設計模式
- 搞懂view的滑動原理
- 搞懂如何實作彈性滑動
- 搞懂view的滑動沖突
- 搞懂view的measure、layout和draw
- 然後再學習幾個已有的自定義view的例子
- 最後就可以搞定自定義view了,所謂萬變不離其宗
進階工程師
技術要求:
- 稍微深入的知識點
- 系統核心機制
- 基本知識點的細節
- 設計模式和架構
-
書籍推薦
《Android開發藝術探索》、《Android 源碼設計模式解析與實戰》、《Android核心剖析》
- 繼續加深了解”稍微深入的知識點“中所定義的内容
- 了解系統核心機制:
- 了解SystemServer的啟動過程
- 了解主線程的消息循環模型
- 了解AMS和PMS的工作原理
- 能夠回答問題”一個應用存在多少個Window?“
- 了解四大元件的大概工作流程
- …
- 基本知識點的細節
- Activity的啟動模式以及異常情況下不同Activity的表現
- Service的onBind和onReBind的關聯
- onServiceDisconnected(ComponentName className)和binderDied()的差別
- AsyncTask在不同版本上的表現細節
- 線程池的細節和參數配置
- …
- 熟悉設計模式,有架構意識學習方法
以上就是整理分享的Android開發進階的一個學習路線。
最後
光有這些思路和搞懂單個知識的應用是還遠遠不夠的,在Android開源架構設計思想中的知識點還是比較多的,想要搞懂還得學會整理和規劃:我們常見的**Android熱修複架構、插件化架構、元件化架構、圖檔加載架構、網絡通路架構、RxJava響應式程式設計架構、IOC依賴注入架構、最近架構元件Jetpack等等Android第三方開源架構,**這些都是屬于Android開源架構設計思想的。如下圖所示:
這位阿裡P8大佬針對以上知識點,熬夜整理出了一本長達1042頁的完整版如何解讀開源架構設計思想PDF文檔,内容詳細,把Android熱修複架構、插件化架構、元件化架構、圖檔加載架構、網絡通路架構、RxJava響應式程式設計架構、IOC依賴注入架構、最近架構元件Jetpack等等Android第三方開源架構這些知識點從源碼分析到實戰應用都講的簡單明了。
由于文檔内容過多,篇幅受限,隻能截圖展示部分,更為了不影響閱讀,這份文檔已經打包在騰訊文檔,有需要的朋友可以直接點此處前往免費下載下傳。
整理不易,覺得有幫助的朋友可以幫忙點贊分享支援一下小編~
朋友可以直接點此處前往免費下載下傳。**
[外鍊圖檔轉存中…(img-KVpr8dQY-1620465317794)]
[外鍊圖檔轉存中…(img-QUEdB2Kd-1620465317796)]
整理不易,覺得有幫助的朋友可以幫忙點贊分享支援一下小編~
你的支援,我的動力;祝各位前程似錦,offer不斷!!!