當前位置:首頁 » 安卓系統 » android實例開發

android實例開發

發布時間: 2023-01-11 08:15:14

⑴ 如何用android studio開發app實例

droid studio作為面市不久的安卓開發工具,越來越受到大家的喜愛,這里我將介紹如何在Android studio中創建一個APP項目,並在以後經驗中介紹其他有關Android studio的操作和編程方法。 工具/原料 Android studio 方法/步驟 1 打開軟體,在菜單中...

⑵ Android核心技術與實例詳解的目 錄

基 礎 篇
第1章 Android開發起步 19
本章將要介紹的是Android開發起步的相關知識,首先對Android平台進行簡單的介紹,其中包括Android的背景及其應用程序的框架。然後會向讀者講解如何搭建Android的開發環境、如何在Eclipse中創建一個項目,以及如何使用Android平台提供的工具調試和監控應用程序。
1.1 Android平台簡介 19
1.1.1 Android背景介紹 19
1.1.2 Android平台架構 20
1.2 Android開發環境的搭建 22
1.2.1 相關軟體的下載與安裝 22
1.2.2 虛擬設備的創建和使用 25
1.2.3 創建「Hello Android」 27
1.2.4 Android應用程序的調試 28
1.3 小結 31
第2章 Android應用程序的構成 32
本章主要對Android的基本組件及Android應用程序的構成進行介紹,同時還將對Android應用程序的生命周期進行分析,主要目的是讓讀者了解Android應用程序的構成,掌握Android基本組件的特性及使用方法。
2.1 Android應用程序的解析 32
2.1.1 目錄結構 32
2.1.2 資源的管理與使用 33
2.1.3 AndroidManifest.xml簡介 36
2.1.4 應用程序的許可權 37
2.2 Android基本組件的介紹 38
2.2.1 應用程序的生命周期 38
2.2.2 Activity簡介 39
2.2.3 Service簡介 41
2.2.4 BroadcastReceiver簡介 44
2.2.5 ContentProvider簡介 45
2.2.6 Intent和IntentFilter簡介 46
2.3 小結 50
第3章 Android布局管理器 51
本章要介紹的內容為Android平台下的布局管理器。Android中的布局包括線性布局、表格布局、相對布局、幀布局和絕對布局。下面將分別對每個布局管理器進行詳細的介紹。
3.1 控制項類概述 51
3.1.1 View類簡介 51
3.1.2 ViewGroup類簡介 52
3.2 線性布局 52
3.2.1 LinearLayout類簡介 52
3.2.2 線性布局案例 53
3.3 表格布局 55
3.3.1 TableLayout類簡介 55
3.3.2 表格布局案例 56
3.4 相對布局 60
3.4.1 RelativeLayout類簡介 60
3.4.2 相對布局案例 61
3.5 幀布局 63
3.5.1 FrameLayout類簡介 63
3.5.2 幀布局案例 63
3.6 絕對布局 65
3.6.1 AbsoluteLayout類簡介 65
3.6.2 絕對布局案例 66
3.7 小結 69
第4章 Android常用基本控制項 70
本章將對進行用戶界面開發時常用到的Android基本控制項進行介紹,主要包括文本框、按鈕、單選按鈕和復選按鈕、狀態開關按鈕和日期時間控制項等。了解這些基本控制項的工作方式有助於學習後面要介紹的Android中的高級控制項。
4.1 文本控制項的介紹 70
4.1.1 TextView類簡介 70
4.1.2 EditText類簡介 71
4.1.3 文本框使用案例 71
4.2 按鈕控制項 75
4.2.1 Button類簡介 75
4.2.2 ImageButton類簡介 77
4.2.3 9Patch圖片簡介 79
4.2.4 9Patch圖片使用案例 80
4.3 狀態開關按鈕 81
4.3.1 ToggleButton類簡介 81
4.3.2 開關按鈕的使用 82
4.4 單選按鈕與復選按鈕 84
4.4.1 CheckBox和RadioButton類簡介 84
4.4.2 單選按鈕和復選按鈕使用案例 84
4.5 圖片控制項 87
4.5.1 ImageView類簡介 87
4.5.2 圖片查看器 88
4.6 時鍾控制項 91
4.6.1 AnalogClock和DigitalClock類簡介 91
4.6.2 時鍾控制項使用案例 91
4.7 日期與時間選擇控制項 92
4.7.1 DatePicker類簡介 92
4.7.2 TimePicker類簡介 93
4.7.3 日期時間控制項使用案例 93
4.8 動畫播放技術 95
4.8.1 幀動畫簡介 95
4.8.2 幀動畫使用案例 96
4.8.3 補間動畫簡介 98
4.8.4 補間動畫使用案例 99
4.9 小結 101
第5章 Android常用高級控制項 102
上一章已經介紹了Android中的一些基本控制項,本章將繼續上一章的思路,對Android中常用的高級控制項逐一進行介紹。
5.1 自動完成文本框 102
5.1.1 AutoCompleteTextView類簡介 102
5.1.2 自動完成文本使用案例 102
5.2 滾動視圖 104
5.2.1 ScrollView類簡介 104
5.2.2 滾動視圖使用案例 104
5.3 列表視圖 105
5.3.1 ListView類簡介 105
5.3.2 列表視圖使用案例 105
5.4 網格視圖 108
5.4.1 GridView類簡介 108
5.4.2 網格視圖使用案例 109
5.5 滑塊與進度條 113
5.5.1 ProgressBar類簡介 113
5.5.2 SeekBar類簡介 113
5.5.3 滑塊和進度條案例 113
5.6 星級滑塊 115
5.6.1 RatingBar類簡介 115
5.6.2 星級滑塊使用案例 115
5.7 選項卡 117
5.7.1 TabHost類簡介 117
5.7.2 選項卡使用案例 117
5.8 畫廊控制項 120
5.8.1 Gallery類簡介 120
5.8.2 畫廊控制項使用案例 121
5.9 下拉列表控制項 122
5.9.1 Spinner類簡介 123
5.9.2 下拉列表使用案例 123
5.10 小結 126
第6章 菜單與對話框 127
在前面的章節中介紹了Android平台下開發用戶界面時常用的基本控制項與高級控制項,但在實際開發中只運用這些控制項是不夠的。本章將介紹用戶界面中菜單與對話框的開發,同時還會對Android平台下的Toast和Notification進行介紹。
6.1 菜單功能的開發 127
6.1.1 選項菜單和子菜單簡介 127
6.1.2 選項菜單和子菜單使用案例 129
6.1.3 上下文菜單 134
6.2 對話框功能的開發 137
6.2.1 對話框簡介 137
6.2.2 普通對話框 138
6.2.3 列表對話框 141
6.2.4 單選按鈕對話框 143
6.2.5 復選框對話框 145
6.2.6 日期及時間選擇對話框 147
6.2.7 進度對話框 151
6.3 消息提示 153
6.3.1 Toast的使用 153
6.3.2 Notification的使用 155
6.4 小結 158
第7章 Android事件處理模型 159
本章將對Android平台用戶界面的各種事件響應進行詳細介紹,以加深讀者對Android平台的事件處理模型的理解,熟練掌握控制項的各種事件處理方法。
Android平台的事件處理機制有兩種,一種是基於回調機制的,一種是基於監聽介面的,接下來會分別對其進行介紹。
7.1 基於回調機制的事件處理 159
7.1.1 onKeyDown方法簡介 159
7.1.2 onKeyUp方法簡介 161
7.1.3 onTouchEvent方法簡介 162
7.1.4 onTrackBallEvent方法簡介 164
7.1.5 onFocusChanged方法簡介 165
7.2 基於監聽介面的事件處理 167
7.2.1 Android的事件處理模型 167
7.2.2 OnClickListener介面簡介 168
7.2.3 OnLongClickListener介面簡介 170
7.2.4 OnFocusChangeListener介面簡介 172
7.2.5 OnKeyListener介面簡介 176
7.2.6 OnTouchListener介面簡介 178
7.2.7 OnCreateContextMenuListener介面簡介 180
7.3 Handler消息傳遞機制 181
7.3.1 Handler類簡介 181
7.3.2 Handler使用案例 181
7.4 小結 184
高 級 篇
第8章 游戲與3D應用程序開發 185
Android平台下的應用開發,一般來說主要分為商業應用和游戲兩種,在開發商業應用時主要會用到本書前面章節曾介紹過的控制項和菜單對話框等知識,而開發游戲時就只能自己定義各種控制項和界面了。本章將要介紹如何在Android平台下使用View和SurfaceView開發游戲,在本章的最後還將對Android平台下進行3D場景的開發進行簡單的介紹。
8.1 自定義View的使用 185
8.1.1 MyView類的開發 185
8.1.2 MyThread類的開發 188
8.1.3 Activity部分代碼的開發 189
8.2 SurfaceView的使用 190
8.2.1 GameView類的開發 191
8.2.2 BallGoThread類的開發 195
8.2.3 TimeThread類的開發 198
8.2.4 GameViewDrawThread類的開發 198
8.2.5 Sample_8_2類的開發 199
8.3 GLSurfaceView與3D 200
8.3.1 OpenGL ES簡介 200
8.3.2 3D開發的基本知識 201
8.3.3 第一個3D圖形示例 202
8.3.4 3D谷倉的開發 206
8.4 小結 212
第9章 消息廣播與服務 213
本章將對Android的消息廣播機制及服務組件進行詳細介紹。在很多應用程序中,都會通過廣播形式來發送和接收消息。當應用程序接收到消息後,一般啟動一個Activity或者一個Service進行處理。本章將對之前介紹過的服務組件Service進行詳細介紹,章末通過對一個單機版的音樂播放盒的介紹幫助讀者掌握服務組件的使用方法。
9.1 BroadcastReceiver組件 213
9.1.1 BroadcastReceiver類簡介 213
9.1.2 基於廣播的案例 214
9.2 Service組件 216
9.2.1 Service類簡介 217
9.2.2 基於服務的案例 217
9.3 單機版音樂盒的實現 220
9.4 小結 228
第10章 網路與數據處理 229
本章要介紹的內容是Android平台下進行網路編程及數據處理的相關知識,內容包括網路通信的幾種方式(如使用Socket、URL、Socket等)、如何使用WebView瀏覽網頁,以及文件的上傳和下載。最後介紹訪問手機存儲卡的方法及如何在程序中使用SQLite資料庫
10.1 使用Socket進行通信 229
10.1.1 Socket服務端的開發 229
10.1.2 Socket客戶端的開發 230
10.2 通過URL和HTTP請求獲取網路資源 231
10.2.1 通過URL獲取網路資源 232
10.2.2 通過HTTP請求網路資源 235
10.3 使用WebView進行網路開發 239
10.3.1 使用WebView瀏覽網頁 239
10.3.2 使用WebView執行HTML代碼 244
10.4 SQLite資料庫 246
10.4.1 資料庫的基本操作 246
10.4.2 個人通訊錄的實現之資源文件的組織和開發 247
10.4.3 個人通訊錄的實現之功能代碼的開發 250
10.5 訪問存儲卡 255
10.5.1 獲取存儲卡容量 255
10.5.2 讀取存儲卡信息 257
10.6 小結 259
第11章 手機通信功能開發 260
本章將對Android手機通信功能的開發進行介紹,其中包括簡訊的收發及狀態查詢、電話的撥打與接聽、來電的過濾和E-mail郵件的收發等,通過本章的學習,讀者應該能夠對Android平台手機通信功能有一定的了解。
11.1 簡訊控制 260
11.1.1 簡訊的發送 260
11.1.2 短消息提示 263
11.1.3 短消息群發 267
11.1.4 查詢發送狀態 271
11.2 電話控制 274
11.2.1 撥打電話 274
11.2.2 過濾電話 279
11.2.3 查詢當前狀態 279
11.3 E-mail相關功能開發 281
11.3.1 SMTP協議簡介 281
11.3.2 發送E-mail 281
11.4 小結 282
第12章 手機特有Feature開發 283
本章將要介紹的是Android手機特有Feature的開發,主要包括響應系統設置更改事件、設置手機外觀和其他的特性。同時還將介紹如何在程序中獲取SIM卡和電池電量等信息,最後將以手機鬧鍾為例講述如何自己開發特定功能的手機應用。
12.1 系統設置更改的事件 283
12.1.1 Configuration類簡介 283
12.1.2 響應Configuration的變化 284
12.2 手機外觀更改和提醒設置 286
12.2.1 手機壁紙的改變 286
12.2.2 手機振動的設置 290
12.2.3 音量調節 293
12.3 TelephonyManager的使用 296
12.3.1 TelephonyManager類簡介 297
12.3.2 TelephonyManager的使用案例 297
12.4 手機電池電量 300
12.4.1 原理概述 300
12.4.2 電量提示案例 301
12.5 手機鬧鍾 302
12.5.1 AlarmManager簡介 303
12.5.2 開發鬧鍾應用 303
12.6 小結 306
第13章 桌面組件與多媒體數據採集 307
本章將介紹Android中桌面組件及多媒體相關程序的開發,其中包括桌面快捷方式、實時文件夾、桌面控制項、聲音及圖像的採集等。
13.1 桌面組件的介紹 307
13.2 桌面快捷方式 307
13.2.1 通過應用程序創建快捷方式 307
13.2.2 向Launcher添加快捷方式 310
13.3 實時文件夾 311
13.3.1 創建Activity 311
13.3.2 創建ContentProvider 312
13.4 桌面控制項 313
13.4.1 桌面控制項概述 313
13.4.2 開發簡單的桌面控制項 314
13.5 多媒體數據採集 315
13.5.1 錄音 316
13.5.2 圖像採集 319
13.6 小結 323
第14章 感測器應用的開發 324
Android系統的一大亮點之一就是對感測器的應用,利用感測器可以開發出很多新奇有趣的程序,小到水平儀、計步器,大到感測器游戲,本章將詳細介紹各種感測器的原理及使用方法,並通過一個水平儀的開發向讀者介紹感測器應用的開發方法,以及如何在模擬器中模擬各種感測器。
14.1 Android平台下感測器簡介 324
14.1.1 加速度感測器Accelerometer 324
14.1.2 姿態感測器Orientation 329
14.1.3 磁場感測器Magnetic Field 332
14.1.4 溫度感測器Temperature 333
14.1.5 光感測器Light 336
14.2 感測器應用案例 337
14.2.1 開發前的准備工作 337
14.2.2 自定義View的開發 337
14.2.3 開發主邏輯代碼 339
14.2.4 運行與調試 342
14.3 小結 342
第15章 Google服務 343
本章將介紹如何在Android平台下開發基於Google服務的應用程序。Google提供了諸如GPS定位、Google Map、天氣預報、網路相冊和在線翻譯等多種服務,將這些服務融合到應用程序中將會帶來非常好的用戶體驗。
15.1 使用GPS獲取位置 343
15.1.1 LocationManager及相關類簡介 343
15.1.2 獲取位置信息案例 344
15.2 Google Map的使用 347
15.2.1 獲取Map API Key 347
15.2.2 創建模擬器 348
15.2.3 Google Map地圖查詢應用 349
15.2.4 Google Map導航應用 354
15.3 天氣預報 360
15.3.1 使用SAX解析XML 360
15.3.2 使用Google API獲取天氣信息 360
15.4 口袋詞典 364
15.4.1 Google Translate API簡介 364
15.4.2 口袋詞典的實現 365
15.5 Google街景 369
15.5.1 Android整合Google街景服務的原理 369
15.5.2 在程序中調用Google街景 369
15.6 小結 372
案 例 篇
第16章 Android游戲開發實踐——快樂數獨 373
益智類游戲是一種比較流行的游戲,其畫面大都比較簡單,很少有很復雜的游戲特效,但是通常用到人工智慧的演算法來控制游戲的難度。而演算法的優化是開發該類游戲的難點。這類游戲主要包括棋牌類游戲和智力測試類游戲,例如麻將、掃雷、五子棋、撲克牌等。
數獨就是益智游戲的一種,玩法簡單但數字的排列方式千變萬化,很多人認為數獨是訓練頭腦的絕佳方式。本章通過講解數獨游戲在Android平台上的設計與實現,使讀者了解此類游戲的開發過程,掌握實用的開發技巧,學會此類游戲的開發。
16.1 游戲的背景及功能概述 373
16.1.1 背景概述 373
16.1.2 功能簡介 374
16.2 游戲的策劃及准備工作 375
16.2.1 游戲的策劃 375
16.2.2 Android平台下游戲的准備工作 375
16.3 游戲的架構 376
16.3.1 各類的簡要介紹 376
16.3.2 游戲的框架簡介 377
16.4 歡迎界面的設計與實現 378
16.4.1 主類KLSDActivity實現 378
16.4.2 歡迎界面WelcomeView類的實現 380
16.4.3 刷幀線程WelcomeViewDrawThread類的實現 383
16.4.4 動畫生成線程WelcomeViewGoThread類的實現 384
16.5 「幫助」與「關於」界面的設計與實現 385
16.5.1 「幫助」界面HelpView類的實現 385
16.5.2 「關於」界面AboutView的實現 386
16.6 游戲界面的框架搭建 388
16.7 計時線程與數字鍵盤線程的開發 390
16.7.1 計時線程的開發 390
16.7.2 數字鍵盤線程的開發 391
16.8 數獨生成器的開發 392
16.9 游戲界面邏輯方法的實現 394
16.9.1 初始化方法的完善 394
16.9.2 簡單邏輯方法的完善 396
16.9.3 屏幕事件處理方法的完善 397
16.10 游戲界面繪畫方法的完善 401
16.10.1 數字鍵盤的繪制方法drawKey ()的完善 401
16.10.2 繪畫方法onDraw()的完善 402
16.11 游戲界面刷幀線程的實現 405
16.12 游戲的優化與改進 406
第17章 Android地圖搜索應用——美食天下 407
第15章已經介紹了Google Map的簡單使用,本章將通過之前介紹過的知識實現一個美食共享軟體,其中包括服務端和手機端,希望通過本章的學習,讀者能夠掌握Android系統與Tomcat伺服器的通信、Google地圖的使用及各種控制項的綜合應用。
17.1 系統背景及功能概述 407
17.1.1 背景簡介 407
17.1.2 功能概述 407
17.1.3 開發環境及目標平台 408
17.2 開發前的准備工作 409
17.2.1 資料庫的設計 409
17.2.2 表的創建與記錄插入 414
17.2.3 數據源的配置 415
17.3 Web端總體架構及功能預覽 415
17.3.1 目錄結構及系統框架 415
17.3.2 功能預覽 416
17.4 Web端登錄注冊模塊的實現 418
17.4.1 首頁的搭建 418
17.4.2 用戶注冊功能的開發 424
17.4.3 用戶登錄功能的開發 428
17.4.4 用戶注銷功能的開發 431
17.5 Web端美食上傳模塊的實現 431
17.5.1 頁面的搭建 431
17.5.2 圖片上傳組件FileUploadServlet的開發 435
17.5.3 DBUtil中相關方法的開發 437
17.6 Android端總體架構及功能預覽 438
17.6.1 功能預覽 439
17.6.2 總體架構 440
17.7 伺服器的設計與實現 441
17.8 Android端登錄界面的實現 443
17.8.1 開發前的准備工作 443
17.8.2 框架的搭建 445
17.8.3 監聽方法的完善 448
17.8.4 記住密碼功能的實現 449
17.8.5 伺服器端的完善 450
17.9 Android端注冊界面的實現 451
17.9.1 框架的搭建 451
17.9.2 監聽方法的完善 453
17.9.3 伺服器端的完善 455
17.10 Android端主界面MainActivity的實現 456
17.10.1 布局文件的開發 456
17.10.2 界面框架的搭建 457
17.10.3 初始化方法的完善 459
17.10.4 監聽方法的完善 460
17.10.5 網路處理線程的實現 463
17.10.6 伺服器端的完善 464
17.11 Android端地圖界面的實現 468
17.11.1 布局文件的開發 468
17.11.2 地圖界面的開發 469
17.12 美食信息界面的實現 472
17.13 系統的優化與改進 474
第18章 Android社交分享平台——口袋微博 475
本章將介紹社交分享平台——口袋微博的實現,該社交分享平台包括Web端和Android手機端兩個部分。在介紹了整個系統的背景及功能架構之後,本書將對該系統在Web端和Android手機端的實現進行介紹。
18.1 系統背景及功能概述 475
18.1.1 背景簡介 475
18.1.2 功能概述 475
18.1.3 開發環境和目標平台 476
18.2 開發前的准備工作 477
18.2.1 資料庫設計 477
18.2.2 表的創建和測試數據的插入 482
18.2.3 數據源的配置 483
18.3 Web端功能預覽及總體架構 484
18.3.1 Web端系統功能預覽 484
18.3.2 系統目錄結構 485
18.3.3 系統總架構 486
18.4 Web端主頁的搭建 486
18.5 Web端登錄注冊模塊的實現 488
18.5.1 用戶登錄功能的開發 488
18.5.2 用戶注冊功能的開發 491
18.5.3 用戶注銷功能的開發 494
18.6 查看和管理日誌模塊的實現 494
18.6.1 發布日誌功能的開發 494
18.6.2 顯示日誌及評論功能的開發 496
18.6.3 編輯和刪除日誌功能的開發 498
18.7 查看和管理相冊模塊的實現 499
18.7.1 查看相冊功能的開發 500
18.7.2 查看相冊相片功能的實現 501
18.7.3 顯示照片功能的實現 502
18.8 Android端功能預覽及總體架構 503
18.8.1 Android端功能預覽 503
18.8.2 Android端總架構 505
18.9 伺服器的設計與實現 506
18.9.1 伺服器的設計 506
18.9.2 伺服器的實現 506
18.10 Android端的准備工作 509
18.10.1 圖片資源的准備 509
18.10.2 XML資源文件的准備 510
18.11 登錄注冊模塊的實現 511
18.11.1 登錄模塊的開發 511
18.11.2 記錄賬號密碼功能的開發 516
18.11.3 伺服器驗證登錄功能的實現 517
18.11.4 注冊模塊的開發 517
18.12 個人中心模塊的實現 521
18.12.1 個人中心界面的開發 521
18.12.2 個人中心界面菜單功能的開發 523
18.13 快速發布模塊的實現 524
18.13.1 發布日誌和更新心情功能的實現 524
18.13.2 拍照上傳界面的開發 527
18.13.3 UploadActivity通信功能的開發 530
18.14 查看聯系人模塊的實現 534
18.14.1 ContactsActivity界面的開發 534
18.14.2 ContactsActivity通信功能的開發 536
18.15 日誌管理模塊的實現 536
18.15.1 查看日誌功能的開發 537
18.15.2 編輯日誌功能的開發 539
18.16 相冊管理模塊的實現 539
18.16.1 相冊查看和修改功能的實現 539
18.16.2 相片查看功能的實現 542
18.17 系統的優化與改進 544

