如何學習安卓開發
⑴ 如何學習安卓開發
Android開發學習路線的七大階段
第一階段:java面向對象編程;
第二階段:Java Web開發;
第三階段:android UI編程;
第四階段:android網路編程與數據存儲;
第五階段:android手機硬體管理;
第六階段:Android圖形編程技術;
第七階段:Android游戲開發。
⑵ 如何學習安卓編程
java肯定是要學的,畢竟是android官方編程語言。學完了java之後,如果英文好的話,直接去官網學習具體的android編程,developer.android.com/guide/components/index.html,上面的資料是最新最全的。
看書學雖然也可以,但是書是非常滯後的,很多書還是針對2.3版android,現在都是4.3版了,很多4.3的功能特性只有官網有詳細的說明。
教材可以選:清華大學出版社 《Android從入門到精通》、人民郵電出版社 《Android 網路開發與應用實戰詳解》等等,還都比較新。
⑶ 安卓開發應該怎麼學
這個時候後來的事情啦;要先學習Java,才能更好的學習android
⑷ 安卓開發學習什麼
Android開發,需要掌握以下知識:
android以java為基礎的,所以前提要學好Java基礎知識,比如基本類型、集合等。
android api,學習基本的Activity、service、intent等基本的知識,可以開發一些界面。
計算機網路基本知識。
linux命令、C編程基礎、Android Java編程、Google Android Linux操作系統具體操作等
安卓系統開發的方法,簡單來說分成四層:
第一層,以Inventor為代表的繪圖工具,是Google推出的簡單開發工具,主要是針對初級玩家的玩意兒,操作起來確實容易,一個不懂程序開發的用戶就可以通過拖拽搞出一個能在安卓平台上跑的應用來,有點像做PPT,但任何事情都有兩面性,這種容易上手的繪圖工具,無法實現業務邏輯,運行效率也比較低。
第二層,以Rexsee為代表的無線中間件,這種方法就不是玩家用的了,必須是工程師來用,但對技術門檻的要求很低,會用HTML和JS的技術員就可以方便的使用,在技術要求大幅度降低的同時,基礎功能的封裝也是一大亮點,這些中間件已經把所有應用需要的基礎功能封裝好,程序員直接使用JS去調用就可以了,不再需要吭哧吭哧從零開始寫代碼,比如你想調用個GPS,本來要編幾千行的代碼,用中間件只需一行JS代碼即可搞定,難怪說做中間件的廠商都說:「用了我的東西,你的程序已經做了一大半啦!」此言不虛。
第三層,基於JAVA的JDK JDK(Java Development Kit),目前絕大部分應用都是用這種方式來開發,對程序員的要求比較高,首先要有比較好的JAVA底子,然後要對Android平台本身有很深的研究,門檻不算低。
第四層,基於C++的NDK( Native Development Kit),很多大型游戲是用這種方法開發的,相對於JDK,這種方法的門檻就更高了,目前使用的比較少,畢竟現在是智能手機的時代,硬體和網速都大幅提升,沒必要動不動就Touch底層。安卓開發應該怎樣學習:http://e.51cto.com/training/training_id-19.html
⑸ 如何自學 Android 編程
因為項目需要,8月中旬開始決定做安卓的程序,所以馬上就開始學習安卓方面的開發知識,把最近的學習實踐經歷和大家分享分享。不要一開始就下載一大堆資料,視頻,然後就不知道做什麼了,要給自己定個目標,我要做什麼?我怎麼達到目標?
我不懂java,但是懂C#和C++,所以我沒主張去單獨學習java語言,如果你是個最最初的新手,沒啥語言基礎,那你必須先看看java語言,不要很詳細看,因為學習Android中,你也是在學習java。
1. 明確目標
沒有目標的學習,會感覺到後面沒什麼成果,在1年前,我也打算學習android開發的,但是目的就是學習,到網上去下載很多學習的視頻,然後把開發環境搭建起來,能把Helloworld運行起來,能打些log,Activity之間也能互相切換了,但是後面也就不了了之了,因為不知道學了要干什麼。依葫蘆畫瓢的做了幾個例子,因為裡面的問題都是已經解決的,所以也沒能深入的系統學習。
這次因為產品的需要,要做Android版本,要做的東西一開始就已經設計好了,見搖搖2選1安卓版本,剛開始也不知道裡面有些什麼技術難度,但是要做的目標已經明確了,而且也沒有現成的,碰到問題就查資料,慢慢地解決,這樣有的放矢,學習的效果非常好。既有現成的技術可以使用,又有些技術,需要查比較多的資料,這樣記憶就比較深刻,所掌握的知識也比較系統。
接下來的一系列文章,我會把在開發搖搖2選1中遇到的問題,給大家詳細講講,程序雖然小,但是五臟俱全,做Demo和做產品的要求完全不是一個級別,如果Android大牛感覺知識講的比較淺,那可以繞道,畢竟我是從一個完全的新手開始的。
2. 了解安卓開發中比較困難的地方
學習一個新平台,就要知道此平台開發要面臨的困難有哪些,不要做到最後,這些問題沒有考慮,那就比較糟糕了。在網上搜索了下,安卓開發困難總結如何:
1)安卓系統版本比較多,各版本之間的兼容性是個問題,此為系統碎片。
2)安卓設備千變萬化,設備難以統一,每個產品都成為獨立,分散的Android碎片。
3)解析度五花八門。一個產品,可能需要多個界面排版,人工消耗比較大。
看到這張圖,有沒有頭疼的感覺?
總結成一句話:Android的碎片化真是要來開發者的命。
3. 搭建開發環境
"巧婦難為無米之炊",開發環境肯定是第一件要做的事情,這類的文章已經很多了,我也不多說了,多說也就比較無聊了。感謝吳秦,也是博客園里的一員,他寫的很詳細了,見這里。
4. 查看網友總結的一些經驗。
不是什麼都查看,開發中遇到什麼問題,就去查看什麼問題,這樣你查到的知識,馬上就能深入的實踐,這樣知識就鞏固了。
1)首先當然要看Android的開發文檔,裡面其實大部分的知識都有了,還有就是SDK自帶的Samples。
2)博客園里搜索「Android開發」,會出來一大把,很多網友都是很系統的講解了。
3)eoe
android社區,裡面有很多網友上傳了現成的demo代碼,裡面很多都是模仿現在流行的產品的界面開發,很是不錯。
5. 掌握調試方法
個人一直認為,調試技巧是開發中最重要的技能,如果調試技能比較差,不知道如何查找問題,那不會是個好的程序員,其技能也不會高到哪裡去。
Android做下來,感覺調試這塊做的很不錯了,這要感謝Eclipse
IDE做的比較不錯,但是Android的界面排版部分,真的不敢恭維,Eclipse時間用長了,佔用內存真是大。有哪位高手能否告訴我下,你們界面排版是用什麼的?
Android里,如果程序出了問題,有些是一下跟蹤不到的,這時就要用到Log類了,Log類使用很簡單,就不多說了。
自己一個很有感觸的經驗,如果你真的打算做Android開發,那就買一個設備,這樣能大大提高開發效率,模擬器有時用起來真是麻煩,而且開發的設備不要很好的,只要設備解析度是主流的,感測器的支持最好全點就夠了,國產的手機里,華為的還不錯,或者到淘寶上去買個二手的,投資不大。真的買了投資,可能也會增加你學習Android的決心。
6. 程序框架
經過10多年的經歷,認識到程序的框架對開發產品真的是起到舉足輕重的作用。一個好的產品,如果有個好的程序框架,那真是事半功倍,可能開始所做的工作會比較多,很難看到令人激動的成果,但是相信我,絕對值得。一開始,我也是比較注重程序界面開發,很快就開發出界面來,而且著實比較激動,因為有東西出來了,但是後面的事情,真是令人發狂,想從頭再來,太遲了,離計劃的時間比較近了,時間不允許,只有硬著頭皮往上打補丁,硬著交付第一個版本,第二個版本或者後面的版本,遲早是要重來的。所以在後面帶領團隊開發的時候,在開發前,都是要討論程序框架,留出很大部分時間進行程序框架開發,及在開發中不斷的改進。
剛接觸Android,不知道用什麼程序框架,所以查了很多資料,一開始看到一個程序框架,感覺很不錯,所以一開始就使用了下面這個程序框架。
⑹ 如何學習Android開發
下面就由福州卓躍教育具體介紹Android應用程序開發學習的路線圖,先熟悉Java SE編程,能比較熟練的使用Java語言進行編程,熟悉Java語言語法特點,熟悉Java IO、Java線程、網路編程、XML處理等。
1.Java基礎
Android應用程序開發是以Java語言為基礎的,所以沒有扎實的Java基礎知識,只是機械的照抄別人的代碼,是沒有任何意義的。
2.Linux基礎知識
Android系統的基礎是Linux操作系統。在開發過程當中,我們也需要使用到一些Linux命令。所以說一些Linux的基礎知識是必須的;
3.資料庫基礎知識
這個比較簡單,就是一個增刪改查的資料庫操作,可以看一下這本書:《SQL編程練習與解答》
4.網路協議
至少需要學習兩種基礎的協議,HTTP協議與Socket協議;
5.Android基礎知識
按照Android SDK幫助文檔當中的Dev Guide裡面的順序,《Android視頻教程》也基本上是按照這個順序錄制的;
6.伺服器端開發知識
⑺ 安卓開發需要學什麼
安卓開發需要學:
一、應用程序
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開發
⑻ 如何系統地學習Android開發
工具
有強烈的學習心;
windows/linux/mac;
安卓開發包;
安卓手機一台;
JAVA基礎
只要有一定的java基礎的人都可以學習一門語言(如c語言、c++、c#等),那麼可以先邊學安卓邊學java也是可以行的方案。
有一定java基礎了,現在可以正式開始學習安卓了。首先得把開發環境部署一下。
依次安裝:可以一邊學習一邊調試程序
1、下載 jdk 64或32位;
2、下載ADT;
⑼ 安卓開發需要學習什麼
學習分三個階段:
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/感測器/手勢 應用實現
(9)如何學習安卓開發擴展閱讀:
知識體系
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框架。