Android開發(fā)學(xué)什么
? ? ? ??本文是Android入門系列的第一篇。我想很多人可能和我一樣,進(jìn)入一個(gè)新的領(lǐng)域,都想要知道學(xué)習(xí)路線和學(xué)習(xí)內(nèi)容。這篇文章我們就來介紹一下Android開發(fā)要學(xué)習(xí)的內(nèi)容。
? ? ? ? Android開發(fā)往復(fù)雜了講,可以有很多內(nèi)容要學(xué):四大組件(Activity, Broadcast, Content Provider, Service),MVVM,MVP, Jetpack,插件化,組件化,網(wǎng)絡(luò)請求,Gradle……可以說是非常復(fù)雜,學(xué)無止境。
????????但是往簡單了說,一個(gè)程序無非就是界面+數(shù)據(jù)。Android應(yīng)用是一個(gè)面向用戶的程序,用戶界面必不可少。界面展示的內(nèi)容,就是我們的數(shù)據(jù)。界面是數(shù)據(jù)的展示和布局方式。
? ? ? ? ?界面:在Android中呢,它的一個(gè)頁面就叫做一個(gè)Activity(活動(dòng))。頁面的各種布局繪制方式,LinearLayout線性布局, RelativeLayout相對布局,ConstraintLayout約束布局等。常用的控件,顯示文字的TextView,顯示按鈕的Button,顯示列表的RecyclerView等。這里頁面的布局就像是學(xué)web開發(fā)要學(xué)css。
? ? ? ? ?數(shù)據(jù):應(yīng)用界面上顯示的各種內(nèi)容是由數(shù)據(jù)組成的,數(shù)據(jù)可以臨時(shí)存儲(chǔ)在內(nèi)存中,持久化存儲(chǔ)在設(shè)備上,或者通過網(wǎng)絡(luò)請求數(shù)據(jù)。本地?cái)?shù)據(jù)的持久化存儲(chǔ)方式主要有:SharedPreference, Sqlite等。持久化存儲(chǔ)是指手機(jī)重啟后斷電后數(shù)據(jù)也不會(huì)丟失,保存在Rom上。網(wǎng)絡(luò)數(shù)據(jù)就是要學(xué)習(xí)網(wǎng)絡(luò)請求數(shù)據(jù),調(diào)用網(wǎng)絡(luò)接口,使用網(wǎng)絡(luò)請求庫okhttp等。
? ? ? ?另外,Android開發(fā)需要學(xué)習(xí)編程語言,Android開發(fā)目前官方推薦的是Kotlin開發(fā),當(dāng)然Java語言也可以。
????????最后,我們來總結(jié)一下,Android開發(fā)要學(xué)習(xí)的內(nèi)容就是界面的布局+數(shù)據(jù)的存儲(chǔ)方式。如果沒有Kotlin語言經(jīng)驗(yàn)的話,也需要學(xué)習(xí)Kotlin的基本語法。大部分沒有經(jīng)歷過Android開發(fā)的人,應(yīng)該都沒有學(xué)習(xí)過Kotlin語言。所以Kotlin語言的簡單使用也是大部分學(xué)習(xí)Android開發(fā)的人需要學(xué)習(xí)的。
????? ? ?