《Android編程權威指南》


《Android編程權威指南》

基本信息

原書名:Android programming: the big nerd ranch guide

原出版社: Big Nerd Ranch Guides

作者: (美)Bill Phillips    Brian Hardy   

譯者: 王明發

叢書名: 圖靈程序設計叢書

出版社:人民郵電出版社

ISBN:9787115346438

上架時間:2014-3-18

出版日期:2014 年4月

開本:16開

頁碼:523

版次:1-1

所屬分類:計算機 > 軟件與程序設計 > 移動開發 > Android

 

更多關於》》》 《Android編程權威指南》

 

編輯推薦 

      Amazon榜首暢銷書

  全面覆蓋Android開發知識點

  全真示例、循循善誘、輕松上手

 

內容簡介

    書籍

    計算機書籍

  big nerd ranch 是美國一家專業的移動開發技術培訓機構,《android編程權威指南》主要以訓練營的5 天教學課程為基礎,融合了兩位作者多年的心得體會,是一本完全面向實戰的android 編程權威指南。全書共37 章,詳細介紹了geoquiz、hellomoon、draganddraw 等8 個android 應用。這些應用的難易程度不一,最復雜的criminalintent 應用占用了13 章的篇幅。通過這些精心設計的應用,讀者可掌握很多重要的理論知識和開發技巧,獲得最前沿的開發經驗。

  如果你熟悉java 語言,或者了解對面向對象編程,那就立刻開始android 編程之旅吧! 

 

 

媒體評論

  “對我們來說,這是一本非常全面的培訓教材,它已使數百名工程師掌握了構建Android應用的訣竅。另外,對想要提升Android開發技能的人,這本書同樣也有很大幫助。”

  ——Mike Shaver,Facebook通信工程主管

  “不管是你剛剛邁進Android開發的大門,還是准備掌握更多高級開發技術,本書都非常值得看。它那完整的內容體系、清晰的組織結構,以及輕松的講述風格,都讓人過目不忘。”

  ——James Steele,《Android開發秘籍》作者

 

 

目錄

《android編程權威指南》

第1章 android應用初體驗  1

1.1  應用基礎  2

1.2  創建android項目  2

1.3  eclipse工作區導航  5

1.4  用戶界面設計  6

1.4.1  視圖層級結構  9

1.4.2  組件屬性  10

1.4.3  創建字符串資源  11

1.4.4  預覽界面布局  12

1.5  從布局xml到視圖對象  13

1.6  組件的實際應用  15

1.6.1  類包組織導入  16

1.6.2  引用組件  16

1.6.3  設置監聽器  17

1.7  使用模擬器運行應用  21

1.8  android編譯過程  22

第2章 android與mvc設計模式  26

2.1  創建新類  26

2.2  android與mvc設計模式  30

2.3  更新視圖層  31

2.4  更新控制層  33

2.5  在設備上運行應用  37

2.5.1  連接設備  37

2.5.2  配置設備用於應用開發  38

2.6  添加圖標資源  38

2.6.1  向項目中添加資源  39

2.6.2  在xml文件中引用資源  40

2.7  關於挑戰練習  41

2.8  挑戰練習一:為textview添加監聽器  41

2.9  挑戰練習二:添加后退按鈕  42

2.10  挑戰練習三:從按鈕到圖標按鈕  42

第3章 activity的生命周期  45

3.1  日志跟蹤理解activity生命周期  46

3.1.1  輸出日志信息  46

3.1.2  使用 logcat  48

3.2  設備旋轉與activity生命周期  52

3.3  設備旋轉前保存數據  56

3.4  再探activity生命周期  57

3.5  深入學習:測試onsaveinstancestate-(bundle)方法  59

3.6  深入學習:日志記錄的級別與方法  60

第4章 android應用的調試  62

4.1  ddms應用調試透視圖  63

4.2  異常與棧跟蹤  64

4.2.1  診斷應用異常  65

4.2.2  記錄棧跟蹤日志  66

4.2.3  設置斷點  68

4.2.4  使用異常斷點  71

4.3  文件瀏覽器  72

4.4  android特有的調試工具  73

4.4.1  使用android lint  73

4.4.2  r類的問題  74

第5章 第二個activity  75

5.1  創建第二個activity  76

5.1.1  創建新布局  77

5.1.2  創建新的activity子類  80

5.1.3  在manifest配置文件中聲明activity  81

5.1.4  為quizactivity添加cheat按鈕  82

5.2  啟動activity  83

5.3  activity間的數據傳遞  85

5.3.1  使用intent extra  86

5.3.2  從子activity獲取返回結果  88

5.4  activity的使用與管理  92

5.5  挑戰練習  95

第6章 android sdk版本與兼容  96

6.1  android sdk版本  96

6.2  android編程與兼容性問題  97

6.2.1  全新的系統版本——honeycomb  97

