Android技術及應用

Android技術及應用 pdf epub mobi txt 電子書 下載 2025

張軍朝 著
圖書標籤:
  • Android
  • 移動開發
  • Android開發
  • Kotlin
  • Java
  • UI設計
  • 網絡編程
  • 數據庫
  • 組件化
  • 性能優化
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
店鋪: 電子工業齣版社官方旗艦店
齣版社: 電子工業齣版社
ISBN:9787121280146
商品編碼:29531532715
包裝:平塑
開本:16
齣版時間:2016-03-01

具體描述


內容介紹

編輯推薦

1. 本書麵嚮卓越軟件工程師培養,講解係統、內容飽滿、由淺入深;2. 本書層次分明,結構清晰,共分為5篇,從基礎到應用,再到開發、實戰;3. 書中提供瞭較有價值的實際商業案例,有助於讀者積纍項目經驗,提高開發能力;4. 本書配套資源有:PPT、源代碼、習題解答等。

 

 

內容介紹

本書既介紹瞭Android應用程序基本框架,也對Android平颱的各種控件進行瞭講解,還通過一個真實案例嚮讀者介紹瞭Android應用程序完整的開發步驟。 書中主要包括4部分內容:第1部分首先講述瞭Android的基本概念、特點以及SDK中資源及其使用;接著講述瞭Android係統開發的相關概念;最後介紹瞭如何創建一個簡單的Android程序並運行,對Android的工程目錄結構也進行瞭詳細分析;第2部分介紹瞭Android係統架構的各種組件,包括:Activity組件、Intent組件、Service組件、BroadcastReceiver組件;講述瞭用戶界麵設計原則、用戶界麵設計核心概念、Android布局和控件、菜單、對話框、滾動處理等內容;並詳細介紹瞭SharedPreferences、ContentProvider、File、SQLite數據庫編程等內容;第3部分詳細講述瞭網絡的訪問方式(包括HTTP方式、Socket方式、Wi-Fi方式、藍牙、獲取網絡狀態等)、HTTP通信接口、WebView以及Wi-Fi應用的開發;並詳細介紹瞭多綫程的實現和多綫程的消息傳遞機製;第4部分詳細講述瞭百度百度地圖API的知識,通過對周邊加油站APP應用的展示和其基於Android平颱的開發過程進行瞭全麵的項目體係講解,帶領讀者體驗項目開發過程的同時使讀者瞭解真正的APP項目是如何開發的。

 

 

 

 

目  錄

第1章  認識Android    1

1.1  什麼是Android    1

1.2  Android有哪些特點    1

1.3  Android操作係統    2

1.4  Android SDK中的資源    3

1.4.1  資源概述    3

1.4.2  各種資源的使用    4

1.5  需要學習哪些知識    8

1.6  習題    8

第2章  Android係統開發綜述    9

2.1  Android係統架構    9

2.1.1  應用程序層    10

2.1.2  應用程序框架層    10

2.1.3  係統運行庫層    10

2.1.4  Linux內核層    11

2.2  搭建Android開發環境    11

2.2.1  JAVA環境搭建    11

2.2.2  安裝Eclipse    13

2.2.3  安裝Android SDK    13

2.2.4  安裝ADT    15

2.3  Android開發工具    16

2.3.1  DDMS工具    16

2.3.2  ADB工具    16

2.3.3  AAPT工具    17

2.3.4  Logcat工具    17

2.4  Android的模擬器    18

2.5  Android應用打包    19

2.6  習題    20

第3章  創建一個Android程序    21

3.1  創建Android工程    21

3.1.1  創建一個Android程序    21

3.1.2  運行Android程序    22

3.2  Android工程目錄結構分析    24

3.2.1  src目錄項    24

3.2.2  gen目錄項    25

3.2.3  Android.jar文件    25

3.2.4  assets目錄項    25

3.2.5  res目錄項    25

3.2.6  AndroidManifest.xml文件    26

3.2.7  project.properties文件    26

3.3 調試android程序    26

3.3.1  增加斷點    26

3.3.2  啓動調試    27

3.3.3  單步調試    27

3.3.4  利用Logcat調試    29

3.4  習題    30

第4章  Activity組件    31

4.1  什麼是Activity    31

4.2  Activity的運行狀態    32

4.3  Activity的生命周期    33

4.4  自定義Activity    40

4.5  Activity的詳細配置    40

4.6  示例    50

4.7  習題    56

第5章  界麵布局    57

5.1  Android UI布局    57

5.1.1  綫性布局    57

5.1.2  幀布局    58

5.1.3  相對布局    59

5.1.4  錶格布局    60

5.1.5  絕對布局    60

5.2  Android UI控件    60

5.2.1  UI事件捕獲與處理    61

5.2.2  TextView    61

5.2.3  Button    62

5.2.4  EditText    63

5.2.5  CheckBox與RadioGroup    63

5.2.6  Spinner    64

5.2.7  AutoCompleteTextView    64

5.2.8  ProgressBar    64

5.2.9  ListView    65

5.2.10  Window    65

5.2.11 其他UI控件概覽    66

5.3  用戶界麵設計原則    69

5.3.1  一緻性    69

5.3.2  準確性    70

5.3.3  布局閤理化    70

5.3.4  操作閤理性    71

5.3.5  響應時間    71

5.4  用戶界麵設計核心概念    71

5.4.1  android.view.View類    71

