⑴ 安卓開發需要學什麼
安卓開發需要學:
一、應用程序
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 底層驅動開發怎麼入手,之前沒接觸過linux,懂android應用開發,怎麼入門學底層
驅動都是使用C寫的,所以你想搞底層驅動開發,你要有一定的C基礎。對於開發驅動來說,Windows系統是非常不適合的,特別是Android本身就是Linux內核,所以你也要掌握Linux操作系統,比如腳本的編寫,C代碼的編譯等等。
⑶ Android編程開發怎麼學_安卓編程入門自學
學習分三個階段:
1,Android基礎階段:平台架構特性(JAVA/C)Market/應用程序組件環境搭建與部署/打包與發布AVD/DDMS/AAPT調試與測試相關資源訪問/資源製作Activity/Service/BroadcastReceiver/ContentProvider/原理(生命周期)及深層實現
2,Android進階初級:組件Widget/菜單Menu/布局Layout詳解Xml解析(Pull/Dom/Sax)/JNI解析SQL資料庫原理,。
SQLite//File詳解多媒體Audio/Video/Camera詳解
3,Android進階高級:藍牙/WIFISMS/MMS應用實現深層次解析GPS原理。
實現/進行定位/跟蹤/查找/趨近警告以及Geocoder正逆向編解碼等技術細節2D圖形庫(Graphics/View)詳解SDCARD/感測器/手勢應用實現
(3)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開發平台、EclipseADT開發環境、AVD及感測模擬器調試、Android核心組件、Android常用組件、Android高級組件、文件及網路訪問、SQLite資料庫編程、後台服務編程
6、互聯網核心技術:HTML、CSS、JavaScript、好薯JQuery、Ajax應用
7、Android高級應用開發:音頻視頻攝像頭、互聯網應用、GPS和位置服務、GoogleMap、2DD繪制、感測器開發、游戲開發、電話及SMS服務、網路BluetoothWi-Fi等。
8、Android系統級開發:移植、驅動、NDK(C方向)。
9、JavaEE核心技術:Servlet核心技術、JSP核心技術、Struts、Spring、Hibernate框架友猜者。