前言
在學 Android 之前税弃,我倒騰過 VB纪岁、J2EE、SWT则果、C#幔翰、HTML、CSS西壮、JavaScript遗增、Symbian。
Android 學會后款青,又折騰過 PHP做修,用過不少 PHP 的框架及開源源碼,來我們公司又接觸了 Ruby on Rails抡草、Angular饰及、Vue。
這些學習讓我頓悟三個觀點渠牲,今天便趁著這個交流學習的機會旋炒,與君分享討論之:
所有開發(fā)語言的基礎語法本質都是一樣的步悠,只要能頓悟到這個本質签杈,學習新技能可以節(jié)省不少的學習時間;
所有的開發(fā)框架的架構思維目的只有一個鼎兽,把代碼分散到不同的文件里答姥,并對其文件分門別類的擺放,方便后期的維護和擴展谚咬;
只要這個開發(fā)技術有著強大的開發(fā)團隊在維護鹦付,它就會不斷的吸取目前市面上優(yōu)秀的技術架構思維,摒棄舊有的自身糟粕择卦。
綜上敲长,學習每門開發(fā)技術時郎嫁,我們不要癡迷于學習其語言語法或規(guī)范,而應想透其采用的技術思維是什么祈噪、怎么采用這個技術思維泽铛、為什么采用技術思維。也就是所謂的 what辑鲤、how盔腔、why。
接下來我給大家講 Android 不是只講 what月褥,還會橫向對比其他技術里面類似的東西弛随,講講我理解的 how 跟 why。
我個人非技術癡迷者宁赤,只是把它們當做實現(xiàn)產品的工具舀透。
再加上自身因素使學習時間有限,每門技術我僅會點皮毛礁击。
理解上肯定有疏漏或不對的地方盐杂,如講解有錯,還望大家指正哆窿。
Android 版本
- 2.x:有著諸多的美好链烈,也有著諸多的不美好,那時候文件管理器挚躯、任務管理器軟件非常吃香
- 3.x:任務管理的改進
- 4.x:界面的改進强衡,Material Design 的初探
- 5.x:Material Design 的成熟
- 6.x:運行時請求權限,個人認為是打算吸收 iOS 的做法吧
了解五大組件
首先码荔,我們需要初步的了解下在 Android 開發(fā)中常用的幾個組件是干什么的漩勤。
Activity
Activity 就是我們見到的界面,與它相關聯(lián)使用組件有:
- 談談 View 學習使用心得:其思想與桌面開發(fā)的 View 思想是一致的缩搅,監(jiān)聽者模式
- xml:布局 xml越败、style 與 html、css 的異同
切換到項目代碼演示:
- 先看看簡單的 Activity 代碼:SetRoadshowRemarkActivity
- Activity 的生命周期
- Fragment 使用
- Logger 使用
- Retrofit 使用
- Fresco 使用
- MVP 模式:chat 跟 roadshow 比較硼瓣,印證我的觀點 2
- 真正理解 Java 繼承
Service
后臺進程:
- 每門技術領域都有進程概念究飞,Android Service 進程概念與其他技術領域的進程是一致的理念
切換到項目代碼演示:
- BaiduPush 相關代碼
Broadcast Receiver
監(jiān)聽系統(tǒng)事件:
- 我個人覺得是跟了桌面軟件的系統(tǒng)概念是一致的
項目中沒有用到
Content Provider
應用之間共享數(shù)據(jù),項目中沒有用到堂鲤。
Intent
通信:
- 講下通信的理解亿傅,通信的媒介只有:內存 + 文件 + SqlLite
切換到項目代碼演示:
- Activity start
- open url by browser
- ShareView
談談 Android 的 Gradle
類同于 Rails 的 Gemfile,PHP 的 Composer.json瘟栖,Bower 的 bower.json葵擎。
切換到項目代碼演示:
- build.gradle