5.4.2  View類的繼承關係    71

5.5  菜    單    72

5.5.1  選項菜單    72

5.5.2  上下文菜單    74

5.5.3  子菜單    75

5.6  對話框    76

5.6.1  提示對話框    76

5.6.2  列錶對話框    76

5.6.3  單選對話框和復選對話框    76

5.6.4  進度條對話框    77

5.6.5  日期選擇對話框    77

5.6.6  時間選擇對話框    77

5.6.7  拖動對話框    79

5.6.8  自定義對話框    79

5.7  滾動處理    79

5.8  示例    81

5.9  習題    94

第6章  Intent組件    95

6.1  什麼是Intent    95

6.2  Intent的組成    95

6.2.1  Component Name部分    95

6.2.2  Action部分    96

6.2.3  Data部分    96

6.2.4  Category部分    96

6.2.5  Extras部分    96

6.2.6  Flags部分    96

6.3  Intent Filter    96

6.3.1  檢查Action    97

6.3.2  檢查Data    97

6.3.3  檢查Category    97

6.4  Intent 的解析機製    98

6.5  Intent 調用常用組件    99

6.6  Intent在多Activity中的使用    102

6.6.1  由一個Activity啓動另一個Activity    102

6.6.2  Activity間的數據交換    102

6.6.3  帶結果返迴的Activity    103

6.7  示例    104

6.8  習題    109

第7章  Service組件    110

7.1  什麼是Service    110

7.2  Service的生命周期    111

7.3  Service的常用方法    112

7.3.1  StartService啓動服務    113

7.3.2  BindService啓動服務    113

7.4  IntentService    114

7.5  提高Service優先級    116

7.6  使用係統服務    118

7.7  遠程Service    119

7.7.1  AIDL接口    119

7.7.2  遠程Service的實現    120

7.8  示例    125

7.9  習題    130

第8章  BroadcastReceiver組件    131

8.1  BroadcastReceiver 簡介    131

8.1.1  BroadcastReceiver概念    131

8.1.2  BroadcastReceiver機製    132

8.2  廣播消息的處理流程    132

8.2.1  廣播消息的處理流程    132

8.2.2  廣播接收者的實現方式    132

8.2.3  發送廣播    134

8.3  廣播類型及廣播的收發    134

8.3.1  普通廣播    134

8.3.2  有序廣播    135

8.4  處理係統的廣播消息    135

8.4.1  開機啓動服務    136

8.4.2  網絡狀態變化    138

8.4.3  電量變化    139

8.5  BroadcastReceiver的生命周期    140

8.6  示例    141

8.7  習題    147

第9章  Android數據存儲與共享    148

9.1  SharedPreferences    148

9.2  File    149

9.3  SQLite數據庫編程    154

9.2.1  SQLite簡介    154

9.2.2  SQLite示例    160

9.4  ContentProvider    168

9.5  示例    172

9.6  習題    183

第10章  網絡連接    184

10.1  網絡的訪問方式    184

10.1.1  HTTP方式    184

10.1.2  Socket方式    192

10.1.3  Wi-Fi方式    196

10.1.4  藍牙    197

10.1.5  獲取網絡的狀態    202

10.2  HTTP通信    203

10.2.1  標準的Java接口    203

10.2.2  Apache接口    204

10.2.3  Android的網絡接口    205

10.3  WebView    205

10.3.1  WebView簡介    205

10.3.2  WebView的實現    206

10.3.3  WebView的常見功能    206

10.4  Wi-Fi應用的開發    207

10.4.1  Wi-Fi係統    207

10.4.2  JNI    210

10.4.3  簡單的Wi-Fi應用開發    215

10.5  習題    217

第11章  多綫程    218

11.1  多綫程的實現    218

11.1.1  創建啓動綫程    218

11.1.2  休眠綫程    221

11.1.3  中斷綫程    222

11.2  多綫程消息傳遞機製    224

11.2.1  Looper的使用    224

11.2.2  Handler的使用    228

11.2.3  Message的使用    232

11.3  示例    233

11.4  習題    250

第12章  百度地圖API    251

12.1  百度Android SDK簡介    251

12.2  百度地圖API功能    251

12.2.1  地圖    251

12.2.2  POI檢索    252

12.2.3  地理編碼    252

12.2.4  綫路規劃    252

12.2.5  地圖覆蓋物    252

12.2.6  定位    252

12.2.7  離綫地圖    252

12.2.8  調啓百度地圖    252

12.2.9  周邊雷達    253

12.2.10  LBS雲    253

12.2.11  特色功能    253

12.3  申請密鑰    253

12.3.1  密鑰簡介    253

12.2.2  密鑰申請步驟    254

12.4  配置環境及發布    258

12.4.1  Eclipse工程配置方法    258

12.4.2  Android Studio工程配置方法    258

12.4.3  應用混淆    259

12.5  Hello BaiduMap    259

12.6  基礎地圖    2

 

作者介紹

張軍朝,太原理工大學 教師。1995年10月--1999年5月,在山西天元電子科技有限公司工作,曆任程序員、項目經理、産品經營部經理;1999年6月--2008年8月,在山西太原天地方圓電子科技有限公司工作,曆任軟件開發部經理、工控監控事業部經理、公司技術副經理、公司經營副經理、公司總經理;2013年3月進入太原理工大學計算機科學與技術學院工作。從事方嚮:嵌入式係統、物聯網應用、工程應用軟件。

 

 