⑶ 《Android6應用開發案例精解第3版》pdf下載在線閱讀全文,求百度網盤雲資源

《Android6應用開發案例精解第3版》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1VW8BgUrjThIwJQPrSTIPlw?pwd=xglc 提取碼:xglc
簡介:本書是美國知名編程教材的作者針對Android系統下進行應用開發而編寫的一本入門級教程,全書以"應用驅動的方法」為基礎,詳細講解了17個完整的Android應用的開發過程,並提供了8個APP應用的完整的源代碼。這些應用經過精心挑選,從不同側面展現了Android系統各個功能模塊的編程方法。這些功能包括音頻、視頻、動畫、電話、藍牙、語音識別、加速度計、GPS、指北針、應用窗件、3D圖形等, 它們都是從事Android應用開發所必須熟知的基本技術。

⑷ Android開發之藍牙(Bluetooth)

在上一篇中有介紹了Wifi與網路連接處理
Android開發之WiFi與網路連接處理
下面,來繼續說說Android中藍牙的基本使用。

Bluetooth是目前使用的最廣泛的無線通訊協議之一,主要針對短距離設備通訊(10米),常用於連接耳機、滑鼠和移動通訊設備等。

值得一提的是:
android4.2新增了部分新功能,但是對於Bluetooth熟悉的人或許開始頭疼了,那就是Android4.2引入了一個新的藍牙協議棧針BLE。谷歌和Broadcom之間的合作,開發新的藍牙協議棧,取代了基於堆棧的Bluez。因此市場上出現了老設備的兼容問題,很多藍牙設備在android4.2手機上不能正常使用。

