android軟件開(kāi)發(fā)學(xué)習筆記(android軟件開(kāi)發(fā)教程)

軟件開(kāi)發(fā) 3601
本篇文章給大家談談android軟件開(kāi)發(fā)學(xué)習筆記,以及android軟件開(kāi)發(fā)教程對(duì)應的知識點,希望對(duì)各位有所幫助,不要忘了收藏本站喔。 如果要做android軟件開(kāi)發(fā)需要什麼(me)基礎,需要學(xué)習什麼(me)内容 android應用程序是用java作為基礎語言的,也支持C++和一些動态語言(例如python)如果要進(jìn)行學(xué)習,首先應該學(xué)習java。根據項目的不同,可能(néng)會(huì)使用到(dào)操作系統(linux)和web相關的知識。

本篇文章給大家談談android軟件開(kāi)發(fā)學(xué)習筆記,以及android軟件開(kāi)發(fā)教程對(duì)應的知識點,希望對(duì)各位有所幫助,不要忘了收藏本站喔。

如果要做android軟件開(kāi)發(fā)需要什麼(me)基礎,需要學(xué)習什麼(me)内容

android應用程序是用java作為基礎語言的,也支持C++和一些動态語言(例如python)

如果要進(jìn)行學(xué)習,首先應該學(xué)習java。

根據項目的不同,可能(néng)會(huì)使用到(dào)操作系統(linux)和web相關的知識。

與服務期交互的應用還(hái)是非常多的。

如何學(xué)習安卓軟件開(kāi)發(fā)

一、前言

不知不覺自己已經(jīng)做了幾年開(kāi)發(fā)了,由記得剛出來工作的時(shí)候感覺自己能(néng)牛逼,現在回想起(qǐ)來感覺好(hǎo)無知。懂的越多的時(shí)候你才會(huì)發(fā)現懂的越少。

如果你的知識是一個圓,當你的圓越大時(shí),圓外面(miàn)的世界也就(jiù)越大。

最近看到(dào)很多Android新手問Android學(xué)習路線,學(xué)習方法啊,如何入門啊,所以我從網上找了一些資料,然後(hòu)以我的工作經(jīng)驗給大家總結一下,讓你們少走彎路,提取一些工作中經(jīng)常用到(dào)的技術。

二、學(xué)習知識彙總1、Java se基礎

1).Java基本數據類型與表達式,分支循環。

2).String和StringBuffer的使用、正則表達式。

3).面(miàn)向(xiàng)對(duì)象的抽象,封裝,繼承,多态,類與對(duì)象,對(duì)象初始化和回收;構造函數、this關鍵字、方法和方法的參數傳遞過(guò)程、static關鍵字、内部類。

4).對(duì)象實例化過(guò)程、方法的覆蓋、final關鍵字、抽象類、接口、繼承的優點和缺點剖析;對(duì)象的多态性:子類和父類之間的轉換、抽象類和接口在多态中的應用、多态帶來的好(hǎo)處。

5).Java異常處理,異常的機制原理。

6).常用的設計模式:Singleton、Template、Strategy模式。

7).JavaAPI介紹:種(zhǒng)基本數據類型包裝類,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性能(néng)分析,字節和字符的轉化流,包裝流的概念,以及常用包裝類,計算機編碼。

10).Java高級特性:反射和泛型。

11).多線程原理:如何在程序中創建多線程(Thread、Runnable),線程安全問題,線程的同步,線程之間的通訊、死鎖。

2、android UI編程

1)、Android開(kāi)發(fā)環境搭建:Android介紹,Android開(kāi)發(fā)環境搭建,第一個Android應用程序,Android應用程序目錄結構。

2)、Android初級控件的使用:

TextView控件的使用

Button控件的使用方法

EditText控件的使用方法

ImageView的使用方法

RadioButton的使用方法

Checkbox的使用方法

Menu的使用方法

3)、Android高級控件的使用:

ListView的使用方法