前  言

作為一個應勢而生的移動終端操作係統,Android適應瞭移動互聯網的發展,為産業從以硬件為重心嚮以內容和服務為重心轉型提供瞭一個絕佳的平颱。更由於其發起者Google的正確商業推廣策略,自發布之日起,Android便贏得瞭眾多開發者和OEM廠商的青睞與支持,支持者的範圍如滾雪球般不斷擴大,最終後來居上。由於其麵嚮互聯網設計的特點,Android適用於數字傢庭、遠程醫療、物聯網、交通監控、移動終端、機器人等多種應用領域,能很好地適應移動互聯網的發展,其前景被越來越多的人看好。Android的齣現,加速瞭以“內容”和“服務”為重心的新一代信息産業革命的發展。

Android是Google於2007年11月推齣的一款開放的嵌入式操作係統平颱,由於其完全開源的特性,正以空前的速度吸引著大批開發者的加入。為瞭幫助眾多的軟件開發人員盡快地掌握Android平颱的相關知識,盡快地步入實際項目的開發中,作者根據多年項目開發經驗編寫瞭此書。

本書既介紹瞭Android應用程序基本框架,也對Android平颱的各種控件進行瞭講解,還通過一個真實案例嚮讀者介紹瞭Android應用程序完整的開發步驟。讀者通過本書可以盡快地掌握在Android平颱下進行開發的相關知識。

本書具有以下特點:

1.內容飽滿、由淺入深

本書內容既包括Android平颱下開發的基礎知識,也有項目編程的實用技巧,還提供瞭多個真實案例供讀者學習。本書在知識的層次上由淺入深,即使是Android的門外漢,也可以平穩、快速地步入Android開發的殿堂。

2.結構清晰、語言簡潔

本書中所有案例都是按照筆者的真實項目開發過程進行介紹的,結構清晰,語言簡潔,便於實際練習。為瞭幫助讀者更好地理解相關知識點,全書穿插瞭很多實用技巧及溫馨提示。

3.實用超值的教學資源

為瞭便於教學,本書提供的配套教學資源包括:課程簡介、教學大綱、電子教案(PPT)、實例源代碼和習題解答等,可通過華信教育資源網http://www.hxedu.com.cn下載。

4.實際商業案例

本書的案例都有實際商業價值,如果進行開發,價格要數萬元,本書中筆者將其完整地展現給瞭讀者。

本書共分13章:第1章認識Android,主要講述瞭Android的概念、特點以及SDK中資源及其使用,通過本章讀者可以對Android有一定的初步瞭解;第2章Android係統開發綜述,全麵講述瞭Android係統開發的相關概念,通過本章內容的學習,讀者可以對Android係統開發過程中的常見概念有所瞭解,並學會搭建Android應用開發環境以及對其應用進行打包;第3章創建一個Android程序,介紹瞭如何創建一個簡單的Android程序並運行,對Android的工程目錄結構進行瞭詳細分析,並講解瞭如何調試Android程序;第四章Activity組件,介紹瞭Android四大組件之一Activity組件的運行狀態、生命周期、自定義Activity以及Activity的詳細配置等內容;第5章界麵布局,講述瞭用戶界麵設計原則、用戶界麵設計核心概念、Android布局和控件、菜單、對話框、滾動處理等內容;第6章Intent組件,介紹瞭Intent組件的概念、Intent的組成、Intent Filter、Intent的解析機製、Intent調用常用組件、Intent在多Activity中的使用;第7章Service組件,講述瞭Android四大組件之一Service的概念、Service的生命周期、常用方法、IntentService,提高Service優先級,使用係統服務、遠程Service等內容;第8章BroadcastReceiver組件,嚮讀者介紹瞭Android四大組件之一BroadcastReceiver廣播接收者的概念和機製、生命周期、廣播消息的處理流程、廣播類型及廣播的收發、處理係統的廣播消息等內容;第9章Android數據存儲與共享,詳細講述瞭SharedPreferences、ContentProvider、File、SQLite數據庫編程等內容;第10章網絡連接,詳細講述瞭網絡的訪問方式(包括HTTP方式、Socket方式、Wi-Fi方式、藍牙、獲取網絡狀態等)、HTTP通信接口、WebView以及Wi-Fi應用的開發;第11章多綫程,詳細講述瞭多綫程的實現和多綫程的消息傳遞機製,包括Looper、Handler、Message的使用;第12章百度地圖API,詳細講述瞭百度Android SDK、百度地圖API功能、申請密鑰、環境配置、基礎地圖、檢索功能、定位、事件監聽等開發百度地圖API的知識;第13章APP示例,通過對周邊加油站APP應用的展示和其基於Android平颱的開發過程進行瞭全麵的項目體係講解,帶領讀者體驗項目開發過程的同時使讀者瞭解真正的APP項目是如何開發的。

本書的內容通俗易懂,涵蓋瞭Android相關的所有基礎技術,並嚮讀者介紹瞭真實項目的開發流程,特彆適閤做為軟件工程、計算機科學與技術、物聯網工程、計算機應用、電子商務等專業的高年級本科生和研究生的教材,也適閤相關軟件開發技術人員參考。對其內容稍加刪減,即可成為本科、大中專院校其他專業選修課、職業技術類學院和各種軟件開發培訓機構的教材。本書詳細介紹瞭Android的基礎知識及各種控件,並對Android平颱下基於百度地圖API的開發進行瞭介紹,Android初學者通過本書可以快速、全麵地掌握Android平颱相關知識,快速地步入Android開發人員的行列。有一定Java基礎的讀者通過閱讀本書的前半部分便可快速地掌握Android的各種組件及基礎控件,然後通過本書的真實案例的學習迅速地掌握Android平颱下的應用程序開發技巧。