BluetoothAdapter簡單點來說就是代表了本設備(手機、電腦等)的藍牙適配器對象。

first:we need permission
要操作藍牙,先要在AndroidManifest.xml里加入許可權

**下面來看看如何使用藍牙。 **↓↓↓****
Demo已就緒:

返回值:如果設備具備藍牙功能,返回BluetoothAdapter 實例;否則,返回null對象。

打開藍牙設備的方式:
1.直接調用函數enable()去打開藍牙設備 ;
2.系統API去打開藍牙設備,該方式會彈出一個對話框樣式的Activity供用戶選擇是否打開藍牙設備。

注意: 1.如果藍牙已經開啟,不會彈出該Activity界面。2.在目前大多數Android手機中,是不支持在飛行模式下開啟藍牙的。如果藍牙已經開啟,那麼藍牙的開關 ,狀態會隨著飛行模式的狀態而發生改變。

1. 搜索藍牙設備
使用BluetoothAdapter的startDiscovery()方法來搜索藍牙設備
startDiscovery()方法是一個非同步方法,調用後會立即返回。該方法會進行對其他藍牙設備的搜索,該過程會持續12秒。該方法調用後,搜索過程實際上是在一個System Service中進行的,所以可以調用cancelDiscovery()方法來停止搜索(該方法可以在未執行discovery請求時調用)。

