學android開發
⑴ Android開發主要學哪些
1、java學習(這是基礎)
2、Android環境搭建(JDK + Android Studio)
3、Android布局、控制項、組件等基礎知識的學習。(少不了新建一個HelloWorld項目)
4、網路、線程、數據的處理(進階)
5、一個很小的實際項目的實踐,加深記憶,也初步了解一個Android項目,在實踐過程中了解自己還差什麼。
6、學會使用別人造的輪子,比如Github就是個很神奇的地方,當然你要有基礎才能會用別人的東西,也能在出現錯誤時修改錯誤。
PS:JAVA基礎必須學扎實,忠告。剛開始學,可能搭建一個空的項目都會出現問題,會很焦灼,如果真的想學,那麼這個階段必須要經過,循序漸進,祝你好運。
⑵ 安卓開發需要學什麼
安卓開發需要學:
一、應用程序
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開發
會java語法.看的懂oop(面向對象編程)就可以直接學android了。其實android不怎麼難的,我接觸了2天。但是最基礎的java 語法是必須要會的。
⑷ 安卓開發需要學習什麼
學習分三個階段:
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/感測器/手勢 應用實現
(4)學android開發擴展閱讀:
知識體系
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框架。
⑸ 如何學習安卓開發
Android開發學習路線的七大階段
第一階段:Java面向對象編程;
第二階段:Java Web開發;
第三階段:android UI編程;
第四階段:android網路編程與數據存儲;
第五階段:android手機硬體管理;
第六階段:Android圖形編程技術;
第七階段: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,但是懂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,不知道用什麼程序框架,所以查了很多資料,一開始看到一個程序框架,感覺很不錯,所以一開始就使用了下面這個程序框架。開始這個框架用的蠻爽,簡單介紹一下,主UI線程如果要做一個比較長時間的任務,創建一個任務,發送到任務隊列中去,後台的Service不斷的從任務隊列中去取任務,然後交給線程處理,線程處理完後,通過消息(Message)發送到Handler里處理,然後Handler的handleMessage函數里回調到UI主線程中去。
此框架的缺點是比較麻煩。
1)首先這里有個Observer模式,每個Activity都要實現一個介面,然後注冊到後台服務中去,這樣後台服務才能把處理的結果回調到主線程中。
2) 每個事件都要組成一個任務,發送到任務隊列。
3)後台線程先要取任務,然後處理,然後通過消息切換到主線程,然後又回到到相應的Activity中,中間有個3次判斷當前是什麼任務。
4)不能並非,任務只能一個接一個,雖然這個一般不會造成瓶頸。
因為搖搖2選1應用比較簡單,所以後來感覺只要使用線程和Handler,通過消息就能處理,然後就查資料,發現已經有比較多的文章描述了這種方法,只是沒提出這是一個框架,但是對搖搖2選1,我感覺已經足夠了。下面就是主代碼,分布在每個Activity中:
private void TaskThread()
{
Thread taskThread = new Thread()
{
@Override public void run()
{
//做耗時的任務
Message msg = Message.obtain();
msg.what = 1;
uiCallback.sendMessage(msg);
}
};
taskThread .start();
}
private Handler uiCallback = new Handler()
{
@Override public void handleMessage(Message msg)
{
if(msg.what == 1)
{
//在主線程中處理結果
}
}
};
夠用就好,至少我現在用著很爽。
7. 程序國際化
互聯網讓地球成為一個村,所以一開始也需要了解一下程序是如何做國際化版本的。不要一開始字元串滿天飛,整個程序中都存在hard
code,這樣做,遲早是要吃虧的。
8.產品升級機制
一個方便的產品升級機制,對產品的成長很重要,android是一個開放平台,在這點上比iOS做的好的多,產品升級很方便。
此文章的目的就是對想學Android開發的人一個指引,因為我也就是這么走過來的,加上自己在軟體開發上的一些經驗,讓新手少走彎路。有計劃,有目標的學習,這是最好的方法。
⑻ 學習android開發,要學哪些東西
android的一些基本知識,控制項使用,傳值,組件等,現在好多培訓出來的人都是基礎差的要死,最基本的問題都要問好多人,其實只是隨便的一本android開發的書上都有寫的。弄懂這些之後如果你的java基礎還尚可,那麼就可以進行簡單的android開發了,如果想更深層次的開發你就要學會讀sdk,學會讀別人的代碼,最好模擬下市場上最常用的一些產品裡面的效果,試著自己去寫一下,哪怕你用最笨的方法實現也比直接別人的代碼import進來自己用要好的多。當然有時候經驗這個東西沒辦法,只有在開發過程中一點一點積累。看多了,寫多了慢慢就融會貫通了,祝你早日踏進大牛行列~
⑼ 新手學android開發需要學什麼
Java基礎(有過有這部分基礎知識可以跳過):60-100小時
Android基礎(Android系統結構、基本的庫、簡單應用介紹):10-20小時
Android深入應用方向(圖像、圖像、聲音、內存等):30-100小時 (看計算機多媒體知識掌握情況,如果有相應的背景知識如計算機圖像或其他開發經驗可以很快如果完全以Android入門則需要學很多)
Android內核驅動開發(C語言、Linux系統等):50-100小時(與3類似,需要更多其他的背景知識如C語言、驅動等)