作者從事工程應用軟件開發15年,主持開發的工程應用係統有:建設工程招投標信息處理係統、建設工程(土建、裝飾、安裝、市政、園林綠化、抗震加固、水利水電、電力、公路、郵電通信、煤炭)造價信息處理係統、建築工程三維可視化算量軟件、建設工程招投標企業信用信息係統、建築工程監管信息係統、公共資源交易係統、重點項目(重點企業)動態監察係統、混凝土質量動態監管係統、大型建築工地太陽能3G無綫遠程視頻監控係統、大型流域和城市防洪預警會商係統、城市火災預警和消防裝備全生命周期管理係統、路燈景觀燈照明控製係統等。其中基於Zigbee和 GPRS的路燈照明調光節能控製係統已在太原市濱河東路景觀照明係統工程、太原市汾河公園照明工程、長風商務區景觀照明工程、汾東商務區路燈照明工程、江蘇宜興團氿公園景觀照明工程、山東曹縣路燈照明工程、河南中牟縣路燈照明工程中推廣應用。

本書共13章,總學時為48學時,其中授課時間為40學時,實驗練習時間為8學時。針對選修課、職業類教育刪減第11章多綫程、第13章APP示例內容即可,總學時為32學時。

本書由張軍朝擔任主編,製定本書大綱、進行內容安排並指導文字寫作;段躍興負責全書的組織工作;呂進來負責全書的統稿工作;王園宇負責本書所有源代碼的調試工作;賈好來負責本書APP示例源代碼編寫。張軍朝編寫瞭第1、2、3章;段躍興編寫瞭第4、5章;呂進來編寫瞭第6、7章;王園宇編寫瞭第8、9章;趙榮香編寫瞭第10章;呂豐德編寫瞭11章,張江華編寫瞭12章,賈好來編寫瞭13章。本書由太原理工大學陳俊傑教授主審。

在本書的編寫過程中得到瞭計算機專業教學指導委員會委員、太原理工大學陳俊傑教授,太原理工大學崔鼕華教授,山西太原天地方圓電子科技有限公司趙榮香高工、呂豐德工程師、張江華工程師自始至終的支持和幫助;太原理工大學趙陽碩士、王青文碩士、陶亞男碩士在編寫和校對過程中也做瞭大量的工作。在此一並緻以衷心的感謝!

編者力求將實踐和理論相結閤,科研和教學相結閤,工程和教學相結閤,硬件和軟件相結閤,先進和實用相結閤,編寫齣高質量、高水平的教材。但由於編者水平有限,書中錯誤和不當之處在所難免,敬請讀者諒解和指正,聯係郵箱:zhangjunchao@tyut.edu.cn。

 

 

張軍朝

2016年1月1日  於  太原理工大學 國交樓

 



作者介紹
張軍朝,太原理工大學 教師。1995年10月--1999年5月,在山西天元電子科技有限公司工作,曆任程序員、項目經理、産品經營部經理;1999年6月--2008年8月,在山西太原天地方圓電子科技有限公司工作,曆任軟件開發部經理、工控監控事業部經理、公司技術副經理、公司經營副經理、公司總經理;2013年3月進入太原理工大學計算機科學與技術學院工作。從事方嚮:嵌入式係統、物聯網應用、工程應用軟件。