系統開始搜索藍牙設備
^( *  ̄(oo) ̄ ) ^ 系統會發送以下三個廣播:

2.掃描設備

3.定義廣播接收器接收搜索結果

4.注冊廣播

獲取附近的藍牙設備

第一步建立連接:首先Android sdk(2.0以上版本)支持的藍牙連接是通過BluetoothSocket建立連接,服務端BluetoothServerSocket和客戶端(BluetoothSocket)需指定同樣的UUID,才能建立連接,因為建立連接的方法會阻塞線程,所以伺服器端和客戶端都應啟動新線程連接。

(這里的服務端和客戶端是相對來說的)
兩個藍牙設備之間的連接,則必須實現服務端與客戶端的機制。
當兩個設備在同一個RFCOMM channel下分別擁有一個連接的BluetoothSocket,這兩個設備才可以說是建立了連接。

服務端設備與客戶端設備獲取BluetoothSocket的途徑是不同的。
1,服務端設備是通過accepted一個incoming connection來獲取的,
2,客戶端設備則是通過打開一個到服務端的RFCOMM channel來獲取的。

服務端
通過調用BluetoothAdapter的(String, UUID)方法來獲取BluetoothServerSocket(UUID用於客戶端與服務端之間的配對)

客戶端
調用BluetoothService的(UUID)方法獲取BluetoothSocket(該UUID應該同於服務端的UUID)。
調用BluetoothSocket的connect()方法(該方法為block方法),如果UUID同服務端的UUID匹配,並且連接被服務端accept,則connect()方法返回。

數據傳遞,通過以上操作,就已經建立的BluetoothSocket連接了,數據傳遞無非是通過流的形式
獲取流

該類就是關於遠程藍牙設備的一個描述。通過它可以和本地藍牙設備---BluetoothAdapter連接通信。

好多東西我也不知道怎麼描述,下面給出Demo:
剛好有剛學習的小夥伴問我ListView怎麼用,那我就用ListView。