6.2.2  sdk最低版本  99

6.2.3  sdk目標版本  99

6.2.4  sdk編譯版本  99

6.2.5  安全添加新版本api中的代碼  100

6.3  使用android開發者文檔  103

6.4  挑戰練習:報告編譯版本  105

第7章 ui fragment與fragment 管理器  106

7.1  ui設計的靈活性需求  107

7.2  fragment的引入  107

7.3  着手開發criminalintent  108

7.3.1  創建新項目  110

7.3.2  fragment與支持庫  112

7.3.3  創建crime類  113

7.4  托管ui fragment  115

7.4.1  fragment的生命周期  115

7.4.2  托管的兩種方式  116

7.4.3  定義容器視圖  116

7.5  創建ui fragment  117

7.5.1  定義crimefragment的布局  118

7.5.2  創建crimefragment類  119

7.6  添加ui fragment到fragmentmanager  122

7.6.1  fragment事務  123

7.6.2  fragmentmanager與fragment生命周期  125

7.7  activity使用fragment的理由  127

7.8  深入學習:honeycomb、ics、jelly bean以及更高版本系統上的應用開發  127

第8章 使用布局與組件創建用戶界面  128

8.1  升級crime類  128

8.2  更新布局  129

8.3  生成並使用組件  131

8.4  深入探討xml布局屬性  132

8.4.1  樣式、主題及主題屬性  132

8.4.2  dp、sp以及屏幕像素密度  133

8.4.3  android開發設計原則  134

8.4.4  布局參數  135

8.4.5  邊距與內邊距  135

8.5  使用圖形布局工具  136

8.5.1  添加新組件  138

8.5.2  屬性視圖中編輯組件屬性  138

8.5.3  在框架視圖中重新組織組件  139

8.5.4  更新子組件的布局參數  140

8.5.5  android:layout_weight屬性的工作原理  141

8.5.6  圖形布局工具使用總結  142

8.5.7  組件id與多種布局  142

8.6  挑戰練習:日期格式化  143

第9章 使用listfragment顯示列表  144

9.1  更新criminalintent應用的模型層  145

9.2  創建listfragment  147

9.3  使用抽象activity托管fragment  149

9.3.1  通用的fragment托管布局  149

9.3.2  抽象activity類  150

9.4  listfragment、listview及arrayadapter  154

9.4.1  創建arrayadapter[t]類實例  157

9.4.2  響應列表項的點擊事件  159

9.5  定制列表項  160

9.5.1  創建列表項布局  160

9.5.2  創建adapter子類  162

第10章 使用fragment argument  165

10.1  從fragment中啟動activity  165

10.1.1  附加extra信息  166

10.1.2  獲取extra信息  167

10.1.3  使用crime數據更新crimefragment視圖  167

10.1.4  直接獲取extra信息方式的缺點  169

10.2  fragment argument  169

10.2.1  附加argument給fragment  169

10.2.2  獲取argument  170

10.3  重新加載顯示列表項  171

10.4  通過fragment獲取返回結果  172

第11章 使用viewpager  174

11.1  創建crimepageractivity  175

11.1.1  以代碼的方式定義並產生布局  176

11.1.2  viewpager與pager-adapter  177

11.1.3  整合配置並使用crimepageractivity  178

11.1.4  fragmentstatepager-adapter與fragment-pageradapter  180

11.2  深入學習:viewpager的工作原理  182

第12章 對話框  184

12.1  創建dialogfragment  186

12.1.1  顯示dialogfragment  187

12.1.2  設置對話框的顯示內容  188

12.2  fragment間的數據傳遞  190

12.2.1  傳遞數據給datepicker-fragment  191

12.2.2  返回數據給crimefragment  193

12.3  挑戰練習:更多對話框  198

第13章 使用mediaplayer播放音頻  199

13.1  添加資源  200

13.2  定義hellomoonfragment布局文件  202

13.3  創建hellomoonfragment  203

13.4  使用布局fragment  204

13.5  音頻播放  205

13.6  挑戰練習:暫停音頻播放  208

13.7  深入學習:播放視頻  208

13.8  挑戰練習:在hellomoon應用中播放視頻  208

第14章 fragment的保留  209

14.1  保留fragment實例  209

14.2  設備旋轉與保留的fragment  210

14.3  保留的fragment:一切都完美了嗎  212

14.4  設備旋轉處理與onsaveinstance-state(bundle)方法  212

14.5  深入學習:fragment引入前的設備旋轉問題  214

第15章 應用本地化  215

15.1  本地化資源  215

15.2  配置修飾符  216

15.2.1  可用資源優先級排定  217

15.2.2  多重配置修飾符  218

15.2.3  尋找最匹配的資源  219

15.3  更多資源使用原則及控制  220

15.3.1  資源命名  220