關聯推薦
適用於軟件工程、計算機應用、電子商務、物聯網工程專業的高年級本科生及研究生作為專業教材,也可以作為軟件工程師必備的參考工具書。
目錄
目 錄 第1章 認識Android 1 1.1 什麼是Android 1 1.2 Android有哪些特點 1 1.3 Android操作係統 2 1.4 Android SDK中的資源 3 1.4.1 資源概述 3 1.4.2 各種資源的使用 4 1.5 需要學習哪些知識 8 1.6 習題 8 第2章 Android係統開發綜述 9 2.1 Android係統架構 9 2.1.1 應用程序層 10 2.1.2 應用程序框架層 10 2.1.3 係統運行庫層 10 2.1.4 Linux內核層 11 2.2 搭建Android開發環境 11 2.2.1 JAVA環境搭建 11 2.2.2 安裝Eclipse 13 2.2.3 安裝Android SDK 13 2.2.4 安裝ADT 15 2.3 Android開發工具 16 2.3.1 DDMS工具 16 2.3.2 ADB工具 16 2.3.3 AAPT工具 17 2.3.4 Logcat工具 17 2.4 Android的模擬器 18 2.5 Android應用打包 19 2.6 習題 20 第3章 創建一個Android程序 21 3.1 創建Android工程 21 3.1.1 創建一個Android程序 21 3.1.2 運行Android程序 22 3.2 Android工程目錄結構分析 24 3.2.1 src目錄項 24 3.2.2 gen目錄項 25 3.2.3 Android.jar文件 25 3.2.4 assets目錄項 25 3.2.5 res目錄項 25 3.2.6 AndroidManifest.xml文件 26 3.2.7 project.properties文件 26 3.3 調試android程序 26 3.3.1 增加斷點 26 3.3.2 啓動調試 27 3.3.3 單步調試 27 3.3.4 利用Logcat調試 29 3.4 習題 30 第4章 Activity組件 31 4.1 什麼是Activity 31 4.2 Activity的運行狀態 32 4.3 Activity的生命周期 33 4.4 自定義Activity 40 4.5 Activity的詳細配置 40 4.6 示例 50 4.7 習題 56 第5章 界麵布局 57 5.1 Android UI布局 57 5.1.1 綫性布局 57 5.1.2 幀布局 58 5.1.3 相對布局 59 5.1.4 錶格布局 60 5.1.5 絕對布局 60 5.2 Android UI控件 60 5.2.1 UI事件捕獲與處理 61 5.2.2 TextView 61 5.2.3 Button 62 5.2.4 EditText 63 5.2.5 CheckBox與RadioGroup 63 5.2.6 Spinner 64 5.2.7 AutoCompleteTextView 64 5.2.8 ProgressBar 64 5.2.9 ListView 65 5.2.10 Window 65 5.2.11 其他UI控件概覽 66 5.3 用戶界麵設計原則 69 5.3.1 一緻性 69 5.3.2 準確性 70 5.3.3 布局閤理化 70 5.3.4 操作閤理性 71 5.3.5 響應時間 71 5.4 用戶界麵設計核心概念 71 5.4.1 android.view.View類 71 5.4.2 View類的繼承關係 71 5.5 菜 單 72 5.5.1 選項菜單 72 5.5.2 上下文菜單 74 5.5.3 子菜單 75 5.6 對話框 76 5.6.1 提示對話框 76 5.6.2 列錶對話框 76 5.6.3 單選對話框和復選對話框 76 5.6.4 進度條對話框 77 5.6.5 日期選擇對話框 77 5.6.6 時間選擇對話框 77 5.6.7 拖動對話框 79 5.6.8 自定義對話框 79 5.7 滾動處理 79 5.8 示例 81 5.9 習題 94 第6章 Intent組件 95 6.1 什麼是Intent 95 6.2 Intent的組成 95 6.2.1 Component Name部分 95 6.2.2 Action部分 96 6.2.3 Data部分 96 6.2.4 Category部分 96 6.2.5 Extras部分 96 6.2.6 Flags部分 96 6.3 Intent Filter 96 6.3.1 檢查Action 97 6.3.2 檢查Data 97 6.3.3 檢查Category 97 6.4 Intent 的解析機製 98 6.5 Intent 調用常用組件 99 6.6 Intent在多Activity中的使用 102 6.6.1 由一個Activity啓動另一個Activity 102 6.6.2 Activity間的數據交換 102 6.6.3 帶結果返迴的Activity 103 6.7 示例 104 6.8 習題 109 第7章 Service組件 110 7.1 什麼是Service 110 7.2 Service的生命周期 111 7.3 Service的常用方法 112 7.3.1 StartService啓動服務 113 7.3.2 BindService啓動服務 113 7.4 IntentService 114 7.5 提高Service優先級 116 7.6 使用係統服務 118 7.7 遠程Service 119 7.7.1 AIDL接口 119 7.7.2 遠程Service的實現 120 7.8 示例 125 7.9 習題 130 第8章 BroadcastReceiver組件 131 8.1 BroadcastReceiver 簡介 131 8.1.1 BroadcastReceiver概念 131 8.1.2 BroadcastReceiver機製 132 8.2 廣播消息的處理流程 132 8.2.1 廣播消息的處理流程 132 8.2.2 廣播接收者的實現方式 132 8.2.3 發送廣播 134 8.3 廣播類型及廣播的收發 134 8.3.1 普通廣播 134 8.3.2 有序廣播 135 8.4 處理係統的廣播消息 135 8.4.1 開機啓動服務 136 8.4.2 網絡狀態變化 138 8.4.3 電量變化 139 8.5 BroadcastReceiver的生命周期 140 8.6 示例 141 8.7 習題 147 第9章 Android數據存儲與共享 148 9.1 SharedPreferences 148 9.2 File 149 9.3 SQLite數據庫編程 154 9.2.1 SQLite簡介 154 9.2.2 SQLite示例 160 9.4 ContentProvider 168 9.5 示例 172 9.6 習題 183 第10章 網絡連接 184 10.1 網絡的訪問方式 184 10.1.1 HTTP方式 184 10.1.2 Socket方式 192 10.1.3 Wi-Fi方式 196 10.1.4 藍牙 197 10.1.5 獲取網絡的狀態 202 10.2 HTTP通信 203 10.2.1 標準的Java接口 203 10.2.2 Apache接口 204 10.2.3 Android的網絡接口 205 10.3 WebView 205 10.3.1 WebView簡介 205 10.3.2 WebView的實現 206 10.3.3 WebView的常見功能 206 10.4 Wi-Fi應用的開發 207 10.4.1 Wi-Fi係統 207 10.4.2 JNI 210 10.4.3 簡單的Wi-Fi應用開發 215 10.5 習題 217 第11章 多綫程 218 11.1 多綫程的實現 218 11.1.1 創建啓動綫程 218 11.1.2 休眠綫程 221 11.1.3 中斷綫程 222 11.2 多綫程消息傳遞機製 224 11.2.1 Looper的使用 224 11.2.2 Handler的使用 228 11.2.3 Message的使用 232 11.3 示例 233 11.4 習題 250 第12章 百度地圖API 251 12.1 百度Android SDK簡介 251 12.2 百度地圖API功能 251 12.2.1 地圖 251 12.2.2 POI檢索 252 12.2.3 地理編碼 252 12.2.4 綫路規劃 252 12.2.5 地圖覆蓋物 252 12.2.6 定位 252 12.2.7 離綫地圖 252 12.2.8 調啓百度地圖 252 12.2.9 周邊雷達 253 12.2.10 LBS雲 253 12.2.11 特色功能 253 12.3 申請密鑰 253 12.3.1 密鑰簡介 253 12.2.2 密鑰申請步驟 254 12.4 配置環境及發布 258 12.4.1 Eclipse工程配置方法 258 12.4.2 Android Studio工程配置方法 258 12.4.3 應用混淆 259 12.5 Hello BaiduMap 259 12.6 基礎地圖 262 12.6.1 地圖類型 262 12.6.2 實時交通圖 262 12.6.3 百度城市熱力圖 263 12.6.4 標注覆蓋物 263 12.6.5 幾何圖形覆蓋物 264 12.6.6 文字覆蓋物 265 12.6.7 彈齣窗覆蓋物 266 12.6.8 地形圖圖層 267 12.6.9 熱力圖功能 268 12.6.10 檢索結果覆蓋物 269 12.6.11 OpenGL繪製功能 271 12.7 檢索功能 273 12.7.1 POI檢索 274 12.7.2 公交信息檢索 275 12.7.3 綫路規劃 275 12.7.4 地理編碼 278 12.7.5 在綫建議查詢 279 12.7.6 短串分享 280 12.8 定位 281 12.9 事件監聽 282 12.9.1 Key驗證事件監聽 282 12.9.2 一般事件監聽 283 12.9.3 地圖事件監聽 284 12.10 習題 286 第13章 APP示例 287 13.1 周邊加油站APP簡介 287 13.2 App原型展示 287 13.3 聚閤數據開放平颱介紹 289 13.4 百度地圖API介紹 290 13.5 配置工程 290 13.6 聚閤數據解析 292 13.7 首頁當前位置和PIO繪製 297 13.8 數據序列化 303 13.9 列錶界麵 306 13.10 詳情界麵 309 13.11 導航界麵 312 13.12 運行效果 315 13.13 習題 316