源碼
RairDemo
GitHub: https://github.com/Rairmmd/android-demo
Coding: https://coding.net/u/Rair/p/RairDemo/git

⑸ 如何優化SQLite-Android開發實例

SQLite是一個開源的嵌入式關系資料庫,由D. Richard Hipp於2000年發布,它能減少應用程序管理數據的開銷,可移植性好,很容易使用,高效而且可靠。本文是關於SQLite的優化方法,是比較重要的內容。
SQLite的資料庫本質是文件讀寫操作,頻繁操作打開和關閉是很耗時和浪費資源的,有必要進行相關優化。
優化方法事務機制:
這里要注意一點:事務的開啟是要鎖定DB的,其他對DB的寫入操作都是無法成功的。
java代碼
db.beginTransaction(); //手動設置開始事務
try {
//這里寫你數據操作
db.setTransactionSuccessful();
//設置事務處理成功,不設置會自動回滾不提交
} catch (Exception e) {
} finaly {
db.endTransaction(); //提交
}
項目中不會把項目上萬條數據存SQL里的,盡管android有SQLite。
那樣處理起來非常慢,而且程序經常出現ANR。
打個比方:有200個城市,每個城市500條城市信息,你怎麼創建表?
A:我創建一張表存10000條數據。
B:200張表,每張存500條數據。
C:我創建兩張表:
一張存city,其實這張表只有1條數據。
Id(編號),
Version(這200個城市更新版本用)
CityDate(200個城市xml格式字元串數據)。
另一張表存城市信息表:200條數據,每個城市一條數據。
id(CityDate解析出城市對象對應的id)
Version(這500條城市信息更新版本用)
CityMessage(500條城市信息xml格式字元串數據)。
首先你給用戶展示200城市(你只取了一條數據 200個城市xml格式字元串數據進行解析)
用戶點擊一個城市你顯示500條記錄(通過城市解析ID,取出城市信息表中對應500數據xml格式字元串數據進行解析)
這樣做的好處:
(1)統一數據介面,無論你從網路上直接去數據,還是讀本地緩存統一數據介面,xml
(2)數據進行排序,內存操作要快一些;
(3)其實這和自己寫文件沒什麼區別,為什麼還要用資料庫那,這么做有利於程序版本更新升級數據維護!

⑹ 昆明北大青鳥分享Android開發需要學習哪些內容

隨著移動互聯網的發展,各種智能手機APP接踵而來,在手機APP應用市場中,數量最多的就是Android開發的手機軟體了。Android開發也成為當下較熱門行業。那麼,昆明北大青鳥http://www.kmbdqn.com/就告訴你,想要學習Android開發,需要學習哪些課程?


Java面向對象編程

1、Java基本數據類型與表達式,分支循環。

2、String和StringBuffer的使用、正則表達式。

3、面向對象的抽象,封裝,繼承,多態,類與對象,對象初始化和回收;構造函數、this關鍵字、方法和方法的參數傳遞過程、static關鍵字、內部類,Java的垃極回收機制,Javadoc介紹。

4、對象實例化過程、方法的覆蓋、final關鍵字、抽象類、介面、繼承的優點和缺點剖析;對象的多態性:子類和父類之間的轉換、抽象類和介面在多態中的應用、多態帶來的好處。

5、Java異常處理,異常的機制原理。

6、常用的設計模式:Singleton、Template、Strategy模式。

7、JavaAPI介紹:種基本數據類型包裝類,System和Runtime類,Date和DateFomat類等。

8、Java集合介紹:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合類API。

9、JavaI/O輸入輸出流:File和FileRandomAccess類,位元組流InputStream和OutputStream,字元流Reader和Writer,以及相應實現類,IO性能分析,位元組和字元的轉化流,包裝流的概念,以及常用包裝類,計算機編碼。

10、Java高級特性:反射、代理和泛型。

11、多線程原理:如何在程序中創建多線程(Thread、Runnable),線程安全問題,線程的同步,線程之間的通訊、死鎖。

12、Socket網路編程。

Javaweb開發

1、Java解析XML文件DOM4J。

2、MySql資料庫的應用、多表連接查詢的應用。

3、Jsp和Servlet應用。

4、Http協議解析。。

5、Tomcat伺服器的應用配置。

6、WebService服務配置應用。

androidUI編程

1、Android開發環境搭建:Android介紹,Android開發環境搭建,先進個Android應用程序,Android應用程序目錄結構。

2、Android初級控制項的使用:TextView控制項的使用Button控制項的使用方法EditText控制項的使用方法ImageView的使用方法RadioButton的使用方法Checkbox的使用方法Menu的使用方法。

3、Android高級控制項的使用:Autocompletion的使用方法ListView的使用方法GridView的使用方法Adapter的使用方法Spinner的使用方法Gallary的使用方法ScrollView的使用方法。

4、對話框與菜單的使用:Dialog的基本概念AlertDialog的使用方法DatePickerDialog的使用方法Menu的使用方法自定義Menu的實現方法。

5、控制項的布局方法:線性布局的使用方法相對布局的使用方法表格布局的使用方法。

6、多Acitivity管理:AndroidManifest.xml文件的作用,Intent的使用方法,使用Intent傳遞數據的方法,啟動Activity的方法,IntentFilter的使用方法,ActivityGroup的使用方法。

7、自定義控制項實現方法:自定義ListView的實現方法,可折疊ListView的使用方法,自定義Adapter的實現方法,自定義View的實現方法,動態控制項布局的上實現方法。


⑺ 如何優化SQLite-Android開發實例