15.3.2  資源目錄結構  220

15.4  測試備選資源  221

第16章 操作欄  223

16.1  選項菜單  223

16.1.1  在xml文件中定義選項菜單  225

16.1.2  創建選項菜單  227

16.1.3  響應菜單項選擇  230

16.2  實現層級式導航  232

16.2.1  啟用應用圖標的導航功能  232

16.2.2  響應向上按鈕  233

16.3  可選菜單項  236

16.3.1  創建可選菜單xml文件  236

16.3.2  切換菜單項標題  237

16.3.3  “還有個問題”  238

16.4  挑戰練習:用於列表的空視圖  239

第17章 存儲與加載本地文件  241

17.1  criminalintent應用的數據存取  241

17.1.1  保存crime數據到json文件  242

17.1.2  從文件中讀取crime數據  246

17.2  挑戰練習:使用外部存儲  248

17.3  深入學習:android文件系統與java i/o  248

第18章 上下文菜單與上下文操作模式  250

18.1  定義上下文菜單資源  251

18.2  實施浮動上下文菜單  251

18.2.1  創建上下文菜單  251

18.2.2  為上下文菜單登記視圖  252

18.2.3  響應菜單項選擇  253

18.3  實施上下文操作模式  254

18.3.1  實現列表視圖的多選操作  255

18.3.2  列表視圖中的操作模式回調方法  256

18.3.3  改變已激活視圖的顯示背景  258

18.3.4  實現其他視圖的上下文操作模式  259

18.4  兼容性問題:回退還是復制  260

18.5  挑戰練習:在crimefragment視圖中刪除crime記錄  261

18.6  深入學習:actionbarsherlock  261

18.7  挑戰練習:使用actionbarsherlock  263

18.7.1  criminalintent應用中abs的基本整合  264

18.7.2  abs的深度整合  264

18.7.3  abs的完全整合  265

第19章 相機i:取景器  266

19.1  創建fragment布局  267

19.2  創建crimecamerafragment  269

19.3  創建crimecameraactivity  269

19.4  使用相機api  271

19.4.1  打開並釋放相機  271

19.4.2  surfaceview、surface-holder與surface  272

19.4.3  確定預覽界面大小  276

19.4.4  啟動crimecamera-activity  277

19.5  深入學習:以命令行的方式運行activity  281

第20章 相機 ii:拍攝並處理照片  283

20.1  拍攝照片  283

20.1.1  實現相機回調方法  285

20.1.2  設置圖片尺寸大小  288

20.2  返回數據給crimefragment  288

20.2.1  以接收返回值的方式啟動crimecameraactivity  289

20.2.2  在crimecamerafragment中設置返回值  290

20.2.3  在crimefragment中獲取照片文件名  290

20.3  更新模型層  291

20.3.1  新增photo類  292

20.3.2  為crime添加photo屬性  293

20.3.3  設置photo屬性  293

20.4  更新crimefragment的視圖  294

20.4.1  添加imageview組件  295

20.4.2  圖像處理  296

20.5  在dialogfragment中顯示大圖片  300

20.6  挑戰練習:crime照片的顯示方向  303

20.7  挑戰練習:刪除照片  303

20.8  深入學習:android代碼的廢棄處理  303

第21章 隱式intent  305

21.1  添加按鈕組件  306

21.2  添加嫌疑人信息至模型層  307

21.3  使用格式化字符串  308

21.4  使用隱式intent  309

21.4.1  典型隱式intent的組成  310

21.4.2  發送陋習報告  311

21.4.3  獲取聯系人信息  313

21.4.4  檢查可以響應的activity  316

21.5  挑戰練習:又一個隱式intent  317

第22章 master-detail用戶界面  318

22.1  增加布局靈活性  319

22.1.1  修改singlefragment-activity  320

22.1.2  創建包含兩個fragment容器的布局  320

22.1.3  使用別名資源  322

22.2  activity:fragment的托管者  323

22.3  深入學習:設備屏幕尺寸的確定  331

第23章 深入學習intent和任務  333

23.1  創建nerdlauncher項目  333

23.2  解析隱式intent  334

23.3  在運行時創建顯式intent  337

23.4  任務與后退棧  338

23.5  使用nerdlauncher應用作為設備主屏幕  341

23.6  挑戰練習:應用圖標與任務重排  341

23.7  進程與任務  341

第24章 樣式與include標簽的使用  343

24.1  創建remotecontrol項目  344

24.1.1  編碼實現remotecontrol-activity  344

24.1.2  創建remotecontrol-fragment  345

24.2  使用樣式消除重復代碼  348

24.3  完善布局定義  350

24.4  深入學習:使用include與merge標簽  353

24.5  挑戰練習:樣式的繼承  354

第25章 xml drawable與9-patches  355

25.1  xml drawable  356

25.2  state list drawable  358