《Linux係統編程與網絡協議深度解析》 內容簡介 本書旨在為有一定編程基礎的開發者提供一個深入理解Linux係統底層運作機製和網絡通信原理的係統性指南。我們不局限於錶麵API的調用,而是深入剖析Linux內核的設計哲學、核心組件的實現細節以及各類網絡協議的運作流程,幫助讀者構建對整個係統的全局性認識,從而編寫齣更高效、更穩定、更具可伸縮性的應用程序。 第一部分:Linux係統底層原理 本部分將帶領讀者穿越Linux操作係統的核心,揭示其脈搏與呼吸。我們將從最基礎的進程管理、內存管理、文件係統入手,逐步深入到綫程、進程間通信、信號量、鎖等關鍵係統編程概念。 進程與綫程模型: 深入探討Linux下進程和綫程的創建、銷毀、調度機製。理解進程地址空間、PCB(Process Control Block)的結構與作用,以及綫程的輕量級特性。我們將分析調度算法的演變,從早期的O(1)調度器到CFS(Completely Fair Scheduler)的精妙之處,並通過實際案例演示如何通過調整調度策略來優化應用程序性能。同時,我們將詳細講解fork()、execve()、clone()等係統調用的底層實現,以及它們在多任務處理中的關鍵作用。 內存管理: 剖析Linux內核如何管理物理內存和虛擬內存。從分頁機製、頁錶結構開始,深入理解MMU(Memory Management Unit)的工作原理,以及虛擬地址到物理地址的映射過程。我們將詳細講解缺頁中斷(Page Fault)的處理流程,內存分配器(如Buddy System、Slab Allocator)的設計思想和實現細節,以及TLB(Translation Lookaside Buffer)對性能的影響。此外,還將探討內存保護、內存映射(mmap)的工作原理及其在文件I/O和共享內存中的應用。 文件係統深入: 不僅僅是學習read()、write()等API,我們將深入瞭解Linux文件係統的內部結構,包括VFS(Virtual File System)的作用,以及ext4、XFS等常見文件係統的設計理念。我們將講解inode、dentry(目錄項)的生命周期,文件元數據的存儲與訪問,以及緩衝區緩存(Buffer Cache)和頁麵緩存(Page Cache)如何加速文件I/O。通過分析係統調用的執行路徑,揭示文件讀寫背後的復雜流程,包括係統調用、內核態切換、磁盤I/O等。 進程間通信(IPC): 除瞭管道、信號等基礎IPC機製,我們將重點講解更高級的IPC技術,如System V IPC(共享內存、消息隊列、信號量)和POSIX IPC(POSIX消息隊列、POSIX共享內存、POSIX信號量)。深入分析它們的工作原理、性能特點以及適用場景。我們將通過實際編程例子,演示如何利用這些機製在不同進程間高效地交換數據和同步操作。 同步與並發控製: 在多綫程和多進程環境下,同步問題至關重要。我們將詳細講解互斥鎖(mutex)、讀寫鎖(rwlock)、自鏇鎖(spinlock)、信號量(semaphore)等鎖機製的工作原理,以及它們在保護共享資源時的不同適用場景。深入分析死鎖的産生原因、檢測方法和避免策略。此外,還將介紹原子操作、內存屏障等底層同步原語。 第二部分:網絡協議棧深度解析 本部分將帶領讀者構建對TCP/IP協議棧的全麵理解,從最基礎的數據鏈路層,到應用層,層層剖析。我們將不僅僅停留在協議規範的介紹,而是深入到Linux內核的網絡協議棧實現,理解各個模塊是如何協同工作的,以及性能瓶頸可能齣現在哪裏。 網絡基礎與數據鏈路層: 迴顧網絡通信的基本概念,包括OSI模型與TCP/IP模型。深入理解以太網幀結構、MAC地址、ARP協議的工作原理。我們將講解Linux內核中的網絡接口驅動層,以及它如何與硬件交互。學習`socket`編程的基礎,理解套接字(socket)在網絡通信中的作用。 IP協議與路由: 深入解析IP(Internet Protocol)數據包的格式,包括源IP、目的IP、TTL等字段的含義。講解IP地址的分類、子網劃分以及NAT(Network Address Translation)技術。重點分析Linux內核中的IP路由機製,包括路由錶查找過程,以及策略路由等高級功能。我們將探討IP分片與重組的工作原理。 TCP協議深度剖析: TCP(Transmission Control Protocol)作為可靠的傳輸層協議,其復雜性不言而喻。我們將詳細講解TCP的三次握閤與四次揮手過程,理解TCP連接狀態的轉換。深入分析TCP的擁塞控製算法(如Tahoe, Reno, Cubic)的工作原理,以及TCP的流量控製機製(滑動窗口)。我們將剖析TCP報文段的結構,包括序列號、確認號、標誌位等。通過內核源碼分析,揭示Linux內核是如何實現TCP的發送端與接收端緩衝區管理、丟包重傳、超時檢測等功能的。 UDP協議與應用: 對比TCP,我們將深入講解UDP(User Datagram Protocol)的無連接、不可靠特性,以及其在DNS、DHCP、VoIP等場景下的應用。分析UDP報文段的結構,以及其在網絡傳輸中的簡單高效。 Socket API與高級網絡編程: 在掌握瞭底層協議棧的原理後,我們將深入學習更高級的`socket` API,包括`bind()`、`listen()`、`accept()`、`connect()`、`send()`、`recv()`、`sendto()`、`recvfrom()`等。重點講解阻塞與非阻塞`socket`的區彆,以及I/O多路復用技術(`select()`、`poll()`、`epoll()`)的工作原理和應用。通過實際案例,演示如何編寫高性能的網絡服務器和客戶端,如HTTP服務器、聊天室等。 高性能網絡編程技術: 探討現代高性能網絡服務器的設計模式,如Reactor模式、Proactor模式。深入分析epoll的實現原理,以及其在百萬連接場景下的優勢。我們將討論零拷貝(zero-copy)技術,如`sendfile()`,以及它如何顯著提升文件傳輸性能。此外,還將涉及粘包、拆包問題的解決策略,以及Reactor/Proactor與多綫程/多進程模型的結閤。 第三部分:係統與網絡性能調優與故障排查 理論學習最終需要落地到實踐。本部分將分享係統與網絡性能調優和故障排查的實戰經驗,幫助讀者在實際工作中快速定位問題並提升係統效率。 性能分析工具: 介紹Linux下常用的性能分析工具,如`top`、`htop`、`vmstat`、`iostat`、`netstat`、`ss`、`tcpdump`、`wireshark`、`perf`、`strace`、`lsof`等。講解如何使用這些工具監測CPU、內存、磁盤、網絡等資源的利用率,以及如何分析進程的係統調用和網絡通信。 係統調優策略: 針對CPU、內存、I/O、網絡等資源,提供具體的調優建議。包括內核參數的優化、文件係統掛載選項的調整、網絡協議棧參數的優化(如TCP緩衝區大小、連接超時設置)。 網絡性能瓶頸定位: 演示如何利用`tcpdump`等工具捕獲網絡流量,分析TCP連接的延遲、丟包、重傳等問題。講解如何判斷是應用程序、服務器、網絡設備還是ISP的問題。 常見係統故障排查: 總結常見的係統故障場景,如進程僵死、內存泄漏、磁盤IO過高、網絡不可達等,並提供係統的排查思路和方法。 目標讀者 本書適閤以下人群: 有C/C++或其他係統級編程語言基礎,希望深入理解Linux係統底層機製的開發者。 從事網絡服務開發、係統運維、嵌入式開發等工作的工程師。 希望提升應用程序性能、解決係統瓶頸的資深開發者。 對操作係統原理、計算機網絡有濃厚興趣,並希望將其應用於實際工作的技術愛好者。 閱讀本書,你將能夠: 深入理解Linux係統的工作原理,從進程調度到內存管理,從文件係統到IPC,構建堅實的理論基礎。 掌握TCP/IP協議棧的精髓,理解網絡通信的每一個環節,不再對網絡問題感到睏惑。 編寫更高效、更穩定、更健壯的係統級應用程序,有效利用係統資源。 熟練運用各類性能分析和故障排查工具,快速定位和解決實際問題。 構建對復雜係統全局的認知,為應對更高級的技術挑戰打下堅實基礎。 本書力求理論與實踐相結閤,通過豐富的代碼示例和實際案例,幫助讀者將抽象的概念轉化為解決實際問題的能力。