GridView的使用方法

Adapter的使用方法

Spinner的使用方法

Gallary的使用方法

ScrollView的使用方法

RecyclerView

4、對(duì)話框與菜單的使用:

Dialog的基本概念

BlockquoteAlertDialog的使用方法

DatePickerDialog的使用方法

Menu的使用方法

自定義Menu的實現方法

5.控件的布局方法:

線性布局的使用方法

相對(duì)布局的使用方法

6.多Acitivity管理:

AndroidManifest.xml文件的作用

Intent的使用方法

使用Intent傳遞數據的方法

啟動Activity的方法

IntentFilter的使用方法

Activity Group的使用方法

7、自定義控件實現方法:

自定義ListView的實現方法

可折疊ListView的使用方法

自定義Adapter的實現方法

自定義View的實現方法

動态控件布局的上實現方法

上拉刷新下拉加載更多

3、android網絡編程與數據存儲

1).基于Android平台的HTTP通訊:

Http協議回顧

使用Get方法向(xiàng)服務器提交數據的方法

使用POST方法向(xiàng)服務器提交數據的實現方法

使用Http協議實現多線程下載

使用Http協議實現斷點續傳

2).Android數據存儲技術:

SQLite3數據庫簡介

SQL語句回顧

SQLite3編程接口介紹

SQLite3事(shì)務管理

SQLite3遊标使用方法

SQLite3性能(néng)分析

訪問SDCard的方法

訪問SharedPreferences的方法

參考自:Android學(xué)習路線

三、進(jìn)階之路(初級-中級-高級)1、初級工程師

小明之前完全沒(méi)接觸過(guò)Android開(kāi)發(fā),是個應屆生,他的待遇是13k,然後(hòu)小明以校招的身份進(jìn)入了百度,然後(hòu)小明需要怎麼(me)學(xué)習才能(néng)成(chéng)為初級工程師呢?這(zhè)個時(shí)候,小明對(duì)編程基礎、數據結構、C語言都(dōu)有一定基礎,Java語法什麼(me)的也都(dōu)掌握的比較好(hǎo),Android才有java語言,無奈的是小明并不會(huì)搞Android。

小明首先需要購買一本Android入門的書籍,為了更快地學(xué)習Android,小明業餘時(shí)間也都(dōu)用來一邊看書一邊照著(zhe)書中的例子敲代碼,結果2周時(shí)間小明就(jiù)把這(zhè)本書學(xué)了一遍。看完這(zhè)本書後(hòu),小明對(duì)Android的曆史、結構、代碼規範等都(dōu)有了一個大概的了解,并且,小明已經(jīng)可以寫出一些簡單的Activity了。這(zhè)個時(shí)候在小明眼裡(lǐ),Android開(kāi)發(fā)很簡單很好(hǎo)玩,通過(guò)在xml中擺放一些按鈕文本框什麼(me)的就(jiù)可以做一些界面(miàn)了。

小明開(kāi)始跟著(zhe)他的技術導師做需求,一些簡單的小需求小明自然是不在話下了。突然有一天來了一個需求,該需求要求小明在Activity中為一個button加一個動畫效果,小明慌了:“完全沒(méi)接觸過(guò),書上也沒(méi)有講,怎麼(me)辦呢?”小明冷靜了下,打開(kāi)了百度搜索,輸入“Android 動畫”,打開(kāi)前幾個鍊接,小明恍然大悟,照著(zhe)網上的例子把需求給實現了。後(hòu)來導師告訴他:“學(xué)好(hǎo)Android,官方文檔是必須看的,既全面(miàn)又權威”。然後(hòu)小明如獲至寶,花了一年時(shí)間把上面(miàn)的guide和training都(dōu)看了一遍,并且他還(hái)動手抄了幾個小例子。