關於SQLite的優化,首先是能用SQL語句的,就不要單筆操作,Cursor就更是能不用就不用。比如成批的DELETE/UPDATE,將條件組裝到SQL語句,會比使用CURSOR一條條的查再刪效率要高很多(若干年前就曾使用存儲過程代替單筆操作,將一次批量計算時間從一晚上縮到了一小時以內)。其次是對操作的優化:對於INSERT/UPDATE操作較多時使用事務,如果SELECT操作較多時,使用索引。結合現在的工作,發現針對操作的優化,下面這篇文章可以翻譯出來歸檔。以下為正文:SQLite有一個簡潔的SQL介面,且以低內存佔用著稱。現如今,SQLite已經在Android及iOS開發中得到廣泛的應用。本文主要討論在Android應用如何優化SQLite的性能和資源佔用。1,使用事務(Transaction)在默認情況下每一個SQL語句都被包一個全新的事務內,比如執行一個如INSERT這樣基本的資料庫操作,就會放到一個新創建的事務中執行。一次只需要操作一次資料庫操作時,讓SQLite自己來進行事務管理當然是明智的。但如果一次有大量的操作要做時,比如循環調用INSERT添加時,這樣就顯得開銷過大了,因為每一筆操作都要重新打開、寫入,最後再關閉journal文件,這個文件是臨時用來保存數據操作的中間結果,詳細內容看這里(參考)。如果明確地在一系列SQL語句前後以BEGINTRANSACTION及ENDTRANSACTION這樣顯示地使用事務就可以避免上面的情況。對於那些不會改變數據的操作,這樣的方式也同樣可以提速(好似資料庫操作中單筆的操作效率將遠低於批次操作,如果用SQL語句可以搞定的事,就不可使用Cursor進行操作)。註明:除了發起事務外,你必須還要負責對事務的提交和回滾操作。在Android應用開發中可以使用類似如下的方式使用BEGINTRANSACTION及ENDTRANSACTION:db.beginTransaction();try{for(inti=0;i

⑻ Android多線程:實現Runnable介面使用解析(含實例教程)

特別注意:

很多情況下,開發者會選擇一種更加方便的方法去創建線程: 匿名類

2種方法本質相同,但是各有優劣勢 & 不同的應用場景:

main_activity.xml

MainActivity.java

MainActivity.java

MainActivity.java

不定期分享關於 安卓開發 的干貨,追求 短、平、快 ,但 卻不缺深度

⑼ Android開發之ImageView播放GIF動畫實例

Android開發之ImageView播放GIF動畫實例

Android的原生控制項並不支持播放GIF格式的圖片,如果想在Android中顯示一張GIF動態圖片,可以利用 ImageView控制項來完成,但是放進去之後,你會發現,ImageView它只會顯示這張圖片的第一幀,不會產生任何的動畫效果。我們必須通過自定義控制項的方式來實現ImageView播放GIF 圖片的功能。

首先我們來編寫一個PowerImageView控制項,讓它既能支持ImageView控制項原生的所有功能,同時還可以播放GIF動態圖片。

先新建一個項目PowerImageViewTest,這里使用Android 4.0+Eclipse。

由於是要自定義控制項,會需要一些自定義的控制項屬性,因此我們需要在values目錄下新建一個attrs.xml的文件,在這個文件中添加項目需要的自定義屬性。

這里我們目前暫時只需要一個自動播放auto_play屬性,XML文件代碼如下:

<?xml version="1.0" encoding="utf-8"?>

這個文件完成之後,下面我們來開始編寫主類PowerImageView類,由於PowerImageView類需要支持ImageView的所有功能,我們必須要讓PowerImageView繼承自ImageView,代碼如下:

public class PowerImageView extends ImageView implements OnClickListener {

/**

* 播放GIF動畫的關鍵類

*/

private Movie mMovie;

/**

* 開始播放按鈕圖片

*/

private Bitmap mStartButton;

/**

* 記錄動畫開始的時間

*/

private long mMovieStart;

/**

* GIF圖片的寬度

*/

private int mImageWidth;

/**

* GIF圖片的高度

*/

private int mImageHeight;

/**

* 圖片是否正在播放

*/

private boolean isPlaying;

/**

* 是否允許自動播放

*/

private boolean isAutoPlay;

/**

* PowerImageView構造函數。

*

* @param context

*/

public PowerImageView(Context context) {

super(context);

}

/**

* PowerImageView構造函數。

*

* @param context

*/

public PowerImageView(Context context, AttributeSet attrs) {

this(context, attrs, 0);

}

/**

* PowerImageView構造函數,在這里完成所有必要的初始化操作。

*

* @param context

*/

public PowerImageView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.PowerImageView);

int resourceId = getResourceId(a, context, attrs);

if (resourceId != 0) {

// 當資源id不等於0時,就去獲取該資源的流

InputStream is = getResources().openRawResource(resourceId);

// 使用Movie類對流進行解碼

mMovie = Movie.decodeStream(is);

if (mMovie != null) {

// 如果返回值不等於null,就說明這是一個GIF圖片,下面獲取是否自動播放的屬性

isAutoPlay = a.getBoolean(R.styleable.PowerImageView_auto_play, false);

Bitmap bitmap = BitmapFactory.decodeStream(is);

mImageWidth = bitmap.getWidth();

mImageHeight = bitmap.getHeight();

bitmap.recycle();

if (!isAutoPlay) {

// 當不允許自動播放的時候,得到開始播放按鈕的圖片,並注冊點擊事件

mStartButton = BitmapFactory.decodeResource(getResources(),R.drawable.start_play);

setOnClickListener(this);

}

}

}

}


@Override

public void onClick(View v) {

if (v.getId() == getId()) {

// 當用戶點擊圖片時,開始播放GIF動畫

isPlaying = true;

invalidate();

}

}


@Override

protected void onDraw(Canvas canvas) {

if (mMovie == null) {

// mMovie等於null,說明是張普通的圖片,則直接調用父類的onDraw()方法

super.onDraw(canvas);

} else {

// mMovie不等於null,說明是張GIF圖片

if (isAutoPlay) {

// 如果允許自動播放,就調用playMovie()方法播放GIF動畫

playMovie(canvas);

invalidate();

} else {

// 不允許自動播放時,判斷當前圖片是否正在播放

if (isPlaying) {

// 正在播放就繼續調用playMovie()方法,一直到動畫播放結束為止

if (playMovie(canvas)) {

isPlaying = false;

}

invalidate();

} else {

// 還沒開始播放就只繪制GIF圖片的第一幀,並繪制一個開始按鈕

mMovie.setTime(0);

mMovie.draw(canvas, 0, 0);

int offsetW = (mImageWidth - mStartButton.getWidth()) / 2;

int offsetH = (mImageHeight - mStartButton.getHeight()) / 2;

canvas.drawBitmap(mStartButton, offsetW, offsetH, null);

}

}

}

}


@Override

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

super.onMeasure(widthMeasureSpec, heightMeasureSpec);

if (mMovie != null) {

// 如果是GIF圖片則重寫設定PowerImageView的大小

setMeasuredDimension(mImageWidth, mImageHeight);

}

}


/**

* 開始播放GIF動畫,播放完成返回true,未完成返回false。

*

* @param canvas

* @return 播放完成返回true,未完成返回false。

*/

private boolean playMovie(Canvas canvas) {

long now = SystemClock.uptimeMillis();

if (mMovieStart == 0) {

mMovieStart = now;

}

int ration = mMovie.ration();

if (ration == 0) {

ration = 1000;

}

int relTime = (int) ((now - mMovieStart) % ration);

mMovie.setTime(relTime);

mMovie.draw(canvas, 0, 0);

if ((now - mMovieStart) >= ration) {

mMovieStart = 0;

return true;

}

return false;

}


/**

* 通過Java反射,獲取到src指定圖片資源所對應的id。

*

* @param a

* @param context

* @param attrs

* @return 返回布局文件中指定圖片資源所對應的id,沒有指定任何圖片資源就返回0。

*/

private int getResourceId(TypedArray a, Context context, AttributeSet attrs) {

try {

Field field = TypedArray.class.getDeclaredField("mValue");

field.setAccessible(true);

TypedValue typedValueObject = (TypedValue) field.get(a);

return typedValueObject.resourceId;

} catch (Exception e) {

e.printStackTrace();

} finally {

if (a != null) {

a.recycle();

}

}

return 0;

}


}