用戶評價

評分

我的技術背景偏嚮於後端,最近因為工作需要開始接觸Android開發。對於我來說,Android開發的一些概念,比如Context、Intent、Broadcast Receiver,都還是比較陌生的。我希望找到一本能夠從零開始,用清晰易懂的語言講解Android基礎知識的書籍。它最好能夠循序漸進,先講解Android的基本概念和開發環境的搭建,然後逐步深入到UI組件的構成、事件處理機製、數據持久化方式(如SharedPreferences, SQLite, Room),以及網絡通信(HTTP, OkHttp, Retrofit)等核心內容。我尤其關注那些能夠用通俗易懂的比喻來解釋復雜概念的書籍,這樣能幫助我這個“門外漢”快速建立起對Android開發的基本認識。當然,如果書中還能包含一些簡單的入門級項目實戰,讓我能夠動手實踐,驗證所學知識,那就更好瞭。我期待的是一本能夠真正把我領進Android開發大門的書,讓我不再覺得無從下手。

評分

我是一名Android應用的性能優化愛好者,經常關注各種性能測試工具和優化方法。我希望找到一本能夠深入剖析Android應用性能瓶頸的書籍。比如,如何通過Traceview、Systrace等工具來定位CPU、內存、網絡、渲染方麵的性能問題,以及如何有效地分析這些工具生成的報告。我特彆對那些能夠提供一套完整的性能優化體係的書籍感興趣,從代碼層麵、架構層麵,到係統資源利用層麵,都能有詳細的講解和指導。我希望瞭解如何優化UI渲染,減少卡頓,如何高效地管理內存,避免OAM(Out Of Memory)錯誤,如何優化網絡請求,減少數據傳輸量和等待時間,以及如何閤理利用多綫程,提高應用的響應速度。如果書中能包含一些實際案例,展示如何通過優化使應用性能得到顯著提升,那就再好不過瞭。我希望這本書能成為我解決各種性能難題的“寶典”。

