瘋狂Android講義(第3版 附光盤)

瘋狂Android講義(第3版 附光盤) 下載 mobi epub pdf 電子書 2025

李剛 著
圖書標籤:
  • Android
  • Android開發
  • 移動開發
  • 編程
  • 計算機
  • 技術
  • 書籍
  • 瘋狂講義
  • 第3版
  • 光盤
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 電子工業齣版社
ISBN:9787121259586
版次:3
商品編碼:11689014
品牌:Broadview
包裝:平裝
開本:16開
齣版時間:2017-01-01
用紙:膠版紙
頁數:780
正文語種:中文
附件:光盤
附件數量:1

具體描述

産品特色

編輯推薦

適讀人群 :Android APP開發人員

自麵市以來重印30+次,發行量超16萬冊,並屢獲殊榮!

開捲數據顯示位列Android圖書年度排行榜前三

曾獲評CSDN年度具有技術影響力十大原創圖書
多次榮獲年度暢銷圖書及長銷圖書大奬

被工信齣版集團授予年度“優秀齣版物”奬

內容簡介

  移動互聯網是當今世界發展快、市場潛力大、前景誘人的一項業務,而Android則是移動互聯網上市場占有率很高的平颱。
  《瘋狂Android講義(第3版 附光盤》是《瘋狂Android講義》的第3版,采用瞭Google推薦的IDE:AndroidStudio作為開發工具。《瘋狂Android講義(第3版 附光盤》全麵介紹瞭Android應用開發的相關知識,全書內容覆蓋瞭Android用戶界麵編程、Android四大組件、Android資源訪問、圖形/圖像處理、事件處理機製、Android輸入/輸齣處理、音頻/視頻多媒體應用開發、OpenGL與3D應用開發、網絡通信編程、Android平颱的WebService、傳感器應用開發、GPS應用開發、整閤第三方Map服務等。
  《瘋狂Android講義(第3版 附光盤》並不局限於介紹Android編程的各種理論知識,而是從“項目驅動”的角度來講授理論,全書一共包括近百個實例,這些示範性的實例既可幫助讀者更好地理解各知識點在實際開發中的應用,也可供讀者在實際開發時作為參考、拿來就用。《瘋狂Android講義(第3版 附光盤》最後還提供瞭兩個實用的案例:閤金彈頭和電子拍賣係統Android客戶端,具有極高的參考價值。《瘋狂Android講義(第3版 附光盤》提供瞭配套的答疑網站,如果讀者在閱讀《瘋狂Android講義(第3版 附光盤》時遇到瞭技術問題,可以登錄瘋狂Java聯盟發帖,筆者將會及時予以解答。

作者簡介

   李剛,十餘年軟件開發從業經驗,瘋狂軟件教育中心教學總監。瘋狂Java實訓營創始人,瘋狂Java體係原創圖書作者。廣東技術師範學院計算機科學係兼職副教授,51CTO專傢門診特邀嘉賓。培訓的學生已在華為、IBM、阿裏軟件、網易、電信盈科等名企就職。國內知名高端IT技術圖書作傢,已齣版《瘋狂Java講義》《瘋狂Android講義》《輕量級JavaEE企業應用實戰》《瘋狂iOS講義(基礎篇)(提高篇)》《瘋狂前端開發講義》《瘋狂HTML5/CSS3/JavaScript講義》《瘋狂XML講義》《經典JavaEE企業應用實戰》《Struts2。x專業指南》等著作。其中瘋狂Java體係圖書均已沉澱多年,贏得極高的市場認同,多次重印,多部著作印刷數量超過10萬冊,並被多所“985”“211”院校選作教材,部分圖書已被翻譯成繁體中文版,授權到中國颱灣地區。


內頁插圖

目錄

第1章 Android應用和開發環境 1
1.1 Android的發展和曆史 2
1.2 搭建Android開發環境 5
1.3 Android常用開發工具的用法 16
1.4 開始第一個Android應用 21
1.5 Android應用結構分析 25
1.5.1 創建一個Android應用 25
1.5.2 自動生成的R.java 28
1.5.3 res目錄說明 29
1.5.4 Android應用的清單文件:AndroidManifest.xml 30
1.5.5 應用程序權限說明 31
1.6 Android應用的基本組件介紹 32
1.6.1 Activity和View 32
1.6.2 Service 33
1.6.3 BroadcastReceiver 33
1.6.4 ContentProvider 33
1.6.5 Intent和IntentFilter 34
1.7 簽名Android應用程序 35
1.7.1 使用Android Studio對Android應用簽名 35
1.7.2 使用命令對APK包簽名 36
1.8 本章小結 37


第2章 Android應用的界麵編程 38
2.1 界麵編程與視圖(View)組件 39
2.1.1 視圖組件與容器組件 39
2.1.2 使用XML布局文件控製UI界麵 44
2.1.3 在代碼中控製UI界麵 44
實例:用編程的方式開發UI界麵 44
2.1.4 使用XML布局文件和Java代碼混閤控製UI界麵 46
實例:簡單圖片瀏覽器 46
2.1.5 開發自定義View 47
實例:跟隨手指的小球 48
2.2 第1組UI組件:布局管理器 49
2.2.1 綫性布局 50
2.2.2 錶格布局 52
實例:豐富的錶格布局 53
2.2.3 幀布局 55
實例:霓虹燈效果 57
2.2.4 相對布局 58
實例:梅花布局效果 59
2.2.5 網格布局 60
實例:計算器界麵 61
2.2.6 絕對布局 62
實例:登錄界麵 63
2.3 第2組UI組件:TextView及其子類 64
2.3.1 文本框(TextView)與編輯框(EditText)的功能和用法 64
實例:不同顔色、字體、帶鏈接的文本 67
實例:圓角邊框、漸變背景的TextView 68
2.3.2 EditText的功能與用法 70
實例:用戶友好的輸入界麵 70
2.3.3 按鈕(Button)組件的功能與用法 72
實例:按鈕、圓形按鈕、帶文字的圖片按鈕 72
2.3.4 使用9Patch圖片作為背景 73
2.3.5 單選鈕(RadioButton)和復選框(CheckBox)的功能與用法 74
實例:利用單選鈕、復選框獲取用戶信息 75
2.3.6 狀態開關按鈕(ToggleButton)和開關(Switch)的功能與用法 77
實例:動態控製布局 77
2.3.7 時鍾(AnalogClock和TextClock)的功能與用法 79
實例:手機裏的“勞力士” 79
2.3.8 計時器(Chronometer) 80
2.4 第3組UI組件:ImageView及其子類 81
實例:圖片瀏覽器 83
實例:強大的圖片按鈕 86
實例:使用QuickContactBadge關聯聯係人 87
2.5 第4組UI組件:AdapterView及子類 88
2.6 第5組UI組件:ProgressBar及其子類 112
2.6.1 進度條(ProgressBar)的功能與用法 113
實例:顯示在標題上的進度條 116
2.6.2 拖動條(SeekBar)的功能與用法 117
2.6.3 星級評分條(RatingBar)的功能與用法 118
2.7 第6組UI組件:ViewAnimator及其子類 120
實例:仿Android係統Launcher界麵 120
實例:支持動畫的圖片瀏覽器 125
實例:自動播放的圖片庫 129
2.8 各種雜項組件 131
實例:帶圖片的消息提示 131
實例:選擇您的生日 133
實例:用戶選擇日期、時間 135
實例:選擇您意嚮的價格範圍 137
實例:搜索 139
實例:通話記錄界麵 141
實例:可垂直和水平滾動的視圖 144
實例:加薪通知 145
2.9 第7組UI組件:對話框 146
實例:多選列錶項對話框 150
實例:自定義列錶項對話框 151
實例:自定義View對話框 152
2.10 菜單 160
2.10.1 選項菜單和子菜單(SubMenu) 161
2.10.2 使用監聽器來監聽菜單事件 164
2.10.3 創建多選菜單項和單選菜單項 164
2.10.4 設置與菜單項關聯的Activity 165
2.10.5 上下文菜單 166
2.10.6 使用XML文件定義菜單 167
實例:使用XML資源文件定義菜單 168
2.10.7 使用PopupMenu創建彈齣式菜單 171
2.11 使用活動條(ActionBar) 173
2.11.1 啓用ActionBar 173
2.11.2 使用ActionBar顯示選項菜單項 174
2.11.3 啓用程序圖標導航 176
2.11.4 添加Action View 177
實例:“標題”上的時鍾 177
2.11.5 使用ActionBar實現Tab導航 178
2.12 本章小結 187


第3章 Android的事件處理 188
3.1 Android事件處理概述 189
3.2 基於監聽的事件處理 189
3.2.1 監聽的處理模型 189
3.2.2 事件和事件監聽器 192
實例:控製飛機移動 192
3.2.3 內部類作為事件監聽器類 195
3.2.4 外部類作為事件監聽器類 195
3.2.5 Activity本身作為事件監聽器類 197
3.2.6 匿名內部類作為事件監聽器類 197
3.2.7 直接綁定到標簽 198
3.3 基於迴調的事件處理 199
3.3.1 迴調機製與監聽機製 199
3.3.2 基於迴調的事件傳播 201
3.3.3 重寫onTouchEvent方法響應觸摸屏事件 202
實例:通過迴調實現跟隨手指的小球 203
3.4 響應係統設置的事件 204
3.5 Handler消息傳遞機製 208
3.6 異步任務(AsyncTask) 213
實例:使用異步任務執行下載 214
3.7 本章小結 217


第4章 深入理解Activity與Fragment 218
4.1 建立、配置和使用Activity 219
4.1.1 Activity 219
4.1.2 配置Activity 227
4.1.3 啓動、關閉Activity 229
4.1.4 使用Bundle在Activity之間交換數據 231
實例:用第二個Activity處理注冊信息 232
4.1.5 啓動其他Activity並返迴結果 235
實例:用第二個Activity讓用戶選擇信息 235
4.2 Activity的迴調機製 239
4.3 Activity的生命周期與加載模式 240
4.4 Fragment詳解 249
4.4.1 Fragment概述及其設計初衷 249
4.4.2 創建Fragment 250
實例:開發顯示圖書詳情的Fragment 251
實例:創建ListFragment 253
4.4.3 Fragment與Activity通信 254
4.4.4 Fragment管理與Fragment事務 256
實例:開發兼顧屏幕分辨率的應用 257
4.5 Fragment的生命周期 260
4.6 本章小結 264


第5章 使用Intent和IntentFilter進行通信 265
5.1 Intent對象簡述 266
5.2 Intent的屬性及intent-filter配置 267
5.2.1 Component屬性 267
5.2.2 Action、Category屬性與intent-filter配置 269
5.2.3 指定Action、Category調用係統Activity 273
實例:查看並獲取聯係人電話 274
實例:返迴係統Home桌麵 277
5.2.4 Data、Type屬性與intent-filter配置 278
實例:使用Action、Data屬性啓動係統Activity 284
5.2.5 Extra屬性 286
5.2.6 Flag屬性 286
5.3 使用Intent創建Tab頁 287
5.4 本章小結 288


第6章 Android應用的資源 289
6.1 應用資源概述 290
6.1.1 資源的類型以及存儲方式 290
6.1.2 使用資源 291
6.2 字符串、顔色、尺寸資源 293
6.2.1 顔色值的定義 293
6.2.2 定義字符串、顔色、尺寸資源文件 294
6.2.3 使用字符串、顔色、尺寸資源 295
6.3 數組(Array)資源 298
6.4 使用Drawable資源 300
實例:高亮顯示正在輸入的文本框 301
實例:定製拖動條的外觀 303
實例:橢圓形、漸變背景的文本框 305
實例:徐徐展開的風景 306
6.5 屬性動畫(Property Animation)資源 310
實例:不斷漸變的背景色 311
6.6 使用原始XML資源 312
6.6.1 定義原始XML資源 312
6.6.2 使用原始XML文件 313
6.7 使用布局(Layout)資源 314
6.8 使用菜單(Menu)資源 315
6.9 樣式(Style)和主題(Theme)資源 315
6.10 屬性(Attribute)資源 318
6.11 使用原始資源 321
6.12 國際化和資源自適應 323
6.13 自適應不同屏幕的資源 329
6.14 本章小結 332


第7章 圖形與圖像處理 333
7.1 使用簡單圖片 334
7.1.1 使用Drawable對象 334
7.1.2 Bitmap和BitmapFactory 334
7.2 繪圖 337
實例:采用雙緩衝實現畫圖闆 344
實例:彈球遊戲 348
7.3 圖形特效處理 351
7.3.1 使用Matrix控製變換 351
實例:移動遊戲背景 353
7.3.2 使用drawBitmapMesh扭麯圖像 355
實例:可揉動的圖片 356
7.3.3 使用Shader填充圖形 358
7.4 逐幀(Frame)動畫 360
實例:在指定點爆炸 362
7.5 補間(Tween)動畫 364
實例:蝴蝶飛舞 368
7.6 屬性動畫 373
實例:大珠小珠落玉盤 379
7.7 使用SurfaceView實現動畫 383
實例:基於SurfaceView開發示波器 386
7.8 本章小結 388

第8章 Android數據存儲與IO 389
8.1 使用SharedPreferences 390
實例:記錄應用程序的使用次數 393
8.2 File存儲 393
實例:SD卡文件瀏覽器 399
8.3 SQLite數據庫 402
實例:英文生詞本 412
8.4 手勢(Gesture) 415
實例:通過手勢縮放圖片 417
實例:通過手勢實現翻頁效果 419
8.5 自動朗讀(TTS) 427
8.6 本章小結 429

第9章 使用ContentProvider實現數據共享 431
9.1 數據共享標準:ContentProvider 432
9.2 開發ContentProvider 435
9.3 操作係統的ContentProvider 446
9.4 監聽ContentProvider的數據改變 455
9.5 本章小結 457

第10章 Service與BroadcastReceiver 458
10.1 Service簡介 459
10.2 電話管理器(TelephonyManager) 470
實例:獲取網絡和SIM卡信息 470
實例:監聽手機來電 472
10.3 短信管理器(SmsManager) 473
實例:發送短信 473
實例:短信群發 474
10.4 音頻管理器(AudioManager) 477
10.4.1 AudioManager簡介 477
實例:使用AudioManager控製手機音頻 477
10.5 振動器(Vibrator) 479
10.5.1 Vibrator簡介 479
10.5.2 使用Vibrator控製手機振動 479
10.6 手機鬧鍾服務(AlarmManager) 480
10.6.1 AlarmManager簡介 480
10.6.2 設置鬧鍾 481
實例:定時更換壁紙 483
10.7 接收廣播消息 485
實例:基於Service的音樂播放器 490
10.8 接收係統廣播消息 495
實例:開機自動運行的Service 495
實例:短信提醒 496
實例:手機電量提示 497
10.9 本章小結 498

第11章 多媒體應用開發 499
11.1 音頻和視頻的播放 500
11.1.1 使用MediaPlayer播放音頻 500
11.1.2 音樂特效控製 503
11.1.3 使用SoundPool播放音效 511
11.1.4 使用VideoView播放視頻 513
11.1.5 使用MediaPlayer和SurfaceView播放視頻 515
11.2 使用MediaRecorder錄製音頻 518
實例:錄製音樂 519
11.3 控製攝像頭拍照 521
實例:錄製生活短片 530

第12章 OpenGL與3D開發 537
12.1 3D圖形與3D開發的基本知識 538
12.2 OpenGL和OpenGL ES簡介 539
12.3 繪製2D圖形 540
12.3.1 在Android應用中使用OpenGL ES 540
12.3.2 繪製平麵上的多邊形 542
12.3.3 鏇轉 548
12.4 繪製3D圖形 550
12.4.1 構建3D圖形 550
12.4.2 應用紋理貼圖 554
12.5 本章小結 559

第13章 Android網絡應用 560
13.1 基於TCP協議的網絡通信 561
13.2 使用URL訪問網絡資源 573
13.3 使用HTTP訪問網絡 580
13.4 Android增強的WebView 590
實例:迷你瀏覽器 590
13.5 使用Web Service進行網絡編程 595
13.6 本章小結 601

第14章 管理Android手機桌麵 602
14.1 管理手機桌麵 603
14.2 改變手機壁紙 604
實例:蜿蜒壁紙 605
14.3 通過程序添加快捷方式 609
14.4 管理桌麵控件 611
實例:液晶時鍾 614
14.5 本章小結 620

第15章 傳感器應用開發 621
15.1 利用Android的傳感器 622
15.2 Android的常用傳感器 624
15.2.1 方嚮傳感器 624
15.2.2 陀螺儀傳感器 625
15.2.3 磁場傳感器 625
15.2.4 重力傳感器 625
15.2.5 綫性加速度傳感器 626
15.2.6 溫度傳感器 626
15.2.7 光傳感器 626
15.2.8 壓力傳感器 626
15.2.9 心率傳感器 629
15.3 傳感器應用案例 630
實例:指南針 630
實例:水平儀 631
15.4 本章小結 636

第16章 GPS應用開發 637
16.1 支持GPS的核心API 638
16.2 獲取LocationProvider 640
16.3 獲取定位信息 642
16.3.1 通過模擬器發送GPS信息 642
16.3.2 獲取定位數據 642
16.4 臨近警告 644
16.5 本章小結 646

第17章 整閤高德Map服務 647

第18章 閤金彈頭 670

第19章 電子拍賣係統 711

精彩書摘


前言/序言

  移動互聯網熱潮在全世界引起瞭巨大反響,移動互聯網正在改變著傳統互聯網的格局,全世界的IT公司爭相將業務重心嚮移動互聯網轉型,移動互聯網業務也成為業內最大的利潤增長點。
  Android係統就是一個開放式的移動互聯網操作係統,Android已經成為應用最廣的移動互聯網平颱,對於Java語言而言,Android係統給瞭Java一個新的機會。在過去的歲月中,Java語言作為服務器端編程語言,已經取得瞭極大的成功,Java EE平颱發展得非常成熟,而且一直是電信、移動、銀行、證券、電子商務應用的首選平颱、不爭的王者。但在客戶端應用開發方麵,Java語言一直錶現不佳,雖然Java既有AWT/Swing界麵開發庫,也有SWT/JFace界麵開發庫,但對於客戶端應用開發人員而言,大多不願意選擇Java語言。Android係統的齣現改變瞭這種局麵,Android是一個非常優秀的手機、平闆電腦操作係統,正不斷蠶食傳統的桌麵操作係統,而Android平颱應用的開發語言就是Java,這意味著Java語言將可以在客戶端應用開發上大展拳腳。
  Android已經成為應用最廣的手機、平闆電腦操作係統,采用Java語言開發的Android應用也越來越多。不過需要指齣的是,運行Android平颱的硬件隻是手機、平颱電腦等便攜式設備,這些設備的計算能力、數據存儲能力都是有限的,因此不太可能在Android平颱上部署大型企業級應用,因此Android應用可能以純粹客戶端應用的角色齣現,然後通過網絡與傳統大型應用交互,充當大型企業應用的客戶端,比如現在已經齣現的淘寶Android客戶端、趕集網Android客戶端,它們都是這種發展趨勢下的産物。
  對於Java開發者來說,以前主要在Java EE平颱上從事服務器端應用開發,但在移動互聯網的趨勢下,Java開發者必然麵臨著為這些應用開發客戶端的需求。對於Java開發者來說,Android應用開發既是一個挑戰,也是一個機遇—挑戰是:掌握Android應用開發需要重新投入學習成本;機遇是:掌握Android開發之後將可讓職業生涯達到一個新的高度,而且移動互聯網與Android必然帶來更多的就業機會與創業機會,這都值得當下的開發者好好把握。
  本書是《瘋狂Android講義》的第3版,本書真正基於最新的Android 5,而且本書采用瞭Google推薦的IDE:Android Studio作為開發工具。書中每個案例、每個截圖都是基於Android 5的。除此之外,本書詳細介紹瞭Android 5新增的Material設計包含的elevation、translationZ和實時陰影等;還介紹瞭Android 5新增的Camera v2、屏幕捕捉、新型傳感器等相關內容。
  衷心感謝
  瘋狂Java體係圖書能走到今天,廣大讀者的認同與支持是筆者堅持創作的最大動力。廣大讀者的認同,已讓瘋狂Java體係圖書的銷量穩占國內第一。而《瘋狂Android講義》在所有Android圖書銷量中穩居榜首,在京東網搜索“android”關鍵字相關的圖書,可以看到《瘋狂Android講義》實際排在第1位(第1位並非介紹Android開發的圖書)。
  誠摯地感謝廣大讀者的支持與愛護:你們的支持讓瘋狂Java圖書沒有放棄,你們的激勵讓瘋狂Java圖書茁壯成長,你們的反饋讓瘋狂Java圖書日臻完善;同時也感謝博文視點張月萍等編輯、瘋狂軟件教育中心技術團隊一貫的支持。
  本書有什麼特點
  本書是一本介紹Android應用開發的實用圖書,全麵介紹瞭Android 5平颱上應用開發各方麵的知識。與市麵上有些介紹Android編程的圖書不同,本書並沒有花太多篇幅介紹Android的發展曆史(因為這些內容到處都是),完全沒有介紹Android市場(因為它隻是一個交易網站,與Android開發無關,但有些圖書甚至用整整一章來介紹它),也沒有介紹JDK安裝、環境變量配置等內容—筆者假設讀者已經具有一定的Java功底。換句話來說,如果你對JDK安裝、Java基本語法還不熟,本書並不適閤你,建議先閱讀《瘋狂Java講義》。
  本書隻用瞭一章來介紹如何搭建Android開發環境、Android應用結構,當然也簡要說明瞭Android的發展曆史。可能依然會有人覺得本書篇幅很多,這是由於本書覆蓋瞭Android開發絕大部分知識,而且很多知識不僅介紹瞭相應的理論,並通過相應的實例程序給齣瞭示範。
  需要說明的是,本書隻是一本介紹Android實際開發的圖書,而不是一本關於所謂“思想”的書,不要指望學習本書能提高你所謂的“Android思想”,所以奉勸那些希望提高編程思想的讀者不要閱讀本書。
  本書更不是一本看完之後可以“吹噓、炫耀”的書—因為本書並沒有堆砌一堆“深奧”的新名詞、一堆“高深”的思想,本書保持瞭“瘋狂Java體係”的一貫風格:操作步驟詳細,編程思路清晰,語言平實。隻要讀者有基本的Java基礎,閱讀本書不會有任何問題,看完本書不會讓你覺得自己突然“高深”瞭,“高深”到自己都理解不瞭。
  認真看完本書,把書中所有示例都練習一遍,本書帶給你的隻是9個字:“看得懂、學得會、做得齣”。本書不能讓你認識一堆新名詞,隻會讓你學會實際的Android應用開發。
  如果讀者有非常紮實的Java基本功、良好的英文閱讀能力,而且對圖形用戶界麵編程也有豐富的經驗,不管是AWT/Swing編程的經驗,還是SWT編程的經驗,抑或是Windows界麵編程的經驗都行,那麼沒有多大必要購買本書,隻要花幾天時間快速瀏覽本書即可動手編程瞭。如果遇到某個類、某個功能不太確定,直接查閱Android Dev Guide和API參考文檔即可。
  不管怎樣,隻要讀者在閱讀本書時遇到知識上的問題,都可以登錄瘋狂Java聯盟與廣大Java學習者交流,筆者也會通過該平颱與大傢一起交流、學習。
  本書還具有如下幾個特點。
  1.知識全麵,覆蓋麵廣
  本書深入闡述瞭Android應用開發的Activity、Service、BroadcastReceiver與ContentProvider四大組件,並詳細介紹瞭Android全部圖形界麵組件的功能和用法,Android各種資源的管理與用法,Android圖形/圖像處理,事件處理,Android輸入/輸齣處理,音頻/視頻等多媒體開發,OpenGL-ES開發,網絡通信,傳感器和GPS開發等內容,全麵覆蓋瞭Android官方指南,在某些內容上更加具體、深入。
  2.內容實際,實用性強
  本書並不局限於枯燥的理論介紹,而是采用瞭“項目驅動”的方式來講授知識點,全書有近百個實例,幾乎每個知識點都可找到對應的參考實例。本書最後還提供瞭“閤金彈頭”“電子拍賣係統Android客戶端”兩個應用,具有極高的參考價值。
  3.講解詳細,上手容易
  本書保持瞭“瘋狂Java體係”的一貫風格:操作步驟詳細,編程思路清晰,語言平實。隻要讀者有一定的Java編程基礎,閱讀本書將可以很輕鬆地上手Android應用開發;學習完本書最後的兩個案例後,讀者即可完全滿足企業中實際Android應用開發的要求。
  李剛



《Android開發精粹:從入門到精通》 第一章:Android生態概覽與開發環境搭建 本章將帶領讀者深入瞭解Android操作係統及其發展曆程,從最初的Android 1.0到最新的Android版本,我們會探討其核心架構、四大組件(Activity、Service、Broadcast Receiver、Content Provider)的職責與協作方式,以及Android特有的內存管理機製、進程模型和綫程安全問題。瞭解這些基礎概念對於構建穩定高效的應用至關重要。 隨後,我們將詳細指導讀者如何搭建Android開發環境。這包括JDK(Java Development Kit)的安裝與配置,Android Studio的下載與安裝,以及Android SDK(Software Development Kit)的各個組件(Platform Tools、Build-Tools、Emulator等)的下載與管理。我們還會介紹如何創建第一個Android虛擬設備(AVD),並對其進行個性化設置,以便在開發過程中進行充分的模擬測試。此外,還將講解Android Studio的常用功能,如代碼編輯器、布局編輯器、調試器、性能分析工具等,幫助讀者快速熟悉開發工具的使用。 第二章:Android應用基礎:XML布局與UI控件 本章將聚焦於Android應用的用戶界麵(UI)開發,重點講解XML布局文件的編寫規範和常用布局容器的使用。我們將深入探討LinearLayout、RelativeLayout、FrameLayout、ConstraintLayout等主流布局方式,分析它們各自的優缺點以及適用場景。讀者將學習如何通過XML屬性精確控製控件的位置、大小、對齊方式和間距,從而實現各種復雜而美觀的界麵設計。 接著,我們將詳細介紹Android提供的豐富UI控件。這包括文本相關的TextView、EditText、Button,圖像相關的ImageView,列錶相關的ListView、GridView、RecyclerView,以及用於交互的CheckBox、RadioButton、Spinner、SeekBar等。對於每個控件,我們都會深入講解其常用的屬性、事件監聽機製以及如何在XML和Java/Kotlin代碼中進行創建和操作。此外,還將介紹一些更高級的UI控件,如Toolbar、NavigationView、ViewPager,以及如何使用Drawable資源和Style/Theme來美化UI。 第三章:Activity生命周期與導航 Activity是Android應用中最基本的UI展示單元。本章將深入剖析Activity的完整生命周期,從onCreate()到onDestroy(),詳細解釋每個迴調方法的執行時機和作用。我們將重點講解Activity在不同狀態(啓動、可見、不可見、銷毀)下的行為,以及如何通過重寫生命周期方法來管理應用程序的狀態和資源。這包括如何保存和恢復Activity的狀態,以及如何在Activity被銷毀時釋放占用的內存和資源,避免內存泄漏。 理解Activity的導航機製是構建多屏應用的關鍵。本章將詳細介紹Intent的工作原理,包括顯式Intent和隱式Intent的使用。我們將講解如何使用Intent在Activity之間傳遞數據,以及如何通過Intent啓動其他應用程序的組件。此外,還將介紹Activity棧的概念,以及如何通過Flags來控製Activity的啓動模式(standard、singleTop、singleTask、singleInstance),從而實現復雜的頁麵跳轉邏輯和返迴導航。 第四章:Service與後颱任務處理 Service是Android係統中用於在後颱執行長時間運行操作或提供其他應用的應用程序服務的組件。本章將深入講解Service的創建、啓動和生命周期。我們將區分Foreground Service和Background Service,並解釋它們在用戶體驗和係統資源管理方麵的差異。讀者將學習如何通過startService()、bindService()等方法與Service進行交互,以及如何通過AIDL(Android Interface Definition Language)實現跨進程通信,讓Service為其他應用提供服務。 在實際應用開發中,後颱任務的處理至關重要。本章還將介紹Android提供的多種後颱任務處理機製,包括AsyncTask(已不推薦,但瞭解其原理有益)、Handler、Thread以及更現代的WorkManager。我們將詳細講解它們的使用場景、優缺點,以及如何利用它們來實現定時任務、延時任務、後颱數據同步等功能,同時兼顧電池續航和係統性能。 第五章:BroadcastReceiver與係統廣播 BroadcastReceiver是Android係統中用於接收和響應係統廣播或應用程序自定義廣播的組件。本章將詳細講解BroadcastReceiver的創建、注冊和生命周期。我們將介紹如何接收各種係統廣播,例如網絡狀態變化、電池電量變化、開機啓動等,並根據這些廣播執行相應的操作。 除瞭係統廣播,我們還將重點講解如何創建和發送應用程序自定義的廣播。這包括使用sendBroadcast()、sendOrderedBroadcast()等方法,以及如何使用BroadcastReceiver來解耦應用程序中的不同組件,實現組件之間的鬆耦閤通信。我們還會探討BroadcastReceiver的注冊方式(靜態注冊和動態注冊)及其優缺點,並提醒讀者注意在必要時注銷廣播接收器,避免內存泄漏。 第六章:ContentProvider與數據共享 ContentProvider是Android係統中用於在不同應用程序之間共享數據的組件。本章將深入講解ContentProvider的設計原理和實現方式。我們將詳細介紹ContentProvider的CRUD(Create, Read, Update, Delete)操作,以及如何通過ContentResolver來訪問和操作其他應用程序的ContentProvider。 讀者將學習如何創建自己的ContentProvider來暴露應用程序的數據,以及如何定義URI(Uniform Resource Identifier)來標識和訪問特定的數據。我們將重點講解ContentProvider的安全性,包括權限的設置和檢查,確保數據隻能被授權的應用訪問。此外,還將介紹Android係統提供的常用ContentProvider,例如Contacts Provider、MediaStore Provider等,以及如何利用它們來集成係統級的數據資源。 第七章:數據存儲方案詳解 本章將全麵介紹Android平颱上各種數據存儲方案,幫助讀者根據實際需求選擇最閤適的技術。我們將詳細講解SharedPreferences的使用,適用於存儲少量簡單的鍵值對數據,例如用戶設置、登錄狀態等。 接著,我們將深入介紹SQLite數據庫在Android中的應用。讀者將學習如何使用SQLiteOpenHelper來創建和管理數據庫,以及如何執行SQL查詢語句進行數據的增刪改查。我們將講解數據庫的升級策略和性能優化技巧。 此外,還將介紹更現代的數據存儲方案,如Room Persistence Library。Room是Android Jetpack的一部分,它在SQLite的基礎上提供瞭更高級的抽象,簡化瞭數據庫操作,提高瞭代碼的可讀性和可維護性。我們將詳細講解Room的Entity、DAO(Data Access Object)和Database的定義,以及如何進行數據庫遷移。 最後,我們還會簡要介紹文件存儲,包括內部存儲和外部存儲,以及如何在應用程序中進行文件的讀寫操作。 第八章:網絡通信與API交互 在當今移動應用開發中,網絡通信幾乎是必不可少的。本章將係統講解Android應用的網絡通信技術。我們將詳細介紹HTTP協議的基礎知識,以及如何在Android中進行HTTP請求。 我們將重點介紹常用的網絡請求庫,包括Volley和Retrofit。Volley是Google官方提供的一個強大的網絡庫,它簡化瞭HTTP請求的發送和響應的處理。Retrofit是Square公司開發的一款非常流行的RESTful網絡客戶端,它通過注解的方式將HTTP API轉換為Java接口,使得網絡請求更加簡潔高效。我們將通過實例演示如何使用這兩個庫進行GET、POST、PUT、DELETE等請求,以及如何處理JSON數據。 此外,還將介紹JSON解析庫,如Gson和Jackson,以及如何進行XML解析。我們還將講解如何處理網絡異常、設置超時時間、以及實現網絡請求的緩存機製。同時,還會涉及Socket編程的基礎知識,以便讀者在需要時能夠進行更底層的網絡通信。 第九章:多綫程與並發編程 在Android開發中,為瞭保證UI的流暢性和應用的響應速度,必須閤理地使用多綫程。本章將深入講解Android中的多綫程編程。我們將迴顧Java中的綫程創建方式(繼承Thread類和實現Runnable接口),並重點介紹Android特有的綫程管理機製。 我們將詳細講解Handler、Message、MessageQueue和Looper的工作原理,以及如何利用它們在子綫程中執行耗時操作,並將結果安全地傳遞迴主綫程進行UI更新。我們將探討Thread-safe(綫程安全)的概念,以及如何在多綫程環境下避免競態條件和死鎖等問題。 此外,還將介紹更高級的並發工具,如ExecutorService、ThreadPoolExecutor等,以及如何使用Future和Callable進行異步編程。我們將強調在Android中進行綫程安全操作的重要性,並提供一些實用的代碼示例和最佳實踐。 第十章:Fragment的使用與管理 Fragment是Android 3.0(API Level 11)引入的一種UI組件,它允許開發者將UI分解成可重用的小塊,並在Activity中動態地組閤和管理這些UI塊。本章將深入講解Fragment的創建、生命周期以及與Activity的交互。 我們將詳細介紹Fragment的創建方式(直接實例化和通過FragmentTransaction添加/替換),以及Fragment的生命周期迴調方法。我們將重點講解Fragment與Activity之間的通信機製,包括通過接口迴調、使用ViewModel等方式。 本章還將深入探討Fragment的導航模式,例如使用NavController(Android Jetpack Navigation組件)來管理Fragment之間的跳轉和迴退棧。我們將講解如何在支持多麵闆的設備上(如平闆電腦)使用Fragment來實現自適應布局,以及如何處理Fragment的重疊和可見性問題。 第十一章:Material Design與UI美化 Material Design是Google提齣的一套麵嚮移動端和Web應用的視覺設計語言和交互指南。本章將帶領讀者學習如何將Material Design的理念和組件應用到Android應用中。 我們將介紹Material Design的核心原則,包括深度、動作、統一的視覺語言等。隨後,我們將重點講解Android Design Support Library(現已集成到AndroidX)提供的各種Material Design組件,例如CoordinatorLayout、AppBarLayout(App Bar)、FloatingActionButton、Snackbar、TabLayout、NavigationView、CardView等。 讀者將學習如何使用這些組件來創建具有現代感和良好用戶體驗的界麵。我們將通過實例演示如何實現滑動返迴、下拉刷新、底部導航等常用交互效果。此外,還將介紹如何自定義Material Design組件的樣式和主題,以及如何利用Drawable資源和動畫來進一步提升應用的視覺吸引力。 第十二章:圖像加載與顯示優化 在Android應用中,圖像的加載和顯示是影響性能的重要因素之一。本章將深入講解圖像加載的各種技術和優化策略。 我們將介紹Android提供的ImageView和Bitmap類,以及如何直接加載和顯示圖像。然而,對於大量的圖像或高清圖像,直接加載可能會導緻OOM(OutOfMemoryError)。因此,我們將重點介紹第三方圖像加載庫,如Glide和Picasso。這些庫提供瞭強大的緩存機製、異步加載、圖片縮放、裁剪等功能,極大地簡化瞭圖像加載和優化工作。 我們將詳細講解Glide和Picasso的API使用,包括如何加載網絡圖片、本地圖片,如何設置占位符、錯誤圖,以及如何實現圖片縮放和加載監聽。此外,還將介紹如何通過內存緩存、磁盤緩存等方式來優化圖像加載性能,以及如何處理圖片格式(JPEG、PNG、WebP)和內存管理。 第十三章:動畫與轉場效果 動畫能夠極大地提升用戶體驗,使應用更加生動有趣。本章將全麵介紹Android平颱的動畫技術。 我們將從基礎的View動畫(Tweened Animation)開始,講解Alpha、Scale、Translate、Rotate等動畫效果的實現。隨後,我們將深入講解屬性動畫(Property Animation),它提供瞭更強大和靈活的動畫控製能力,可以通過AnimationDrawable、AnimatorSet等類來實現更復雜的動畫序列。 本章還將重點講解幀動畫(Frame Animation),它適用於製作簡單的逐幀動畫效果。此外,還將介紹Android Jetpack Navigation組件提供的Fragment轉場動畫,以及如何自定義轉場效果。讀者將學習如何通過XML定義動畫資源,以及如何在Java/Kotlin代碼中動態地創建和播放動畫。 第十四章:音頻與視頻播放 本章將介紹如何在Android應用中實現音頻和視頻的播放功能。 對於音頻播放,我們將詳細講解MediaPlayer類。讀者將學習如何加載本地音頻文件或網絡流媒體,如何控製播放、暫停、停止,以及如何獲取播放進度和設置音量。我們將介紹如何使用AudioTrack類來實現更底層的音頻播放控製。 對於視頻播放,我們將重點介紹VideoView組件,它提供瞭一個簡化的視頻播放界麵。讀者將學習如何使用VideoView來播放本地視頻文件或網絡流媒體。此外,還將介紹更強大的ExoPlayer庫,它是Google官方推薦的播放器庫,支持更多的格式、更強大的功能和更好的定製性。我們將演示如何使用ExoPlayer實現自定義播放器界麵、支持多種流媒體協議(HLS, DASH)以及實現緩衝和錯誤處理。 第十五章:傳感器應用開發 Android設備內置瞭各種傳感器,可以感知周圍環境的變化,為應用提供豐富的交互能力。本章將介紹如何利用Android的傳感器API來開發各種有趣的應用。 我們將詳細講解SensorManager類的使用,包括如何獲取設備上的傳感器列錶、注冊和注銷傳感器監聽器。我們將重點介紹常用的傳感器,如加速度傳感器(Accelerometer)、陀螺儀傳感器(Gyroscope)、磁力計傳感器(Magnetometer)、光綫傳感器(Light Sensor)、接近傳感器(Proximity Sensor)等。 讀者將學習如何獲取傳感器的數據,並根據這些數據來實現各種功能,例如計步器、指南針、屏幕自動鏇轉、手勢識彆等。我們還將探討傳感器的精度、功耗問題,以及如何優化傳感器數據的采集和處理。 第十六章:定位服務與地圖集成 獲取用戶的位置信息是許多移動應用的核心功能之一。本章將詳細介紹Android的定位服務。 我們將講解LocationManager類,以及如何獲取GPS、Wi-Fi、基站等多種定位方式。我們將重點介紹Android Jetpack Location Services(Fused Location Provider)的API,它能夠智能地選擇最佳的定位方式,並提供更準確、更節能的定位結果。 讀者將學習如何申請位置權限、獲取當前位置信息,以及如何監聽位置變化。此外,本章還將介紹如何將地圖集成到Android應用中。我們將重點講解Google Maps SDK for Android的使用,包括如何顯示地圖、標記興趣點、繪製路綫,以及如何處理地圖交互事件。 第十七章:相機與拍照功能實現 相機功能是許多應用不可或缺的一部分。本章將介紹如何在Android應用中實現拍照和錄像功能。 我們將講解Camera API的使用,包括如何打開相機、設置相機參數(分辨率、閃光燈等)、預覽相機畫麵。我們將介紹如何通過SurfaceHolder來顯示相機預覽,以及如何捕獲照片。 我們將重點講解CameraX,它是Android Jetpack的一部分,旨在簡化相機應用的開發。CameraX提供瞭更現代、更易用的API,能夠幫助開發者更輕鬆地實現相機功能,並支持各種設備。讀者將學習如何使用CameraX進行拍照、錄像,以及實現一些高級功能,如人臉檢測、圖像分析等。 第十八章:權限管理與安全 在Android係統中,權限管理是保證應用安全性和用戶隱私的關鍵。本章將深入講解Android的權限模型。 我們將詳細介紹Android的運行時權限(Runtime Permissions)機製,包括危險權限和普通權限的區彆,以及如何動態地嚮用戶請求權限。我們將講解如何檢查應用是否擁有特定權限,以及如何處理用戶拒絕權限的情況。 本章還將探討應用程序簽名、數據加密、安全編碼實踐等安全方麵的內容。我們將提醒讀者注意防範常見的安全漏洞,例如SQL注入、XSS攻擊等,並提供一些保護應用數據和用戶隱私的最佳實踐。 第十九章:性能優化與內存分析 隨著應用功能的增加,性能優化變得越來越重要。本章將介紹Android應用的性能優化技巧和內存分析工具。 我們將講解如何識彆和解決應用性能瓶頸,例如UI渲染緩慢、CPU占用過高、內存泄漏等。我們將介紹Android Studio提供的性能分析工具,包括CPU Profiler、Memory Profiler、Network Profiler等,幫助開發者定位性能問題。 我們將深入講解內存管理機製,包括堆內存、棧內存、垃圾迴收(GC)等。我們將重點介紹如何使用Memory Profiler來檢測內存泄漏,並提供一些內存優化的策略,例如閤理使用對象、避免創建不必要的對象、及時釋放資源等。 第二十章:持續集成與自動化測試 持續集成(CI)和自動化測試是現代軟件開發中提高效率和質量的重要手段。本章將介紹如何在Android項目中實施CI流程,並進行自動化測試。 我們將講解CI的基本概念和工作流程,以及如何選擇閤適的CI工具,例如Jenkins、GitHub Actions、GitLab CI等。我們將演示如何配置CI服務器,實現代碼的自動構建、測試和部署。 在自動化測試方麵,我們將介紹Android提供的單元測試(JUnit)、集成測試(Espresso)和UI測試(UI Automator)框架。讀者將學習如何編寫高質量的測試用例,以確保代碼的正確性和穩定性。我們將強調自動化測試在CI流程中的重要性,以及如何通過自動化測試來減少手動測試的工作量,提高開發效率。

用戶評價

评分

老實說,我之前也斷斷續續接觸過一些Android相關的資料,但總是覺得碎片化,學得雲裏霧裏。直到遇到瞭《瘋狂Android講義(第3版 附光盤)》,纔真正感覺自己走上瞭一條正軌。這本書的作者顯然對Android開發有著非常深刻的理解,他能夠將那些看似復雜的技術概念,用通俗易懂的語言闡釋齣來。我尤其喜歡書中對每個知識點的講解方式,總會先拋齣一個問題,然後逐步引導讀者去思考,最後給齣清晰的解決方案。這種“授人以漁”的教學模式,讓我不僅僅是記住瞭知識點,更重要的是學會瞭如何獨立分析和解決問題。而且,這本書的排版和設計也做得非常用心,代碼塊清晰易讀,配圖也恰到好處,閱讀體驗非常舒適。光盤裏提供的資源,更是極大地節省瞭我自己搭建開發環境和查找示例代碼的時間,讓我能夠更專注於學習內容本身。這本書讓我對Android開發有瞭更宏觀的認識,也讓我能夠更自信地去麵對各種開發挑戰。

评分

我是一名對技術有著強烈好奇心的愛好者,一直想深入瞭解Android開發的世界。《瘋狂Android講義(第3版 附光盤)》這本書,以一種極其友好的姿態,為我打開瞭這扇大門。它的語言風格非常親切,沒有那些枯燥乏味的理論陳述,而是更像是一位經驗豐富的老師在手把手地教你。從第一個“Hello World”開始,到後麵復雜的動畫效果、傳感器應用,再到與服務器的交互,每一個環節都循序漸進,讓我感覺自己一直在進步。書中提供的代碼,我都嘗試著在自己的電腦上運行和修改,這種實踐過程極大地增強瞭我的學習興趣和動手能力。光盤裏的資源,簡直是為我量身定製的,讓我不用擔心環境配置問題,可以立刻投入到學習中。這本書不僅僅是知識的傳遞,更是一種學習方法的引導,它讓我找到瞭屬於自己的學習節奏和解決問題的思路。

评分

作為一名有一定Android開發經驗的開發者,在閱讀《瘋狂Android講義(第3版 附光盤)》時,我依然能夠從中獲得不少啓發。這本書的優點在於其內容的全麵性和理論的深度。它並沒有僅僅停留在API的羅列,而是深入講解瞭Android係統的運行機製、生命周期管理以及各種組件之間的協作關係。我特彆喜歡其中關於性能優化和內存泄漏排查的部分,這些內容對於提升App的穩定性和用戶體驗至關重要。書中的一些高級主題,比如自定義View的繪製原理、Binder機製的剖析,都為我提供瞭新的視角和深入理解Android的契機。光盤中的源代碼,不僅可以作為學習的參考,還可以作為項目開發的起點,大大提高瞭開發效率。總而言之,這本書是一本值得反復研讀的經典之作,無論是初學者還是有經驗的開發者,都能從中受益匪淺。

评分

對於《瘋狂Android講義(第3版 附光盤)》,我的評價隻有一個詞:紮實!這本書的內容深度和廣度都達到瞭一個相當高的水平。我之前在工作中遇到的一些疑難雜癥,通過翻閱這本書,往往都能找到答案,甚至還能從中學習到一些高級的技巧和設計模式。它不僅僅是一本麵嚮初學者的入門教材,更是一本可以陪伴開發者走過整個職業生涯的參考書。書中對Android四大組件的講解可謂是鞭闢入裏,對各種UI布局和控件的運用也做瞭詳細的剖析。我尤其欣賞它在講解網絡通信和多綫程方麵的內容,處理得既嚴謹又實用。光盤裏的源代碼,讓我能夠直觀地看到書中講解的理論是如何在實際項目中實現的,這對於鞏固學習效果非常有幫助。這本書讓我深刻體會到,要做好Android開發,不僅要有熱情,更要有紮實的理論基礎和豐富的實踐經驗,而這本書恰恰能夠幫助我建立起這一切。

评分

這本《瘋狂Android講義(第3版 附光盤)》簡直是我的Android開發啓濛之光!當初抱著試試看的心態入手,沒想到收獲如此巨大。書裏的內容詳實,邏輯清晰,從最基礎的環境搭建到復雜的UI組件、網絡編程、數據存儲,再到多綫程、服務、廣播接收者、內容提供者,幾乎涵蓋瞭Android開發的方方麵麵。而且,它不是那種泛泛而談的教材,而是充滿瞭大量的代碼示例,這些示例不僅精煉,而且貼閤實際開發場景,讓我能夠邊學邊練,迅速將理論知識轉化為實踐能力。光盤裏的資源更是錦上添花,提供瞭書中所有源代碼,方便我調試、運行和深入研究。每次遇到技術難題,我都會翻開這本書,總能找到解決問題的綫索,甚至從中發現更優的解決方案。對於想係統學習Android開發的初學者來說,這本書絕對是不可多得的寶藏。它讓我看到瞭Android開發的無限可能,也讓我對未來的開發之路充滿瞭信心。這本書的價值遠不止於書本本身,更在於它所點燃的我的學習熱情和解決問題的能力。

評分

非常不錯的一本書,附送的教學視頻質量很高,很有課堂氣氛。希望自己通過這本書步入Java的殿堂。

評分

商品很不錯 推薦大傢多多購買和發錶意見 供廠商更新升級.

評分

書的質量很不錯、開啓技術提升之旅、加油!推薦購買!

評分

(›´ω`‹ )(›´ω`‹ )(›´ω`‹ )

評分

可以用來入門,各方麵都講瞭,例子全麵,配閤著例子多練習,可以很快學會android的基礎。但是告訴這本書你怎麼做,沒有告訴你why,深度率欠缺,比不上該作者瘋狂 程序員必須知道的16課。其實android方麵最實惠的資料還是官網的developer guid也許稱不上高大上,但是接地氣,cookbook 類型,照著做可以對 android 開發很快有一個感性認識,然後對於想深入的細節部分,自己再找其他的資料,總體還是實用的

評分

京東活動購買,準備撿起來。

評分

滿100減50很給力啊,希望京東多搞一些這樣的優惠活動,我會繼續參加的。

評分

嗬嗬。商品這麼快就到瞭,還不錯哦,下次來你可要優惠哦^_^,真沒想到網上購物還這麼有意思,在賣傢的指導下我終於學會瞭網上購物,謝謝!

評分

由淺入深、通俗易懂、脈絡清晰,適閤學習

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.qciss.net All Rights Reserved. 圖書大百科 版權所有