有一天,小明又需要做一個動畫相關的需求,這(zhè)可難不倒小明,它熟練地打開(kāi)了百度一下,你就(jiù)知道(dào),輸入“Android 動畫”,突然他楞了一下:”總不能(néng)每次寫動畫都(dōu)要百度一下吧!“,于是他在CSDN開(kāi)了一個博客,把動畫相關的知識點都(dōu)寫上去,為的是後(hòu)面(miàn)再寫動畫相關的代碼就(jiù)不用百度去搜了,事(shì)實如何呢?後(hòu)面(miàn)再寫動畫相關的代碼,小明的确不用再去百度搜了,因為通過(guò)寫一篇動畫博客,他把動畫相關的細節都(dōu)已經(jīng)記住了,這(zhè)樣(yàng)他就(jiù)可以不用再去參考任何文檔了,後(hòu)來小明還(hái)學(xué)會(huì)了把一些瑣碎的不方便放在博客上的東西寫到(dào)了印象筆記上面(miàn),什麼(me)時(shí)候忘了10秒鐘以内都(dōu)可以快速找回來,而不是花10分鐘去再次搜索一遍。

這(zhè)裡(lǐ)總結一下,Android入門的時(shí)候,需要有一本入門書,好(hǎo)好(hǎo)學(xué)習書中的内容,同時(shí)花一年時(shí)間把Android官方文檔中的training和guide看一遍,同時(shí)通過(guò)寫博客和記筆記的方式來做總結,建議讓自己的每篇博客都(dōu)有價值些。通過(guò)一年時(shí)間的學(xué)習,相信每個人都(dōu)可以達到(dào)中級工程師的水平。

技術要求:

基本知識點

比如四大組件如何使用、如何創建Service、如何進(jìn)行布局、簡單的自定義View、動畫等常見技術

書籍推薦

《第一行代碼 Android》、《瘋狂Android》

2、中級工程師

小明經(jīng)過(guò)一年的努力學(xué)習終于成(chéng)為Android中級工程師了,月薪變成(chéng)了17k。到(dào)了中級工程師,已經(jīng)可以在公司裡(lǐ)幹很多體力活了,但是一些很重要的任務小明還(hái)不能(néng)一個人承擔起(qǐ)來,這(zhè)個時(shí)候小明需要學(xué)習的内容就(jiù)很多了,如下所示:

AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的區别;

Binder:從Java層大概理解Binder的工作原理,懂Parcel對(duì)象的使用;

多進(jìn)程:熟練掌握多進(jìn)程的運行機制,懂Messenger、Socket等;

事(shì)件分發(fā):彈性滑動、滑動沖突等;

玩轉View:View的繪制原理、各種(zhǒng)自定義View;

動畫系列:熟悉View動畫和屬性動畫的不同點,懂屬性動畫的工作原理;

懂性能(néng)優化、熟悉mat等工具

懂點常見的設計模式

學(xué)習方法

閱讀進(jìn)階書籍,閱讀Android源碼,閱讀官方文檔并嘗試自己寫相關的技術文章,需要有一定技術深度和自我思考。在這(zhè)個階段的學(xué)習過(guò)程中,有2個點是比較困擾大家的,一個是閱讀源碼,另一個是自定義View以及滑動沖突。

如何閱讀源碼呢?這(zhè)是個頭疼的問題,但是源碼必須要讀。閱讀源碼的時(shí)候不要深入代碼細節不可自拔,要關注代碼的流程并盡量挖掘出對(duì)應用層開(kāi)發(fā)有用的結論。另外仔細閱讀源碼中對(duì)一個類或者方法的注釋,在看不懂源碼時(shí),源碼中的注釋可以幫你更好(hǎo)地了解源碼中的工作原理,這(zhè)個過(guò)程雖然艱苦,但是别無他法。

如何玩轉自定義View呢?我的建議是不要通過(guò)學(xué)習自定義view而學(xué)習自定義view。為什麼(me)這(zhè)麼(me)說(shuō)呢?因為自定義view的種(zhǒng)類太多了,各式各樣(yàng)的絢麗的自定義效果,如何學(xué)的玩呢!我們要透過(guò)現象看本質,更多地去關注自定義view所需的知識點,這(zhè)裡(lǐ)做如下總結:

搞懂view的滑動原理

搞懂如何實現彈性滑動

搞懂view的滑動沖突

搞懂view的measure、layout和draw

然後(hòu)再學(xué)習幾個已有的自定義view的例子

最後(hòu)就(jiù)可以搞定自定義view了,所謂萬變不離其宗

大概再需要1-2年時(shí)間,即可達到(dào)高級工程師的技術水平。我個人認為通過(guò)《Android開(kāi)發(fā)藝術探索》和《Android群英傳》可以縮短這(zhè)個過(guò)程為0.5-1年。注意,達到(dào)高級工程師的技術水平不代表就(jiù)可以立刻成(chéng)為高級工程師(受機遇、是否跳槽的影響),但是技術達到(dào)了,成(chéng)為高級工程師隻是很簡單的事(shì)。

技術要求:

稍微深入的知識點

AIDL、Messenger、Binder、多進(jìn)程、動畫、滑動沖突、自定義View、消息隊列等

書籍推薦

《Android開(kāi)發(fā)藝術探索》、《Android群英傳》

3、高級工程師

小明成(chéng)為了夢寐以求的高級工程師,月薪達到(dào)了20k,還(hái)拿到(dào)了一丢丢股票。這(zhè)個時(shí)候小明的Android水平已經(jīng)不錯了,但是小明的目标是資深工程師,小明聽說(shuō)資深工程師月薪可以達到(dào)30k+。

為了成(chéng)為Android資深工程師,需要學(xué)習的東西就(jiù)更多了,并且有些并不是那麼(me)具體了,如下所示:

繼續加深理解”稍微深入的知識點“中所定義的内容

了解系統核心機制:

了解SystemServer的啟動過(guò)程

了解主線程的消息循環模型

了解AMS和PMS的工作原理

能(néng)夠回答問題”一個應用存在多少個Window?“

了解四大組件的大概工作流程

基本知識點的細節

Activity的啟動模式以及異常情況下不同Activity的表現

Service的onBind和onReBind的關聯

onServiceDisconnected(ComponentName className)和binderDied()的區别

AsyncTask在不同版本上的表現細節

線程池的細節和參數配置

熟悉設計模式,有架構意識學(xué)習方法

這(zhè)個時(shí)候已經(jīng)沒(méi)有太具體的學(xué)習方法了,無非就(jiù)是看書、看源碼和做項目,平時(shí)多種(zhǒng)總結,盡量將(jiāng)知識融會(huì)貫通從而形成(chéng)一種(zhǒng)體系化的感覺。同時(shí)這(zhè)個階段對(duì)架構是有一定要求的,架構是抽象的,但是設計模式是具體的,所以一定要加強下設計模式的學(xué)習。關于設計模式的學(xué)習,最近一本新書推薦給大家《Android 源碼設計模式解析與實戰》,既可以學(xué)習設計模式,又可能(néng)體會(huì)到(dào)Android源碼中的設計思想,我最近也在閱讀此書。

技術要求:

稍微深入的知識點

系統核心機制

基本知識點的細節

設計模式和架構

書籍推薦

《Android開(kāi)發(fā)藝術探索》、《Android 源碼設計模式解析與實戰》、《Android内核剖析》

參考自:Android學(xué)習路線指南

四、學(xué)習視頻跟書籍

當你有了學(xué)習線路,學(xué)習哪些内容,也知道(dào)以後(hòu)的路怎麼(me)走了,理論看多了總要實踐的,我這(zhè)裡(lǐ)給你們整理了大概80G的學(xué)習視頻跟書籍,趕快點我點我點我。。。下載。。

附上出處鍊接:

北大青鳥java培訓:Android開(kāi)發(fā)需要學(xué)習哪些内容?