評分

我最近在尋找一本能幫助我係統性梳理Android開發經驗的書籍。說實話,我接觸Android開發也有幾年瞭,也做過不少項目,但總感覺知識點零散,很多時候都是邊學邊用,缺乏一個完整的知識體係。我希望這本書能夠覆蓋Android開發的各個方麵,從基礎的四大組件、UI布局,到進階的網絡請求、數據存儲,再到更深層次的性能優化、多綫程處理、IPC通信等等。我特彆想瞭解如何在實際項目中有效地進行架構設計,比如MVC、MVP、MVVM等設計模式的應用,以及如何選擇和使用閤適的第三方庫,而不是盲目跟風。另外,書中如果能提供一些關於App安全加固、混淆以及如何應對市場上的惡意App攻擊的指導,那就非常有價值瞭。我更傾嚮於那些能夠提供清晰思路、方法論,並輔以大量實例講解的書籍,這樣我纔能將理論知識轉化為實際的開發能力,真正提升自己的技術水平,成為一個更全麵的Android開發者。

評分

作為一名Android開發者,我一直在探索如何提升用戶體驗,打造更加人性化、更具吸引力的App。我希望找到一本能夠從用戶體驗設計的角度來講解Android開發的書籍。它不應該僅僅是羅列UI組件的使用方法,更應該關注如何通過閤理的UI布局、動效設計、交互流程來提升用戶滿意度。例如,如何設計清晰直觀的導航,如何利用Material Design原則來創建美觀且易用的界麵,如何通過平滑的過渡動畫來增強用戶感知,以及如何為不同設備、不同屏幕尺寸的用戶提供一緻的、優秀的體驗。我特彆希望書中能包含一些關於用戶研究、可用性測試的方法論,以及如何將這些方法融入到開發流程中的指導。如果還能結閤一些優秀的App案例分析,講解它們是如何在用戶體驗上取得成功的,那就更能激發我的靈感,幫助我做齣更好的産品。

評分

最近實在是被Android開發的一係列問題搞得焦頭爛額,尤其是涉及到一些底層的Binder通信和內存管理方麵,總感覺抓不住核心。我這人習慣瞭遇到問題就刨根問底,想徹底搞懂它為什麼是這樣,而不是僅僅知道怎麼用。我看市麵上關於Android的書籍,很多都停留在UI開發、組件使用層麵,雖然實用,但總覺得少瞭點深度。我希望能找到一本能夠深入剖析Android架構,講解其內部機製的著作。比如,它如何管理進程和綫程?Activity的生命周期背後到底發生瞭什麼?SurfaceFlinger是如何渲染UI的?還有,內存泄漏究竟是怎麼産生的,又有哪些高級的檢測和優化技巧?如果能結閤源碼分析,那就更好瞭,畢竟看源碼是最直接理解原理的方式。當然,我也知道理論要結閤實踐,所以如果書中能提供一些解決實際復雜問題的案例,那就完美瞭,比如如何優化啓動速度,如何處理多綫程同步,或者在性能受限的設備上實現流暢的動畫效果。總而言之,我期待一本能夠帶我從“知其然”走嚮“知其所以然”的Android書籍,讓我能夠更從容地應對各種開發挑戰,寫齣更健壯、更高效的應用。

相關圖書

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

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有