這個類的代碼注釋已經非常詳細了,我再來簡單地解釋一下。可以看到,我們重寫了ImageView中所有的構建函數,使得 PowerImageView的用法可以和ImageView完全相同。在構造函數中,則是對所有必要的數據進行了初始化操作。首先,我們調用了 getResourceId()方法去獲取圖片資源對應的id值,在getResourceId()方法內部是通過Java的反射機制來進行獲取的。得到了圖片資源的id後,我們將它轉換成InputStream,然後傳入到Movie.decodeStream()方法中以解碼出Movie對象。如果得到的Movie對象等於null,說明這是一張普通的圖片資源,就不再進行任何特殊處理,因為父類ImageView都幫我們處理好了。如果得到的 Movie對象不等於null,則說明這是一張GIF圖片,接著就要去獲取是否允許自動播放、圖片的寬高等屬性的值。如果不允許自動播放,還要給播放按鈕 注冊點擊事件,默認是不允許自動播放的。

接下來會進入到onMeasure()方法中。在這個方法中我們進行判斷,如果這是一張GIF圖片,則需要將PowerImageView的寬高重定義,使得控制項的大小剛好可以放得下這張GIF圖片。

再往後就會進入到onDraw()方法中。在這個方法里同樣先判斷當前是一張普通的圖片還是GIF圖片,如果是普通的圖片就直接調用 super.onDraw()方法交給ImageView去處理就好了。如果是GIF圖片,則先判斷該圖是否允許自動播放,允許的話就調用 playMovie()方法去播放GIF圖片就好,不允許的話則會先在PowerImageView中繪制該GIF圖片的第一幀,並在圖片上繪制一個播放 按鈕,當用戶點擊了播放按鈕時,再去調用playMovie()方法去播放GIF圖片。

下面我們來看看playMovie()方法中是怎樣播放GIF圖片的吧。可以看到,首先會對動畫開始的時間做下記錄,然後對動畫持續的時間做下記 錄,接著使用當前的時間減去動畫開始的時間,得到的時間就是此時PowerImageView應該顯示的那一幀,然後藉助Movie對象將這一幀繪制到屏 幕上即可。之後每次調用playMovie()方法都會繪制一幀圖片,連貫起來也就形成了GIF動畫。注意,這個方法是有返回值的,如果當前時間減去動畫 開始時間大於了動畫持續時間,那就說明動畫播放完成了,返回true,否則返回false。

完成了PowerImageView的編寫,下面我們就來看一看如何使用它吧,其實非常簡單,打開或新建activity_main.xml,代碼如下所示:

<relativelayout p=""

android:layout_width="match_parent"

android:layout_height="match_parent" >


<com.example.powerimageviewtest.powerimageview p=""

android:id="@+id/image_view"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:src="@drawable/anim"

/>


可以看到,PowerImageView的用法和ImageView幾乎完全一樣,使用android:src屬性來指定一張圖片即可,這里指定的anim就是一張GIF圖片。然後我們讓PowerImageView在布局裡居中顯示MainActivity中的代碼都是自動生成的,這里就不再貼出來了。在AndroidManifest.xml中還有一點需要注意,有些4.0 以上系統的手機啟動了硬體加速功能之後會導致GIF動畫播放不出來,因此我們需要在AndroidManifest.xml中去禁用硬體加速功能,可以通過指定android:hardwareAccelerated屬性來完成,代碼如下所示:

<?xml version="1.0" encoding="utf-8"?>

<manifest p=""

package="com.example.powerimageviewtest"

android:versionCode="1"

android:versionName="1.0" >


<uses-sdk p=""

android:minSdkVersion="14"

android:targetSdkVersion="17" />


android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme"

android:hardwareAccelerated="false"

>

android:name="com.example.powerimageviewtest.MainActivity"

android:label="@string/app_name" >


現在可以來運行一下代碼了,一打開程序你就會看到GIF圖片的第一幀,點擊圖片之後就可以播放GIF動畫了。

然後我們還可以通過修改activity_main.xml中的代碼,給它加上允許自動播放的屬性,代碼如下所示:

<relativelayout p=""

xmlns:attr="http://schemas.android.com/apk/res/com.example.powerimageviewtest"

android:layout_width="match_parent"

android:layout_height="match_parent" >


<com.example.powerimageviewtest.powerimageview p=""

android:id="@+id/image_view"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:src="@drawable/anim"

attr:auto_play="true"

/>


這里使用了剛才我們自定義的屬性,通過attr:auto_play來啟用和禁用自動播放功能。現在將auto_play屬性指定成true後,PowerImageView上就不會再顯示一個播放按鈕,而是會循環地自動播放動畫。不僅如此,PowerImageView還繼承了ImageView原生的所有功能,只要指定的不是GIF圖 片,PowerImageView表現的結果就和ImageView完全一致,現在我們來放一張普通的PNG圖片,修改 activity_main.xml中的代碼,如下所示:

<relativelayout p=""

android:layout_width="match_parent"

android:layout_height="match_parent" >


<com.example.powerimageviewtest.powerimageview p=""

android:id="@+id/image_view"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:src="@drawable/myphoto"

/>


這里在src屬性裡面指定了一張名字為myphoto的PNG圖片,圖片在布局正中央顯示出來了,正是普通ImageView所具備的功能。我們還可以在PowerImageView中指定android:scaleType等屬性,用法和原生的ImageView完全一樣。

⑽ Android核心技術與實例詳解的前 言