25.3  layer list與inset drawable  360

25.4  使用9-patch圖像  362

第26章 http與后台任務  368

26.1  創建photogallery應用  369

26.2  網絡連接基本  372

26.3  使用asynctask在后台線程上運行代碼  373

26.4  線程與主線程  375

26.5  獲取flickr xml數據  377

26.6  從asynctask回到主線程  382

26.7  深入學習:再探asynctask  385

26.8  挑戰練習:分頁  386

第27章 looper、handler與handlerthread  387

27.1  設置gridview以顯示圖片  387

27.2  批量下載縮略圖  390

27.3  與主線程通信  390

27.4  創建並啟動后台線程  391

27.5  message與message handler  393

27.5.1  消息的剖析  393

27.5.2  handler的剖析  393

27.5.3  使用handler  395

27.5.4  傳遞handler  397

27.6  深入學習:asynctask與thread  401

27.7  挑戰練習:預加載以及緩存  401

第28章 搜索  402

28.1  搜索flickr網站  402

28.2  搜索對話框  404

28.2.1  創建搜索界面  404

28.2.2  可搜索的activity  406

28.2.3  物理搜索鍵  408

28.2.4  搜索的工作原理  409

28.2.5  啟動模式與新的intent  410

28.2.6  使用shared preferences實現輕量級數據存儲  412

28.3  在android 3.0以后版本的設備上使用searchview  414

28.4  挑戰練習  416

第29章 后台服務  417

29.1  創建intentservice  417

29.2  服務的作用  419

29.3  查找最新返回結果  421

29.4  使用alarmmanager延遲運行服務  422

29.4.1  pendingintent  424

29.4.2  使用pendingintent管理定時器  424

29.5  控制定時器  425

29.6  通知信息  428

29.7  深入學習:服務細節內容  429

29.7.1  服務的能與不能  430

29.7.2  服務的生命周期  430

29.7.3  non-sticky服務  430

29.7.4  sticky服務  431

29.7.5  綁定服務  431

第30章 broadcast intent  433

30.1  隨設備重啟而重啟的定時器  433

30.1.1  配置文件中的broadcast receiver  434

30.1.2  如何使用receiver  435

30.2  過濾前台通知消息  436

30.2.1  發送broadcast intent  437

30.2.2  動態broadcast receiver  437

30.2.3  使用私有權限  440

30.2.4  使用ordered broadcast接收結果  442

30.3  receiver與長時運行任務  446

第31章 網頁瀏覽  447

31.1  最后一段flickr數據  447

31.2  簡單方式:使用隱式intent  448

31.3  較難方式:使用webview  449

31.3.1  使用webchromeclient優化webview的顯示  453

31.3.2  處理webview的設備旋轉問題  455

31.4  深入學習:注入javascript對象  456

第32章 定制視圖與觸摸事件  457

32.1  創建draganddraw項目  457

32.1.1  創建draganddraw-activity  458

32.1.2  創建draganddraw-fragment  459

32.2  創建定制視圖  460

32.3  處理觸摸事件  462

32.4  ondraw(...)方法內的圖形繪制  465

32.5  挑戰練習:設備旋轉問題  467

第33章 跟蹤設備的地理位置  468

33.1  啟動runtracker項目  468

33.1.1  創建runactivity  469

33.1.2  創建runfragment  470

33.2  地理位置與locationmanager  472

33.3  接收定位數據更新broadcast  474

33.4  使用定位數據刷新ui顯示  475

33.5  快速定位:最近一次地理位置  479

33.6  在物理和虛擬設備上測試地理位置定位  480

第34章 使用sqlite本地數據庫  482

34.1  在數據庫中存儲旅程和地理位置信息  482

34.2  查詢數據庫中的旅程列表  488

34.3  使用cursoradapter顯示旅程列表  490

34.4  創建新旅程  493

34.5  管理現有旅程  494

34.6  挑戰練習:識別當前跟蹤的旅程  500

第35章 使用loader加載異步數據  501

35.1  loader與loadermanager  501

35.2  在runtracker應用中使用loader  502

35.3  加載旅程列表  503

35.4  加載單個旅程  506

35.5  加載旅程的最近一次地理位置  509

第36章 使用地圖  511

36.1  添加maps api給runtracker應用  511

36.1.1  使用物理設備測試地圖  511

36.1.2  安裝使用google play services sdk  511

36.1.3  獲取google maps api key  512

36.1.4  更新runtracker應用的manifest配置文件  512

36.2  在地圖上顯示用戶的地理位置  513

36.3  顯示旅程路線  516

36.4  為旅程添加開始和結束地圖標注  520

36.5  挑戰練習:實時數據更新  521

第37章 編后語  522

37.1  終極挑戰  522

37.2  關於我們  523

37.3  致謝  523

 

本圖書信息來源:互動出版網

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM