第一章、開始啓程,你的第一行android代碼linux
1.android系統架構:android
1)linux內核層:爲底層硬件提供驅動,如顯示驅動、音頻驅動、照相機驅動、藍牙驅動、Wifi驅動、電源管理等數據庫
2)系統運行庫層:用C/C++實現的各類底層庫,如:OpenGL/ES庫提供了3D繪圖的支持,Webkit提供了瀏覽器內褲的支持,Dalvik虛擬機(Java的虛擬機)編程
2.5)android運行時:由android核心庫集和ART組成,ART是虛擬機。後端
3)應用框架層:提供各類API瀏覽器
4)應用層:手機上的各類應用,你開發的程序網絡
2.四大組件:活動(Activity)、服務(Svedrvice)、廣播接收器(Broadcast Receiver)和內容提供器(Content Provider)架構
3.其它系統提供的:系統控件、SQLite數據庫、地理位置定位、強大的多媒體、傳感器(利用android和移動設備實現不止於手機的用途)框架
4.可使用命令來啓動AVD和emulator異步
5.可使用monitor進行調試,android studio 已集成(P18)
6.android debug bridge(ADB)是個強大的工具,能夠實現模擬器和電腦之間的互相傳輸(文件傳輸、安裝APK)
7.使用mksdcard命令能夠管理虛擬SD卡
8.android 基本組件介紹:
1).activity和view:控制顯示
2).service:後端邏輯
3).broadcastReceiver:相似監聽器,接受別的組件發來的消息。有2種實現方法
4).contentProvider:提供給別的程序交換數據,對應的是別的程序經過contentResolver來訪問數據
5).intent:activity、service、broadcastReceiver之間的通訊載體,分顯示和隱式2種
9.android發佈須要簽名,能夠經過IDE生成調試簽名
第二章、android應用的界面編程
1.view類的XML屬性、相關方法及說明,P41
2.能夠自定義view容器,重寫方法
3.佈局管理器:
1)線性佈局:linearLayout,不會換行
2)表格佈局:tableLayout,繼承linearLayout
3)針布局:frameLaygout,相似圖層,但不可改變圖層上下順序
4)相對佈局:realativeLayout,位置由相鄰組件決定
5)網絡佈局:gridLayout,自定義網絡的格數
6)絕對佈局:absoluteLayout,自定義X,Y座標,不推薦使用,由於各個設備分辨率不一樣
4.TextView及其子類
1)textView:不可編輯,其它view的父類
2)editText:可編輯,inputType屬性,能夠設定表單輸入類型
3)button:按鈕,onClick事件
4)9Path圖片,可縮放的背景圖片,SDK有專門的工具能夠生成
5)radioButton和checkButton:單選和多選框,繼承button按鈕
6)toggleButtoen和Switch:開關按鈕和開關,繼承button按鈕
7)analogClock和textClock:時鐘組件,繼承自textView
8)chronometer:計時器組件,繼承自textView
5.imageView及其組件:imageView ,imageButton,zoomButton,quickContactBadge (後面開始略寫)
6.Adapter View及其子類:列表視圖、
7.progressBar及其子類:進度條、拖動條
8.viewAnimator及其子類:切換時表現動畫效果
9.其它組件:toast提示框、日曆視圖(calendarView)、日期時間選擇器(datePicker、timePicker)、數值選擇器、搜索框(searchView)、選項卡(tabHost)、滾動視圖(scrollView)、通知欄(notification)
10.對話框:alerDialog(普通對話框)、進度對話框(progressDialog)、datePickerDialog(日期選擇對話框)、時間選擇對話框(timePickerDialog)
11.菜單:菜單能夠經過menu按鈕觸發(android 3.0以後不要求配備menu按鈕),也能夠經過自定義觸發
12.活動條:actionBar(android 3.0以後出現),位於屏幕頂部
第三章、android的事件處理
1.android兩套事件處理機制:基於回調和基於監聽的事件處理(事件源、事件監聽器、註冊監聽器)
2.實現事件監聽器的幾種方法:
1)內部類形式。能夠複用組件和監聽器類
2)外部類形式。能夠解耦,設置公用組件
3)activity自己做爲監聽器類。比較方便,可是不優雅
4)匿名內部類。一次使用最方便,推薦
3.可使用組件標籤相似onclick的方法,實現事件監聽綁定
4.回調和監聽器實現事件處理的區別:監聽模式,當事件源發生事件時,交給監聽器處理;而回調模式,當事件源發生事件時,仍是由事件源負責處理的(重寫方法)
5.事件傳播的順序:android系統最早觸發的事組件上綁定的時間監聽器,而後才觸發組件提供的事件回調方法,最後傳播到該組件所在的activity
6.系統設置的更改也能夠做爲事件監聽
7.不要在UI線程中執行耗時的操做,不然會致使ANR異常
8.關於使用線程更新UI的方法(android規定只容許UI線程更新UI組件,因此當其它線程要更新時只能使用以下方法):
1)使用hanlder實現線程之間的通訊
2)使用Activity.runOnUiThread(Runnable)、View.post(Runnable)、View.postDelayed(Runnable,long)方法
3)使用異步任務(AsyncTask)實現異步處理
第四章、深刻理解Activity與Fragment
1.activity至關於JAVA的servlet的做用
2.使用bundle在activity之間交換數據
3.startActivityForResult,啓動activity讓用輸入信息,返回結果
4.activity的生命週期:運行狀態、暫停狀態、中止狀態、銷燬狀態
5.activity的4種加載模式:standard(標準模式)、singleTop(棧頂單例模式)、singleTask(task單例模式)、singleInstance(全局單例模式)
6.fragment能夠在activity中複用,fragment老是做爲activity的組成部分
7.fragment和activity同樣,也有相似的生命週期
第五章、使用intent和intentFilter進行通訊
1.