指定合理的學習步驟,將各個技術點進行強化。慢慢 的就從點到線 到面的飛躍,一切僅僅是時間問題,開始前,請記住,學習是最佳的投資方式。風險成本極小,可是收貨極佳。html
用最小的槓槓,撬動爆發力極強的財富,那就是學習和經驗的累積的過程! node
【學習順序-1 國內篇】android
【Xamarin Android開發實戰基礎篇】web
第1章 Xamarin開發Anroid應用介紹 1
1.1 Xamarin基本知識 1
1.1.1 Xamarin發展 1
1.1.2 Xamarin工具 1
1.2 Android基本知識 2
1.2.1 Android版本介紹 2
1.2.2 Android系統介紹 3
1.3 如何使用Xamarin開發Android應用 3
1.3.1 Android開發工具 3
1.3.2 Xamarin開發工具 4
1.3.3 VS 2013介紹 4
第2章 環境搭建 6
2.1 下載安裝Visual Studio 2013 6
2.1.1 下載Visual Studio 2013 6
2.1.2 安裝Visual Studio 2013 7
2.2 下載安裝JDK 12
2.2.1 下載JDK 12
2.2.2 安裝JDK 14
2.3 下載安裝Android SDK工具 18
2.3.1 下載Android SDK工具 18
2.3.2 配置Android SDK 20
2.3.3 下載安裝Android NDK 23
2.3.4 新建Android模擬器 24
2.4 下載安裝Xamarin 26
2.4.1 下載安裝GTK# 27
2.4.2 下載安裝Xamarin Studio 29
2.4.3 下載安裝Xamarin.VsualStudio 34
2.5 驗證環境配置是否正確 35
2.5.1 下載並加載官方實例 35
2.5.2 檢驗實例的使用 38
第3章 Android中的界面佈局 45
3.1 Android界面佈局介紹 45
3.1.1 新建Android項目 45
3.1.2 界面佈局介紹 47
3.2 線性佈局LinearLayout 49
3.2.1 垂直線性佈局 49
3.2.2 水平線性佈局 53
3.3 相對佈局RelativeLayout 57
3.3.1 相對於父容器的佈局 57
3.3.2 相對於控件的佈局 60
3.4 表格佈局TableLayout 66
3.4.1 表格佈局的介紹 66
3.4.2 TablLayout的使用 67
3.5 網格佈局GridLayout 70
3.6 幀佈局FrameLayout 72
第4章 簡單控件 74
4.1 控件構成 74
4.1.1 什麼是Android中的控件 74
4.1.2 Android控件的使用 74
4.2 文本類控件 76
4.2.1 使用TextView控件 76
4.2.2 使用EditText控件 81
4.3 按鈕類控件 87
4.3.1 Button控件使用 87
4.3.2 ImageButton控件使用 90
4.3.3 ToggleButton控件使用 93
4.3.4 RadioButton控件使用 94
4.3.5 CheckBox控件使用 99
4.4 圖片控件ImageView 103
4.5 時鐘控件 104
4.6 時間日期控件 105
4.6.1 TimePicker控件使用 105
4.6.2 DatePicker控件使用 107
第5章 實現應用的Activity 109
5.1 Activity介紹 109
5.1.1 Activity類 109
5.1.2 Activity生命週期 110
5.2 從新學習建立應用 114
5.2.1 建立應用 114
5.2.2 保存和恢復Activity的狀態 115
5.3 使用兩個Activity 119
5.3.1 啓動第一個Activity--主Activity 119
5.3.2 建立並啓動第二個Activity 122
5.3.3 在兩個Activity之間轉換 128
5.4 在兩個Activity之間傳遞數據 130
5.4.1 傳遞數據到目的Activity 131
5.4.2 返回Activity的數據 133
5.5 提早了解Intent和IntentFilter 135
5.5.1 Intent的類介紹 135
5.5.2 IntentFilter介紹和使用 137
第6章 Service類和Android服務 142
6.1 Service類及Service簡介 142
6.1.1 Service類 142
6.1.2 Service介紹 142
6.2 建立Service 143
6.2.1 Service的建立 144
6.2.2 綁定Activity的Service的建立 148
6.3 Service通訊 151
6.3.1 Service通訊 151
6.3.2 使用Message實現Service通訊 155
6.4 系統提供的Service 160
6.4.1 電話管理--TelephonyManager 160
6.4.2 短信管理--SmsManager 163
6.5 廣播接收BroadcastReceiver 166
第7章 數據存儲和讀取 168
7.1 文件存儲 168
7.1.1 使用Asstes中的文件 168
7.1.2 讀寫SD卡中的文件 170
7.2 SQLite中的數據讀寫 175
7.2.1 使用ADO.NET建立數據庫 175
7.2.2 使用特殊類SQLite建立數據庫 179
7.2.3 使用SQLite組件建立數據庫 184sql
第8章 高級控件操做 1
8.1 ListView和Adapter 1
8.1.1 ListView的組成和函數 1
8.1.2 一般使用的ListView 1
8.1.3 自定義ListView 5
8.2 自動補全 9
8.3 ActionBar的實現 11
8.4 Popup Menus彈出式菜單 14
8.5 下拉列表 16
8.6 啓動動畫 18
第9章 圖像和動畫 21
9.1 獲取並顯示圖片 21
9.1.1 assets中的圖片 21
9.1.2 打開相機拍下的照片 24
9.2 繪圖 27
9.2.1 繪圖類的介紹 27
9.2.2 繪製基本圖形 28
9.3 動畫 30
9.3.1 使用Android默認動畫 30
9.3.2 自定義的補間動畫 36
第10章 多媒體應用 41
10.1 Audio音頻操做 41
10.1.1 MediaPlayer類簡介 41
10.1.2 播放Audio音頻文件 41
10.1.3 錄製Audio音頻 44
10.2 Video視頻操做 48
10.2.1 Video視頻播放 48
10.2.2 錄製Video 50
10.3 有關Camera相機的操做 53
第11章 手勢處理 56
11.1 觸摸屏手勢 56
11.1.1 GestureDetector簡介 56
11.1.2 測試全部觸控事件 57
11.2 輸入法手勢 60
11.2.1 Gesture相關類簡介 60
11.2.2 輸入法手勢應用 61
第12章 傳感器 64
12.1 Sensor簡介 64
12.1.1 Sensor種類 64
12.1.2 開發Sensor基礎 64
12.2 經常使用傳感器介紹 68
12.2.1 磁場傳感器 68
12.2.2 重力傳感器 70
12.2.3 光傳感器 73
12.2.4 近距離傳感器 75
12.2.5 氣壓檢測 77
第13章 網絡應用 81
13.1 網頁視圖WebView 81
13.1.1 WebView簡介 81
13.1.2 使用WebView 81
13.1.3 顯示HTML內容 85
13.2 Socket的使用 87
13.3 HTTP網絡通訊 89
13.3.1 HTTP通訊方式 90
13.3.2 HttpURLConnection開發 90
13.4 URL網絡通訊 92
13.4.1 URL介紹 92
13.4.2 使用URL獲取資源 93數據庫
【學習順序-2 外教篇】
《c#開發android應用實戰——使用mono for android和.net/c#》
第1章 android、移動設備和marketplace簡介 1
1.1 產品比較 1
1.1.1 .net framework 2
1.1.2 mono 3
1.1.3 mono for android 4
1.1.4 開發工具 6
1.2 移動開發 6
1.2.1 解決支持問題 7
1.2.2 設計問題 7
1.3 android 8
1.3.1 android發展簡史 8
1.3.2 爲android編寫基於web的應用程序 9
1.3.3 爲android編寫本機應用程序 9
1.3.4 android開發問題 9
1.3.5 android sdk工具 11
1.3.6 android開發成本 11
1.4 跨平臺替代方案 12
1.4.1 其餘跨平臺工具 12
1.4.2 選擇跨平臺工具時的注意事項 12
1.5 小結 15
第2章 mono for android簡介 17
2.1 開始開發前的準備工做 17
2.1.1 mono的含義 17
2.1.2 mono for android的含義 18
2.1.3 使用mono for android的緣由 18
2.1.4 在使用mono for android時須要權衡的事項 20
2.1.5 mono for android開發環境須要的其餘工具 21
2.2 利用mono for android進行visual studio開發 24
2.2.1 通常設置 24
2.2.2 生成hello android 25
2.2.3 日誌記錄 28
2.2.4 調試 29
2.2.5 測試 29
2.2.6 部署 30
2.3 使用monodevelop進行mono for android開發 30
2.3.1 通常設置 30
2.3.2 構建hello android 31
2.3.3 日誌記錄 32
2.3.4 調試 33
2.3.5 測試 33
2.3.6 部署 33
2.4 小結 34
第3章 瞭解android/mono for android 應用程序 35
3.1 android應用程序的含義 36
3.1.1 android應用程序的構建基塊 37
3.1.2 組件之間的通訊:android意圖 46
3.2 綁定組件:android清單 48
3.2.1 android清單的基礎知識 48
3.2.2 經過visual studio爲mono for android編輯清單 51
3.3 小結 53
第4章 規劃和構建應用程序用戶界面 55
4.1 成功構建移動ui的指導原則 55
4.2 構建android ui 56
4.2.1 視圖 56
4.2.2 設計表面 57
4.3 選擇控件佈局 57
4.3.1 absolutelayout 58
4.3.2 framelayout 59
4.3.3 linearlayout 59
4.3.4 relativelayout 61
4.3.5 tablelayout 62
4.3.6 優化佈局 64
4.4 設計本身的用戶界面控件 64
4.4.1 textview 66
4.4.2 edittext 66
4.4.3 autocompletetextview 66
4.4.4 spinner 67
4.4.5 button 69
4.4.6 checkbox 69
4.4.7 radiobutton和組 69
4.4.8 clock 72
4.4.9 picker 72
4.4.10 image 75
4.4.11 虛擬鍵盤 80
4.5 控制菜單 82
4.5.1 菜單系統介紹 83
4.5.2 菜單 83
4.5.3 子菜單 85
4.5.4 上下文菜單 86
4.5.5 將菜單定義爲資源 87
4.6 獨立於分辨率的ui 90
4.6.1 支持各類屏幕資源 90
4.6.2 使用android market支持 92
4.6.3 多個屏幕分辨率的最佳作法 92
4.7 構建用戶界面:手機和平板電腦示例 93
4.8 小結 98
第5章 使用數據 99
5.1 使用sqlite 99
5.1.1 創建數據庫 100
5.1.2 創建表 101
5.1.3 使用sql語句 102
5.2 升級策略 104
5.2.1 就地升級 104
5.2.2 複製數據 105
5.3 特定於android的數據庫選項 105
5.4 使用遠程數據 107
5.4.1 訪問企業服務 108
5.4.2 使用soap 109
5.4.3 使用基於rest的web服務 113
5.4.4 使用json 114
5.4.5 利用post發送數據 118
5.5 使用linq和xml檢索數據 119
5.6 以負責任的態度使用web服務 121
5.7 使用遠程sql server數據庫 122
5.8 小結 124
第6章 將數據綁定到控件 125
6.1 mono for android中的數據綁定 126
6.1.1 數據適配器的含義 126
6.1.2 適配器視圖的含義 127
6.1.3 這三項彼此之間的關聯方式 127
6.1.4 使用適配器視圖和大型數據集 128
6.1.5 進一步探究適配器 130
6.1.6 使用本機適配器 130
6.1.7 進一步探究適配器視圖 131
6.1.8 使用本機適配器視圖 132
6.2 使用光標 132
6.2.1 使用光標填充spinner 132
6.2.2 使用帶有gallery的光標 140
6.3 使用列表 147
6.3.1 在列表中顯示簡單數據 148
6.3.2 使用android的listadapter 150
6.3.3 使用自定義列表適配器來自定義listview 152
6.3.4 處理listview事件 158
6.3.5 首選項屏幕 160
6.3.6 嵌套導航 163
6.3.7 分組列表 165
6.3.8 在網格中顯示數據 169
6.4 小結 174
第7章 使用文件系統和應用程序首選項 175
7.1 使用文件系統 175
7.1.1 文件系統類型和結構 176
7.1.2 quickedit示例程序:使用文件存儲的例子 180
7.2 使用應用程序首選項 186
7.2.1 應用程序首選項類型 186
7.2.2 建立本身的應用程序首選項 187
7.2.3 首選項程序 188
7.2.4 偵聽首選項的更改 194
7.2.5 處理xml 195
7.3 小結 196
第8章 針對設備硬件編程 197
8.1 使用傳感器 197
8.1.1 引用傳感器管理器 198
8.1.2 傳感器支持 198
8.1.3 訪問傳感器 198
8.1.4 使用傳感器 199
8.1.5 瞭解傳感器類型值 200
8.2 對加速度的響應 202
8.2.1 使用xyz座標系 202
8.2.2 對加速計進行編碼 203
8.3 構建電子羅盤 203
8.4 振動 208
8.5 網絡鏈接 209
8.5.1 connectivitymanager 209
8.5.2 檢查用戶通訊首選項 209
8.5.3 檢查backgrounddatasetting的更改 210
8.5.4 檢查當前網絡配置 211
8.5.5 建立網絡鏈接通知 211
8.5.6 wifimanager 211
8.6 bluetooth管理器 216
8.7 在應用程序中啓用語音識別功能 218
8.8 獲取建議路線規劃指示 219
8.9 小結 225
第9章 使用多媒體——音頻、視頻和照相機 227
9.1 android媒體類 227
9.2 播放音頻和視頻 229
9.2.1 媒體播放器支持的格式 229
9.2.2 音頻播放編程 230
9.2.3 視頻播放編程 233
9.2.4 控制播放 237
9.2.5 管理播放輸出 237
9.3 錄製音頻和視頻 237
9.3.1 使用意圖來錄製視頻 238
9.3.2 使用媒體記錄器 241
9.4 圖像和使用照相機 244
9.4.1 使用意圖拍照 244
9.4.2 控制照相機 247
9.4.3 管理照相機設置和圖片選項 247
9.5 向媒體存儲器添加新媒體 253
9.5.1 使用媒體掃描程序 254
9.5.2 向存儲器添加新媒體 255
9.6 語音識別 255
9.7 小結 257
第10章 與其餘應用程序和庫通訊 259
10.1 android應用程序集成 259
10.1.1 打開瀏覽器 259
10.1.2 打開電子郵件 262
10.1.3 打電話 263
10.1.4 發送text/sms消息 264
10.1.5 在maps應用程序中打開位置 266
10.1.6 打開youtube視頻 267
10.1.7 開放市場 267
10.2 應用程序集成 268
10.2.1 與hootsuite以及其餘twitter應用程序的簡單集成 268
10.2.2 配置意圖過濾器 269
10.2.3 處理傳入的意圖請求 270
10.3 與聯繫人進行集成 270
10.3.1 顯示聯繫人詳細信息 273
10.3.2 選擇聯繫人 274
10.3.3 建立新聯繫人 275
10.3.4 建立新聯繫人或者添加到現有的聯繫人 276
10.4 小結 277
第11章 開發後臺服務和異步代碼 279
11.1 服務生命週期 280
11.1.1 建立第一個服務 280
11.1.2 服務的優先級排序 283
11.2 使用線程進行異步處理 284
11.2.1 手動線程 284
11.2.2 利用system.threading.tasks 286
11.2.3 帶有intentservice的隱式線程 288
11.3 與ui進行通訊 289
11.3.1 使用binder和服務鏈接方法 289
11.3.2 使用廣播接收器方法 292
11.3.3 使用靜態事件方法 295
11.4 通知用戶 298
11.4.1 經過警報和intentservice來調度意圖 300
11.4.2 使用c2dm來推送消息 301
11.5 小結 310
第12章 畫布和繪製資源類型:構建自定義android圖形 311
12.1 在mono for android中使用圖形 312
12.2 使用canvas對象 313
12.2.1 圖形基元 314
12.2.2 canvas對象 315
12.2.3 paint對象 316
12.2.4 bitmap對象 317
12.2.5 組合在一塊兒 317
12.2.6 選擇最佳方法 337
12.3 2d圖形庫 338
12.4 使用繪製資源類型 339
12.4.1 做爲xml資源的繪製資源類型 339
12.4.2 簡單和複合的繪製資源類型 340
12.4.3 繪製資源類型的實際應用 340
12.5 小結 354
第13章 使用位置信息 357
13.1 理解位置的基本知識 358
13.1.1 肯定位置 358
13.1.2 基於位置的數據中斷 359
13.1.3 使用基於位置的服務 359
13.1.4 在模擬器上配置基於位置的應用程序 359
13.2 選擇一個位置提供程序 361
13.2.1 肯定哪些提供程序可供使用 361
13.2.2 根據標準查找位置提供程序 361
13.3 地理編碼 363
13.3.1 前向地理編碼 363
13.3.2 反向地圖編碼 365
13.4 構建接近警報 366
13.5 使用google maps 368
13.5.1 獲取開發/調試md5指紋 369
13.5.2 獲取生產/發佈md5指紋 369
13.5.3 建立基於地圖的活動 369
13.5.4 在佈局文件中建立地圖 371
13.5.5 使用覆蓋的mapview控制器 372
13.6 小結 374
第14章 國際化和本地化 375
14.1 選擇本地化策略 376
14.2 更新語言和區域設置 378
14.3 瞭解android本地化機制 379
14.3.1 設置默認資源 380
14.3.2 添加本地化支持 380
14.3.3 選擇資源的詳細過程 381
14.4 支持多語言 382
14.4.1 利用strings.xml文件 382
14.4.2 翻譯文本 383
14.4.3 翻譯控件文本 386
14.5 本地化其餘資源 387
14.6 strings.xml的高級用法 391
14.6.1 字符串數組 391
14.6.2 複數 391
14.6.3 字符串替換 392
14.7 使用格式轉換 394
14.7.1 格式化日期 395
14.7.2 格式化數字和貨幣 395
14.8 小結 396
第15章 在mono for android、monotouch和windows phone7之間共享代碼 397
15.1 三大平臺概述 397
15.1.1 mono for android 397
15.1.2 monotouch 398
15.1.3 windows phone 7 399
15.2 使用類庫來分離代碼 400
15.2.1 使用預處理器指令 400
15.2.2 mono for android 401
15.2.3 windows phone 7 402
15.2.4 monotouch 402
15.3 每種平臺上可用的程序集 402
15.4 一個通用的類庫 405
15.4.1 mono for android 407
15.4.2 monotouch 408
15.4.3 windows phone 7 409
15.5 彙總:建立一個跨平臺應用程序 410
15.6 小結 422
第16章 準備並向market發佈應用程序 423
16.1 準備應用程序 424
16.1.1 測試應用程序 424
16.1.2 找到關鍵的測試區域 425
16.1.3 用於測試的工具 426
16.1.4 與同事和用戶一塊兒進行測試 433
16.2 向android market發佈應用程序 434
16.2.1 對應用程序進行版本控制 434
16.2.2 建立最終版本 435
16.2.3 爲應用程序簽名 437
16.2.4 上傳到android market 441
16.3 小結 442
第17章 android平板電腦 445
17.1 分析android平板電腦市場 445
17.2 設計平板電腦ui 446
17.3 使用操做欄 447
17.3.1 刪除操做欄 448
17.3.2 向操做欄添加項目 449
17.3.3 使用應用程序圖標 452
17.3.4 向堆棧上方導航 453
17.3.5 添加並使用操做項 453
17.3.6 建立選項卡式界面 454
17.4 使用片斷控制部分屏幕 455
17.4.1 建立片斷 457
17.4.2 更多片斷 461
17.5 小結 469
附錄a 針對開發人員的一些提示以及mono for android的將來前景 471編程