A. android軟體開發主要是學習什麼的
近半年來,手機的安卓系統與ios系統是目前主流的手機系統,Android軟體開發主要是學習什麼的?IT培訓http://www.kmbdqn.cn/發現安卓開發的技術很多的,如果想一次性學好是不實際的,但下面這些基礎還是要學好的。
1、Activity生命周期
雖然Android中有四大組件,但是不可否認Activity是最常用的。所以熟練掌握Android的生命周期是必須的。其實生命周期就是記住Activity的那些方法在什麼時候被系統調用,這樣才可以把對應的邏輯代碼寫到合適的方法內部去。
至於服務和廣播組件可以稍微緩一下,到實際使用的時候再學習都可以。
2、界面開發技術
界面開發是一種基本的技術,幾乎所有的程序裡面都需要用到。在Android開發中界面開發分為3種:
1)使用xml文件布局
使用xml首先對於界面進行布局,然後在Activity裡面進行引用是最常見的應用軟體開發技術,這種方式使用的最大,需要學習的內容也最多。學習時需要熟悉:
a)五種Layout布局
深刻理解五種布局組織控制項的方式是一個基本的基礎,這樣你才可以在實際的界面中靈活的使用每種布局結構,構造出需要的界面。
b)常用控制項
控制項有很多,至少要知道每種控制項是做什麼的,至於裡面的特定參數和方法可以學要的時候再去查
c)界面美化
系統的控制項很多時候無法滿足要求,需要通過添加背景更換圖片等進行美化,要熟悉每種控制項如何去美化。
掌握了上面的內容,通過布局的嵌套就可以製作出各種界面,如果在熟悉include的使用就可以減少xml的重復,方便後期的修改和維護了。
2)使用代碼動態創建
有些時候需要動態的創建一些布局和控制項,這個就需要使用LayoutInflater去創建一些動態的界面了。
3)自己繪制界面
游戲中常用,繼承SurfaceView自己繪制。
3、數據存儲技術
Android中的數據存儲方式有3種:
1)SharedPrefereneces存儲
對於簡單的數據可以使用該方式存儲,以鍵值對的方式存儲一些基本的數據。
2)文件存儲
將數據以文件的形式存儲,可以是手機自身的存儲也可以是SD卡,文件的數據格式自己定義。
3)SQLite資料庫存儲
使用標准SQL語句進行操作,復雜數據的首選。
4、網路編程
現在的Android程序不需要聯網的已經不多了。所以網路編程也是必須的,一般的公司都會封裝有自己的聯網結構,但是基本的聯網還是要熟悉。
1)HTTP聯網
使用Http聯網+Json數據格式是現在很多客戶端的首選。
2)Socket聯網
至於藍牙等連接方式則可以在項目需要的時候學習。
對於手機的系統功能,如撥打電話、發送簡訊、讀取系統參數等則可以根據需要在學習,不麻煩的。
其次,手機軟體相關
Android開發不同於普通的電腦軟體開發,需要了解手機的操作習慣,知道手機的屏幕不大、內存有限,電池有限等,在實際開發和設計時盡量考慮。
B. 安卓開發工程師都需要會什麼求指導
各階段的Android工程師掌握的專業技術:
初級安卓開發工程師
掌握扎實的java基礎,了解各種設計模式,熟練掌握Android UI控制項、Android Java層API的相關使用。往中級層次發展時,繼續深入學習java編程技術,掌握更多Android開發需要的庫,還要精通ml、json解析,會做socket
c/s端的程序。
中級安卓開發工程師
除了上面提到的必備技能外,中級開發人員需要延伸到精通NDK JNI方式的開發,熟悉Android framework,會移植類似Fmpeg、Mplayer這樣的開源項目,並在Android上運行。
高級安卓開發工程師
作為高級app開發工程師,你只需了解,並不需要親自操作初級和中級工程師的工作流程,但是,你需要有一個整體知識構架,安卓開發各方面所涉及的知識你都有要了解,並有自己獨到的見解。需要熟練掌握Linux驅動開發,並對Linux內核結構很精通,掌握Android移植,包括硬體移植。
C. 安卓手機游戲開發需要學什麼
游戲開發需要學習:基礎公共課、專業技能課、游戲程序方向。
1、基礎公共課
Direct 3D程序開發基礎、3D游戲開發技術實戰、游戲引擎的修改與使用網路通訊、資料庫及游戲伺服器、行業規劃及職業素質、游戲綜合項目實戰訓練、基地頂崗項目實訓。
D. 自學java做android studio的畢設怎麼學啊
1.Java 基礎;2.搭建Android 開發環境3.了解Android 運行原理以及一個工程項目結構4.如何系統學習Android5.推薦一些實用的資源6.總結(註:一直沒有時間整理一些鏈接文件,看到大家對這篇文章這么感興趣,我重新整理我文章裡面的鏈接,朋友們可以點擊進去看一看,都是我精心整理的一些資料,希望對你們有所幫助。文章僅是個人意見,不喜勿噴,如果有更好意見和簡介,歡迎交流!(鞠躬))!
java語言基礎
首先肯定需要的就是java語言了,雖然有一些別的語言也可以開發android,但是都是小眾。因為Android SDK 是基於Java 開發的,使用的語言是Java,如果有了Java 基礎,學Android 就會事半功倍;比如在Android 中要使用到的介面,抽象類,類型轉換,繼承,覆蓋,匿名內部類,多線程,這些都是Java 語言的,如果以前沒有基礎過,學Android 會很郁悶的;當然如果你有C++ 基礎,當然也可以基於NDK 開發,可以不使用Java;
最近冒出來的kotlin是google官方支持的開發語言,但是靠真正流行還需要很長時間,個人推薦還是以java為主,但是kotlin盡量也要學習一下,多學一門語言怎麼也是有好處的
對於沒有java基礎的同學我推薦一些資源:
Mars 的Java4Android視頻資源,可以在51cto中找到,很好的視頻資源,適合初學者學習,我當初就是從這里開始了程序員這條不歸路。
《Java從入門到精通(第3版)》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用Java語言進行程序開發需要掌握的知識。
如果需要更多書籍資源文件的朋友請點擊安卓書籍--從入門到精通
搭建Android開發環境
現在大部分開發人員都用的是Android Studio,從2014年底到現在,經過了三年時間的完善,AS已經成為了大部分Android程序員的開發神器,(筆者剛開始做Android 就用的AS,沒體會到什麼,但是我發現用過AS的人都會深深的迷上它,而去放棄Eclipse了)
在這裡面就不多說了大家可以去看看我對Studio的介紹:
Android Studio詳解 AndroidStudio 提高開發效率的插件
了解Android 運行原理,一個工程的項目結構
有兩種流行的結構:老的Ant & Eclipse ADT 工程結構,和新的Gradle & Android Studio 工程結構, 你應該選擇新的工程結構,如果你的工程還在使用老的結構,考慮放棄吧,將工程移植到新的結構。這里我們對兩個項目結構做一下對比
老的結構:
old-structure
├─ assets
├─ libs
├─ res
├─ src
│ └─ com/futurice/project
├─ AndroidManifest.xml
├─ build.gradle
├─ project.properties
└─ proguard-rules.pro
新的結構
new-structure
├─ library-foobar
├─ app
│ ├─ libs
│ ├─ src
│ │ ├─ androidTest
│ │ │ └─ java
│ │ │ └─ com/futurice/project
│ │ └─ main
│ │ ├─ java
│ │ │ └─ com/futurice/project
│ │ ├─ res
│ │ └─ AndroidManifest.xml
│ ├─ build.gradle
│ └─ proguard-rules.pro
├─ build.gradle
└─ settings.gradle
主要的區別在於,新的結構明確的分開了'source sets' (main,androidTest),這是Gradle的一個理念。 通過這個你可以做到,例如,添加源組『paid』和『free』在src中,讓你的應用程序具有付費和免費的兩種模式的源代碼。
你的項目引用第三方項目庫時(例如,library-foobar),擁有一個頂級包名app從第三方庫項目區分你的應用程序是非常有用的。 然後settings.gradle不斷引用這些庫項目,其中app/build.gradle可以引用。
如果需要更加詳細的介紹請點擊下方鏈接
介紹內容有 Android 開發規范, 架構, 布局技巧, 以及使用一些有助於快速開發相關工具等等
如何系統學習Android
因為要介紹的東西太多了,這里給大家推薦一張安卓知識體系的圖片,最近看到別人整理的一份也挺好的,對我收益很大,如果需要請點擊一個老鳥發的公司內部整理的 Android 學習路線圖
推薦一些實用的資源
推薦大家一個網站「極客導航——程序員自己的導航」,裡面介紹了常用網站,工具大全,經典博客,進階之路,源碼下載,跳槽指南,精品網站,邊角作用的一些常用網站,一些Android大牛的博客都在裡面,我經常會看。
總結
1. 如果你是非科班畢業想要轉行編程,看了我的經歷你一定很有信心與動力,我能,你一樣能,何況我中間走了這么多彎路; 2. 如果你接觸過一些數據結構、編程語言之類的,想要學習編程,你更應該有信心,你比那些非科班的人已經多了一些基礎,你要做的只是堅定信念,堅持走下去; 3. 不要感慨上天的不公平,我一路走來很悲催,走了太多的彎路,遇到了太多的困難,都是我這輩子難以忘記的,但同時我是幸運的,因為我有她,我感謝我女朋友無數個日夜的理解與支持,上帝在給你製造坎坷的時候總會對你有些眷顧; 4. 如果你准備或已經在做開發的人員,沒有信心或動力,又或是對未來迷茫的時候,姑且當做一篇勵志小說來看,你要做的就是做好你當下在做的事,相信你的付出一定能有所收獲;
建議
寫到這里想要給點建議,那就以一個反例的身份給出事後的一些建議吧:
1.每天花1小時看書,難的不是1小時,難的在堅持; 2.英語對編程來說很重要,試著習慣英語閱讀;(扇貝系列的軟體) 3.數據結構和演算法要學好,這算是對編程來說最重要的課了,以後不見得能用得上,但用的時候起碼你有印象; 4.善於利用搜索引擎,從用Google做起,學會英文關鍵字搜索,有問題第一時間想到去搜索而不是去請教別人; 5.多去混GitHub,目前最流行的開源社區,多參與開源項目,慢慢試著讀牛人們的代碼,時機到的時候自己也可以為6.開源社區貢獻力量,可以這樣說在GitHub上認真混一年,比你在大學四年學的東西要多的多; 7.第一份工作很重要,因為你會受一些周圍同事、公司氛圍的影響。 8.最後一條是盡快找一個女朋友,因為你的工作使你接觸到的女性會越來越少。
大家都有了以上相同的教程,但是人和人之間的區別在於:別人有顆更強大的內心,可怕的是比你聰明的人比你還要更努力!!
當你下定決心,准備前行的時候,剩下的只有堅持了。。。
最新Java教程全套
第1階段 :Java基礎
1.認知基礎課程2. java入門階段3. 面向對象編程4. 飛機小項目5. 面向對象和數組6. 常用類7. 異常機制8. 容器和數據結構9. IO流技術10. 多線程11. 網路編程12. 手寫伺服器13. 註解和反射14. GOF23種設計模式15. 正則表達式16. JDBC資料庫操作17. 手寫SORM框架18. JAVA10新特性19.數據結構和演算法20. JVM虛擬機講解21. XML技術解析
第2階段:資料庫開發全套課程
1.Oracle和SQL語言2.Mysql快速使用3.PowerDesigner使用4.JDBC資料庫5.Mysql優化6.oracle深度講解
第3階段:網頁開發和設計
1.HTML基礎2.CSS基礎3.JavaScript編程4.jQuery5.easyUI
第4階段:Servlet和JSP實戰深入課程
1.Servlet入門和Tomcat2.request和response對象3.轉發和重定向_Cookie4.session_Context對象5.JSP6.用戶管理系統7.Ajax技術8.EL和JSTL標簽庫9.過濾器10.監聽器
第5階段:高級框架階段
1.Mybatis2.Spring3.Spring MVC4.SSM框架整合5.RBAC許可權控制項目6.Hibernate37.Hibernate48.jFinal9.Shiro安全框架10.Solr搜索框架11.Struts212.Nginx伺服器13.Redis緩存技術14.JVM虛擬機優化15.Zookeeper
第6階段:微服務架構階段
1.Spring Boot2.Spring Data3.Spring Cloud
第7階段:互聯網架構階段
1.Linux系統2.Maven技術3.Git4.SVN5.高並發編程6.系統和虛擬機調優7.JAVA編程規范8.高級網路編程9.Netty框架10.ActiveMQ消息中間件11.單點登錄SSO12.資料庫和SQL優化13.資料庫集群和高並發14.Dubbo15.Redis16.VSFTPD+NGINX
第8階段:分布式億級高並發電商項目
1.基於SOA架構介紹2.VSFTPD和Nginx和商品新增3.商品規格參數管理4.Jsonp5.CMS模塊6.廣告位數據緩存7.SolrJ和SolrCloud8.商品搜索9.商品詳情10.單點登錄11.購物車12.訂單系統13.分庫和分表14.分布式部署
第9階段:畢設項目第1季
1. 電子政務網2. 企業合同管理系統3. 健康管理系統4. 商品供應管理系統5. 土地檔案管理系統6. 聊天室設計和實現7. 碼頭配套和貨櫃管理系統8. 百貨中心供應鏈系統9. 病歷管理系統10. 超市積分管理系統11. 動漫論壇12. 俄羅斯方塊13. 個人博客系統14. 固定資產管理系統15. 影視創作論壇16. 屏幕截圖工具17. 超級瑪麗游戲18. 飛機大戰游戲19. 雷電
第10階段:畢設項目第2季
1. 微博系統2. 寫字板3. 坦克大戰4. 推箱子5. 電腦彩票系統6. 記賬管理系統7. 新聞發布系統8. 醫院掛號系統9. 倉庫管理系統10. 停車場管理系統11. 網路爬蟲12. 酒店管理系統13. 企業財務管理系統14. 車輛管理系統15. 員工信息管理系統16. 旅遊網站17. 搜索引擎18. 進銷存管理系統19. 在線考試系統20. 物流信息網21. 住院管理系統22. 銀行櫃員業務績效系統
E. 學習安卓開發需要掌握哪些Java基礎
很多安卓開發人員學習安卓開發技術,有點急。任何技術的開發都有其基本的語言,安卓應用程序的開發都是基於Java語言,因此沒有扎實的Java基礎知識。只是在復制別人的代碼並且毫無意義。下面雲南昆明IT培訓為大家分析學習安卓開發路線的需要掌握的Java基礎。
關於學習安卓開發需要掌握的Java知識,Java學習需要掌握哪些知識呢?就個人而言,電腦培訓建議至少要掌握以下兩個方面的內容:
1、Java基礎知識
這部分內容沒有討價還價的空間,必須銘記於心。至於具體的學習方法,昆明北大青鳥建議可以閱讀或觀看視頻,但關鍵是要多練習,不管是通過書學習還是通過視頻練習,都需要認真的完成。
2、設計模式
大量的設計模式用於安卓系統的框架開發,沒有這方面的知識,將大大降低對安卓的理解。雲南UI設計培訓認為必須首先掌握面向對象的基本設計原則,這些基本原則的支持可以相互借鑒。
F. 做安卓軟體開發需要學習什麼技術
Android的開發技術很多,在開始學習的時候不可能一次性全部學會,也沒有必要一開始都全部學會,但是有些技術是非常常用的,需要在開始時打好基礎,這些技術時:
1、Activity生命周期
雖然Android中有四大組件,但是不可否認Activity是最常用的。所以熟練掌握Android的生命周期是必須的。其實生命周期就是記住 Activity的那些方法在什麼時候被系統調用,這樣才可以把對應的邏輯代碼寫到合適的方法內部去。
至於服務和廣播組件可以稍微緩一下,到實際使用的時候再學習都可以。
2、界面開發技術
界面開發是一種基本的技術,幾乎所有的程序裡面都需要用到。在Android開發中界面開發分為3種:
1)使用xml文件布局
使用xml首先對於界面進行布局,然後在Activity裡面進行引用是最常見的應用軟體開發技術,這種方式使用的最大,需要學習的內容也最多。學習時需要熟悉:
a)五種Layout布局
深刻理解五種布局組織控制項的方式是一個基本的基礎,這樣你才可以在實際的界面中靈活的使用每種布局結構,構造出需要的界面。
b)常用控制項
控制項有很多,至少要知道每種控制項是做什麼的,至於裡面的特定參數和方法可以學要的時候再去查
c)界面美華
系統的控制項很多時候無法滿足要求,需要通過添加背景更換圖片等進行美化,要熟悉每種控制項如何去美華。
掌握了上面的內容,通過布局的嵌套就可以製作出各種界面,如果在熟悉include的使用就可以減少xml的重復,方便後期的修改和維護了。
2)使用代碼動態創建
有些時候需要動態的創建一些布局和控制項,這個就需要使用LayoutInflater去創建一些動態的界面了。
3)自己繪制界面
游戲中常用,繼承SurfaceView自己繪制。
3、數據存儲技術
Android中的數據存儲方式有3種:
1)SharedPrefereneces存儲
對於簡單的數據可以使用該方式存儲,以鍵值對的方式存儲一些基本的數據。
2)文件存儲
將數據以文件的形式存儲,可以是手機自身的存儲也可以是SD卡,文件的數據格式自己定義。
3)SQLite資料庫存儲
使用標准SQL語句進行操作,復雜數據的首選。
4、網路編程
現在的Android程序不需要聯網的已經不多了。所以網路編程也是必須的,一般的公司都會封裝有自己的聯網結構,但是基本的聯網還是要熟悉。
1)HTTP聯網
使用Http聯網+Json數據格式是現在很多客戶端的首選。
2)Socket聯網
至於藍牙等連接方式則可以在項目需要的時候學習。
對於手機的系統功能,如撥打電話、發送簡訊、讀取系統參數等則可以根據需要在學習,不麻煩的。
其次,手機軟體相關
Android開發不同於普通的電腦軟體開發,需要了解手機的操作習慣,知道手機的屏幕不大、內存有限,電池有限等,在實際開發和設計時盡量考慮。
G. 安卓開發需要學習什麼
學習分三個階段:
1,Android基礎階段:平台架構特性(JAVA/C) Market/應用程序組件 環境搭建與部署/打包與發布 AVD/DDMS/AAPT 調試與測試 相關資源訪問/資源製作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及深層實現
2,Android進階初級:組件Widget/ 菜單Menu/ 布局Layout 詳解 Xml解析(Pull/Dom/Sax)/JNI 解析SQL資料庫原理,。
SQLite /SharedPreferences/File詳解 多媒體Audio/Video/Camera 詳解
3,Android進階高級:藍牙/WIFI SMS/MMS 應用實現 深層次解析GPS原理。
實現LocationManager/LocationProvider 進行定位/跟蹤/查找/趨近警告以及Geocoder正逆向編解碼等技術細節 2D圖形庫(Graphics/View)詳解 SDCARD/感測器/手勢 應用實現
(7)畢設做安卓開發要會些什麼擴展閱讀:
知識體系
1、Unix/Linux平台技術:基本命令,Linux下的開發環境
2、企業級資料庫技術:SQL語言、SQL語句調優、Oracle資料庫技術
3、Java 語言核心技術:Java語言基礎、Java面向對象編程、JDK核心API、Java集合框架、Java網路編 程、JavaI/O編程、Java多線程編程、Java異常機制、Java安全、JDBC、XML
4、軟體工程和設計模式:軟體工程概述、配置管理及SVN、UML、基本設計模式
5、Android應用開發基礎:Android開發平台、Eclipse+ADT開發環境、AVD及感測模擬器調試、Android核心組件、Android常用組件、Android高級組件、文件及網路訪問、SQLite資料庫編程、後台服務編程
6、互聯網核心技術: HTML、CSS、JavaScript、JQuery、Ajax應用
7、Android高級應用開發:音頻視頻攝像頭、互聯網應用、GPS和位置服務、Google Map、2D3D繪制、感測器開發、游戲開發、電話及SMS服務、網路BluetoothWi-Fi等。
8、Android系統級開發:移植、驅動、NDK(C方向)。
9、JavaEE核心技術:Servlet核心技術、JSP核心技術、Struts、Spring、Hibernate框架。
H. 做安卓軟體開發需要學習什麼技術
Android的開發技術很多,在開始學習的時候不可能一次性全部學會,也沒有必要一開始都全部學會,但是有些技術是非常常用的,需要在開始時打好基礎,這些技術時:
1、Activity生命周期
雖然Android中有四大組件,但是不可否認Activity是最常用的。所以熟練掌握Android的生命周期是必須的。其實生命周期就是記住 Activity的那些方法在什麼時候被系統調用,這樣才可以把對應的邏輯代碼寫到合適的方法內部去。
至於服務和廣播組件可以稍微緩一下,到實際使用的時候再學習都可以。
2、界面開發技術
界面開發是一種基本的技術,幾乎所有的程序裡面都需要用到。在Android開發中界面開發分為3種:
1)使用xml文件布局
使用xml首先對於界面進行布局,然後在Activity裡面進行引用是最常見的應用軟體開發技術,這種方式使用的最大,需要學習的內容也最多。學習時需要熟悉:
a)五種Layout布局
深刻理解五種布局組織控制項的方式是一個基本的基礎,這樣你才可以在實際的界面中靈活的使用每種布局結構,構造出需要的界面。
b)常用控制項
控制項有很多,至少要知道每種控制項是做什麼的,至於裡面的特定參數和方法可以學要的時候再去查
c)界面美華
系統的控制項很多時候無法滿足要求,需要通過添加背景更換圖片等進行美化,要熟悉每種控制項如何去美華。
掌握了上面的內容,通過布局的嵌套就可以製作出各種界面,如果在熟悉include的使用就可以減少xml的重復,方便後期的修改和維護了。
2)使用代碼動態創建
有些時候需要動態的創建一些布局和控制項,這個就需要使用LayoutInflater去創建一些動態的界面了。
3)自己繪制界面
游戲中常用,繼承SurfaceView自己繪制。
3、數據存儲技術
Android中的數據存儲方式有3種:
1)SharedPrefereneces存儲
對於簡單的數據可以使用該方式存儲,以鍵值對的方式存儲一些基本的數據。
2)文件存儲
將數據以文件的形式存儲,可以是手機自身的存儲也可以是SD卡,文件的數據格式自己定義。
3)SQLite資料庫存儲
使用標准SQL語句進行操作,復雜數據的首選。
4、網路編程
現在的Android程序不需要聯網的已經不多了。所以網路編程也是必須的,一般的公司都會封裝有自己的聯網結構,但是基本的聯網還是要熟悉。
1)HTTP聯網
使用Http聯網+Json數據格式是現在很多客戶端的首選。
2)Socket聯網
至於藍牙等連接方式則可以在項目需要的時候學習。
對於手機的系統功能,如撥打電話、發送簡訊、讀取系統參數等則可以根據需要在學習,不麻煩的。
其次,手機軟體相關
Android開發不同於普通的電腦軟體開發,需要了解手機的操作習慣,知道手機的屏幕不大、內存有限,電池有限等,在實際開發和設計時盡量考慮。
I. 安卓開發需要學什麼
安卓開發需要學:
一、應用程序
Android以Java為編程語言,使介面到功能,都有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個 Activity 類負責創建視窗,一個活動中的Activity就是在 foreground(前景)模式,背景運行的程序叫做Service。
二、中介軟體
操作系統與應用程序的溝通橋梁,並用分為兩層:函數層(Library)和虛擬機(Virtual Machine)。 Bionic是 Android 改良libc的版本。
Android 同時包含了Webkit,所謂的Webkit 就是Apple Safari瀏覽器背後的引擎。Surface flinger 是就2D或3D的內容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自製的Bionic Libc。
三、硬體抽像層
Android 的 HAL(硬體抽像層)是能以封閉源碼形式提供硬體驅動模塊。HAL
的目的是為了把 Android framework 與 Linux kernel 隔開。
讓 Android 不至過度依賴 Linux
kernel,以達成 kernel independent 的概念,也讓 Android framework
的開發能在不考量驅動程序實現的前提下進行發展。
四、編程語言
Android 是運行於 Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持。
包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。
五、安全控制
目前Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Managemeat),程序管理(Process Management),網路堆棧(Network Stack),驅動程序模型等。
下載Android源碼之前,先要安裝其構建工具Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的一個工具。
參考資料來源:網路—android開發
J. 做安卓開發都需要會什麼求了解
①Java基礎知識 ②Linux基礎知識 ③資料庫基礎知識 ④網路協議
⑤Android基礎知識 ⑥伺服器端開發知識①Java基礎知識
很多朋友一上手就開始學習Android,似乎太著急了一些。Android應用程序開發是以Java語言為基礎的,所以沒有扎實的Java基礎知識,只是機械的照抄別人的代碼,是沒有任何意義的。萬丈高樓平地而起,Java就是築起高樓的每一塊磚頭。那麼Java學到什麼程度才算是過關呢?我個人認為至少要掌握以下兩個方面的內容:
a)Java基礎語法:具體的知識點列表可以在這里下載:《Java知識點列表》V1.0。這部分內容沒有討價還價的餘地,必須爛熟於胸。至於具體的學習方法,可以看書或者是看視頻,但是關鍵是要多加練習,無論是書上的練習還是視頻裡面的練習,都需要仔仔細細的完成;
b)設計模式:由於在Android系統的框架層當中,使用了大量的設計模式,如果沒有這個方面的知識,對於Android的理解就會大打折扣。設計模式的種類非常之多,一個一個的全部掌握,是不現實的,必須首先掌握面向對象的基礎設計原則,有了這些基礎原則的支持,就可以舉一反三。這部分內容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》這兩本書中找到。
②Linux基礎知識
大家都知道,Android系統的基礎是Linux操作系統。在開發過程當中,我們也需要使用到一些Linux命令。所以說一些Linux的基礎知識是必須的(話說現在的程序員,不懂Linux都不好意思跟人家打招呼),推薦大家看看《鳥哥的私房菜》這本書,寫的相當不錯;
③資料庫基礎知識
這個比較簡單,就是一個增刪改查的資料庫操作,可以看一下這本書:《SQL編程練習與解答》
④網路協議
至少需要學習兩種基礎的協議,HTTP協議與Socket協議;
⑤Android基礎知識
⑥伺服器端開發知識
由於很多Android應用程序都需要伺服器端的支持,所以掌握一些伺服器端開發知識還是非常有必要的。至於選擇哪一種伺服器端知識進行學習,就比較麻煩了,因為技術的種類實在是太多了:
a)Java EE:就是上面郵件當中所提到的SSH—Struts+Spring+Hibernate。這種技術的優點的功能完整、強大,已經使用了很多年,而且既然大家已經非常熟悉Java了,那麼學習SSH看起來也順理成章。但是使用這種技術開發伺服器端程序,非常麻煩。即使是一些簡單的功能,也可能需要大量的代碼和配置文件來實現;
b)PHP:簡單易學,開發快速。但是我們需要多學一種語言,是否得不償失,就要大家自己判斷了;
c).NET:這項技術的特點和Java EE差不多,但是要想掌握.NET,則需要掌握c#,也是個麻煩的事情;
d)ruby on rails:這是我個人最喜歡的伺服器端技術,簡潔,優雅,寥寥幾行代碼,就可以實現很復雜的功能,但是這需要Ruby語言知識作為基礎;
至於選擇哪一種知識,就看大家自己的判斷了,畢竟每個人想法不一樣,愛好也不相同。
2怎樣去獲得這些技能基礎。
安卓開發學習書籍建議買 精通Android2 ,或者 Android2高級編程 這兩本書,講解的細致,但是一定要結合sdk來看。國內的不要買。。。。(切身體會,千萬別買)看完之後就可以自己動手做做項目了。
對於java基礎,我現在的感覺是 如果要深入學習android平台,java基礎一定要好(里邊包括各種java類庫的用法,本地代碼jni什麼的)。但如果平時隨便做做應用的話,會面向對象編程就完全可以了。把獲取這些技能基礎量化為100%的話,那麼看書這個途徑只能為你提供15%的進步。
看視頻,這也是許多自學android開發的新手必經之路,畢竟看書只有你一個人的思維在活躍,看視頻至少是兩個人的思維在碰撞,你能發現你與別人的不同,如果你有心,你就能進步更多。基礎知識不用我擔心太多,至少想學android的,找基礎知識的資料還是沒有問題的。在此你也可以試著了解一些android的基礎視頻。