Android是Google於2007年11月推出的一款開放的嵌入式操作系統平台,由於其完全開源的特性,Android正以空前的速度吸引著大批開發者的加入。為了幫助眾多的軟體開發人員盡快地掌握Android平台的相關知識,盡快地步入實際項目的開發中來,作者根據多年項目開發經驗編寫了此書。
本書既介紹了Android應用程序基本框架,也對Android平台的各種控制項進行了講解,還通過三個真實案例向讀者介紹了Android應用程序完整的開發步驟。通過本書讀者可以盡快地掌握在Android平台下進行開發的相關知識。
本書特點
1.內容飽滿,由淺入深
本書內容既包括Android平台下開發的基礎知識,也有項目編程的實用技巧,還提供了多個真實案例供讀者學習。本書在知識的層次上由淺入深,使讀者可以從Android的門外漢平穩、快速地步入Android開發的殿堂。
2.結構清晰、語言簡潔
本書中所有案例都是按照筆者的實際開發過程進行介紹的,同時也是按照真實項目的開發流程進行的,結構清晰,語言簡潔,便於實際練習。為了幫助讀者更好地理解相關知識點,全書穿插了很多實用技巧及溫馨提示。
3.實用超值的光碟
為了幫助讀者更好地掌握與實踐Android平台下應用程序的開發,本書附贈DVD光碟一張,其中包括案例的多媒體視頻、電子教案(PPT)和實例源代碼等。
4.實際商業案例
本書最後的三個案例都有實際商業價值,如果進行開發,價格要數萬元,筆者將其完整地展現給了讀者。
本書內容導讀
本書共分三篇,第一篇介紹了在Android平台下進行應用程序開發的基本知識,主要對Android應用程序框架及用戶界面的開發進行了介紹。章 名 主 要 內 容
第1章 Android開發起步 簡要說明Android平台的來歷及其特性,同時介紹了在Android平台下開發用戶界面的基本知識
第2章 Android應用程序的構成 對Android平台下的應用程序構成進行了介紹,同時還介紹了應用程序基本組件(如Activity等)的相關知識
第3章 Android布局管理器 初步介紹Android平台下用戶界面的開發,主要對布局管理器(如線性布局等的用法)進行了介紹
第4章 Android常用基本控制項 介紹了Android平台用戶界面中基本控制項(如按鈕和文本框等)的特性及其用法
第5章 Android常用高級控制項 繼續上一章的內容,對Android平台用戶界面中的高級控制項的相關知識和用法進行了介紹
第6章 菜單與對話框 介紹了Android平台選項菜單、上下文菜單和子菜單等的相關知識,同時還將各種對話框的用法進行了詳細的介紹
第7章 Android事件處理模型 對Android平台下用戶界面開發中常用到的事件處理模型進行了介紹
第二篇介紹如何在Android平台下進行高級應用程序的開發,包括游戲和基於OpenGL ES的3D應用程序的開發,以及與針對手機特性和網路服務程序的開發。
章 名 主 要 內 容
第8章 游戲與3D應用程序開發 向讀者介紹了在Android平台下進行游戲開發的相關知識,同時還對Android平台下3D應用程序的開發進行了初步介紹
第9章 消息廣播與服務 對Android平台下基於Intent的消息廣播機制進行了介紹,同時通過一個比較大的案例說明Service組件的用法
第10章 網路與數據處理 簡要介紹了在Android平台下進行網路編程的相關知識,同時還對Android平台下的SQLite等數據處理機制進行了介紹
第11章 手機通信功能開發 通過實例對Android平台下基於手機通信功能(如打電話、發簡訊和E-mail)的開發進行了介紹
第12章 手機特有Feature開發 介紹了如何基於Android平台對手機的特性進行開發,如改變壁紙、控制手機振動和音量等
第13章 桌面組件與多媒體數據採集 簡單介紹了如何在Android平台下開發包括快捷方式和實時文件夾等在內的桌面組件的流程,以及如何在程序中對多媒體數據(如音頻和圖像)等進行採集的步驟
第14章 感測器應用的開發 對Android平台下感測器的相關知識進行了簡單介紹,並通過案例來講解開發基於感測器的應用程序的步驟
第15章 Google服務 介紹了在應用程序中與Google提供的如Google Map等網路服務進行混搭的開發步驟
第三篇以三個比較大的案例來說明Android平台下大型應用的開發流程,通過這三個案例的講解,讀者對Android開發將會有更深層次的理解。
章 名 主 要 內 容
第16章 Android游戲開發實踐——快樂數獨 介紹了手機游戲《快樂數獨》的開發,通過該案例向讀者介紹了在Android平台下進行游戲開發的相關知識和基本流程,並對游戲開發中的編程技巧進行了介紹
第17章 Android地圖搜索應用——美食天下 介紹了地圖搜索應用《美食天下》的開發,該應用包括Web端和Android手機端,通過該案例向讀者介紹了在Android平台下開發大型應用的基本步驟
第18章 Android社交分享平台——口袋微博 介紹了社交分享平台《口袋微博》的開發,該平台包括Web端和Android手機端,通過該案例向讀者介紹了基於客戶端/伺服器模式的網路應用程序開發的基本步驟
本書面向的讀者
本書的內容十分詳細,幾乎涵蓋了Android相關的所有技術,並向讀者介紹了真實項目的開發流程,主要面向以下讀者。
Android初學者:本書詳細介紹了Android的基礎知識及各種控制項,並對Android平台下3D程序的開發進行了介紹,Android初學者通過本書可以快速、全面地掌握Android平台相關知識,快速地步入Android開發人員的行列。
有一定Java基礎且希望學習Android開發的讀者:Android平台下的開發基於Java語言,有一定Java基礎的讀者通過閱讀本書的前半部分便可快速地掌握Android的各種組件及基礎控制項,然後通過三個真實案例的學習迅速地掌握Android平台下的應用程序開發。
在職的開發人員:本書中的案例都是作者精心挑選的,其中涉及的相關知識均是作者多年來積累的編程經驗及心得體會。具有一定開發經驗的在職開發人員可以通過本書進一步鞏固Android的基礎知識,並迅速成為高級的Android開發人員。
本書作者
吳亞峰,畢業於北京郵電大學,後留學澳大利亞卧龍崗大學取得碩士學位。1998年開始從事Java的開發,有十多年的Java開發與培訓經驗。主要的研究方向為手機游戲、Java EE、搜索引擎,現為手機游戲、Java EE獨立軟體開發工程師,同時兼任Sun授權Java培訓中心認證教師。為數十家著名企業培訓了上千名軟體開發人員,曾編寫過《Java SE 6.0編程指南》、《30天學通Java Web項目案例開發》、《Java程序員職場全攻略:從小工到專家》、《Android 2.0游戲開發實戰寶典》等暢銷技術書籍。2008年開始關注Android平台下的應用開發,並開發出一系列優秀的Android應用程序。
索依娜,畢業於燕山大學,從業於計算機軟體領域9年,在軟體開發和計算機教學方面有著豐富的經驗。工作期間曾參與省級科研項目2項、市級科研項目1項、發表論文多篇;同時為多個廠礦,企事業單位設計、開發了信息管理系統;從2008年開始關注Android平台下應用的開發,參與開發了多款手機娛樂應用。
另外,昊燃、方振宇、陳冠佐、傅奎、陳勤、梁洋洋、畢夢飛、陳慶、柴相花、陳非凡、陳華、陳嵩、承卓也參與了本書的編寫。在此表示感謝!
本書在編寫過程中得到了唐山百納科技有限公司Java培訓中心的大力支持,同時 於庭龍、魏鵬飛、王海峰及作者的家人為本書的編寫提供了很多幫助,在此表示衷心感謝!
由於編者的水平和學識有限,且書中涉及的知識較多,難免有疏漏之處,敬請廣大讀者朋友批評指正。
編者

熱點內容
我配置很高了ae為什麼卡 發布:2025-05-17 14:54:50 瀏覽:167
python數據分析實戰pdf 發布:2025-05-17 14:49:42 瀏覽:950
海瀾之家廣告腳本 發布:2025-05-17 13:56:06 瀏覽:32
手文件夾恢復 發布:2025-05-17 13:53:32 瀏覽:995
linux怎麼看進程 發布:2025-05-17 13:53:30 瀏覽:305
thinkphp欄位緩存 發布:2025-05-17 13:52:01 瀏覽:577
山靈app安卓版如何設置 發布:2025-05-17 13:51:49 瀏覽:390
帆布壓縮袋 發布:2025-05-17 13:26:27 瀏覽:462
c語言16進製表示方法 發布:2025-05-17 13:11:25 瀏覽:484
ftp單位 發布:2025-05-17 13:10:03 瀏覽:146