随著(zhe)移動互聯網的發(fā)展,各種(zhǒng)智能(néng)手機APP接踵而來,在手機APP應用市場中,數量最多的就(jiù)是Android開(kāi)發(fā)的手機軟件了。

Android開(kāi)發(fā)也成(chéng)為當下較熱門行業。

那麼(me),江西北大青鳥就(jiù)告訴你,想要學(xué)習Android開(kāi)發(fā),需要學(xué)習哪些課程?Java面(miàn)向(xiàng)對(duì)象編程1、Java基本數據類型與表達式,分支循環。

2、String和StringBuffer的使用、正則表達式。

3、面(miàn)向(xiàng)對(duì)象的抽象,封裝,繼承,多态,類與對(duì)象,對(duì)象初始化和回收;構造函數、this關鍵字、方法和方法的參數傳遞過(guò)程、static關鍵字、内部類,Java的垃極回收機制,Javadoc介紹。

4、對(duì)象實例化過(guò)程、方法的覆蓋、final關鍵字、抽象類、接口、繼承的優點和缺點剖析;對(duì)象的多态性:子類和父類之間的轉換、抽象類和接口在多态中的應用、多态帶來的好(hǎo)處。

5、Java異常處理,異常的機制原理。

6、常用的設計模式:Singleton、Template、Strategy模式。

7、JavaAPI介紹:種(zhǒng)基本數據類型包裝類,System和Runtime類,Date和DateFomat類等。

8、Java集合介紹:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合類API。

9、JavaI/O輸入輸出流:File和FileRandomAccess類,字節流InputStream和OutputStream,字符流Reader和Writer,以及相應實現類,IO性能(néng)分析,字節和字符的轉化流,包裝流的概念,以及常用包裝類,計算機編碼。

10、Java高級特性:反射、代理和泛型。

11、多線程原理:如何在程序中創建多線程(Thread、Runnable),線程安全問題,線程的同步,線程之間的通訊、死鎖。

12、Socket網絡編程。

Javaweb開(kāi)發(fā)1、Java解析XML文件DOM4J。

2、MySql數據庫的應用、多表連接查詢的應用。

3、Jsp和Servlet應用。

4、Http協議解析。

5、Tomcat服務器的應用配置。

6、WebService服務配置應用。

androidUI編程1、Android開(kāi)發(fā)環境搭建:Android介紹,Android開(kāi)發(fā)環境搭建,先進(jìn)個Android應用程序,Android應用程序目錄結構。

2、Android初級控件的使用:TextView控件的使用Button控件的使用方法EditText控件的使用方法ImageView的使用方法RadioButton的使用方法Checkbox的使用方法Menu的使用方法。

3、Android高級控件的使用:Autocompletion的使用方法ListView的使用方法GridView的使用方法Adapter的使用方法Spinner的使用方法Gallary的使用方法ScrollView的使用方法。

4、對(duì)話框與菜單的使用:Dialog的基本概念AlertDialog的使用方法DatePickerDialog的使用方法Menu的使用方法自定義Menu的實現方法。

5、控件的布局方法:線性布局的使用方法相對(duì)布局的使用方法表格布局的使用方法。

6、多Acitivity管理:AndroidManifest.xml文件的作用,Intent的使用方法,使用Intent傳遞數據的方法,啟動Activity的方法,IntentFilter的使用方法,ActivityGroup的使用方法。

7、自定義控件實現方法:自定義ListView的實現方法,可折疊ListView的使用方法,自定義Adapter的實現方法,自定義View的實現方法,動态控件布局的上實現方法。

android軟件開(kāi)發(fā)學(xué)習筆記的介紹就(jiù)聊到(dào)這(zhè)裡(lǐ)吧,感謝你花時(shí)間閱讀本站内容,更多關于android軟件開(kāi)發(fā)教程、android軟件開(kāi)發(fā)學(xué)習筆記的信息别忘了在本站進(jìn)行查找喔。

掃碼二維碼