總金額: 會員:NT$ 0 非會員:NT$ 0 
(此金額尚未加上運費)
電子電信技術 電子電信技術 通信與無線電學應用
 
 
 
 
Android9編程通俗演義(配件另行下載)
 作  者: 牛搞
 出版單位: 清華大學
 出版日期: 2019.04
 進貨日期: 2019/6/18
 ISBN: 9787302523932
 開  本: 16 開    
 定  價: 668
 售  價: 534
  會 員 價: 490
推到Facebook 推到Plurk 推到Twitter
前往新書區 書籍介紹 購物流程  
 
編輯推薦:

Android App開發是當前最熱門的工作之一。Android系統開源、免費,應用面廣,從手機到穿戴設備,從智慧家居到汽車導航,Android已經滲透到工業生產、生活的方方面面。總體來說當前Android開發人才需求很大,學習Android開發就業面廣,薪資提升快。本書作者有十五年軟體發展實戰經驗,三年以上IT實訓教學經驗,深入瞭解各種技術、架構、設計模式。本文對Android開發技術力求以通俗易懂的語言進行透徹講解,讓讀者閱讀此文不吃力且收穫良多。


內容簡介:

本書嚴格參考Android 9官方開發文檔的邏輯,全面講解Android開發中的各種技術,章節內容循序漸進,精心安排,翔實全面,且又通俗易懂,既不是術語的羅列,也不是不知所云的翻譯。 本書分為18章,內容包括配置Android 9開發環境、第一個App、UI資源與Layout、各種Layout控制項、代碼操作控制項、Activity導航、Theme、Fragment、功能表、動畫、自訂控制項、RecyclerView、模仿QQApp介面、實現聊天介面、多執行緒、網路通信、非同步調用庫RxJava、實現聊天


作者簡介:

軟體發展從業15年程式設計實戰經驗,流媒體技術專家,高性能伺服器專家。CSDN知名博主。現為IOS、Adroid、C 高級培訓講師。


圖書目錄:

第1章 配置Android開發環境 1
1.1 下載Android Studio 1
1.2 安裝Android Studio 2
1.3 配置Android SDK 4
1.4 四原則 6
第2章 第一個App 8
2.1 創建第一個App 8
2.2 運行App 12
2.2.1 在真實設備上調試 13
2.2.2 配置虛擬機器 15
2.2.3 啟動App 18
2.2.4 x86虛擬機器加速 19
2.2.5 App的樣子 21
2.3 工程裡面有什麼 22
第3章 UI資源與Layout 24
3.1 Layout 24
3.2 改動Layout 27
3.2.1 添加圖像資源 30
3.2.2 顯示自己的圖像 32
3.2.3 XML小解 35
3.2.4 Layout源碼解釋 36
3.3 排版姿方法之ConstraintLayout 37
3.3.1 ConstraintLayout的原理38
3.3.2 子控制項在ConstraintLayout中居左或居右 39
3.3.3 子控制項在ConstraintLayout中橫向居中 40
3.3.4 子控制項在ConstraintLayout中居中偏左 41
3.3.5 子控制項A在子控制項B的上面 42
3.3.6 子控制項A與子控制項B左邊對齊 43
3.3.7 設置子控制項的寬和高 44
3.3.8 子控制項的寬和高保持一定比例 45
3.4 排版方法之RelativeLayout 48
3.4.1 把ConstraintLayout改為RelativeLayout 49
3.4.2 左右對齊與居中 51
3.4.3 充滿整個父控制項 52
3.4.4 兄弟之間相對排 53
3.4.5 dp是什麼 55
3.4.6 使用RelativeLayout設計登錄頁面 56
3.5 讓內容“滾” 63
3.5.1 添加ScrollView作為最外層容器 63
3.5.2 改正在ScrollView下的排版66
3.6 添加新的Layout資源 70
第4章 各種Layout控制項 72
4.1 FrameLayout 72
4.2 LinearLayout 72
4.2.1 縱向LinearLayout中子控制項橫向居中 74
4.2.2 子控制項均勻分佈 75
4.2.3 子控制項按比例分佈 76
4.2.4 用LinearLayout實現登錄介面 77
4.3 GridLayout 79
4.4 TableLayout 80
第5章 代碼操作控制項 81
5.1 在Activity中創建介面 81
5.1.1 類R 82
5.1.2 Activity的父類 82
5.1.3 四大組件 82
5.2 在代碼中操作控制項 83
5.2.1 獲取View 84
5.2.2 回應View的事件 86
5.2.3 添加依賴庫 87
5.2.4 顯示提示 90
第6章 Activity導航 93
6.1 創建註冊頁面 93
6.2 啟動註冊頁面 94
6.3 設計註冊頁面 98
6.4 回應註冊按鈕進行註冊 102
6.5 獲取頁面返回的資料 103
6.5.1 避免常量重複出現 105
6.5.2 日誌輸出 106
6.5.3 將返回的資料設置到控制項中 107
6.6 Action Bar上的返回圖示 109
6.6.1 原生Action Bar與MaterailDesign Action Bar 109
6.6.2 登錄頁面顯示返回圖示 111
6.6.3 註冊頁面顯示返回圖示 112
第7章 Theme 113
第8章 Fragment 115
8.1 弄巧成拙的Activity 115
8.2 使用Fragment 117
8.3 改造登錄頁面 120
8.3.1 添加layout檔 120
8.3.2 改變layout檔的內容 121
8.3.3 添加Fragment類 122
8.3.4 將Fragment放到Activity中 126
8.3.5 創建註冊Fragment 126
8.3.6 顯示RegisterFragment 128
8.3.7 通過AppBar控制頁面導航 129
8.3.8 實現RegisterFragment的邏輯 129
8.3.9 LoginFragment中讀出用戶名和密碼 131
8.3.10 Fragment的生命週期 132
8.3.11 Fragment狀態保存與恢復 133
8.3.12 總結 134
8.4 對話方塊 138
8.4.1 創建子類 138
8.4.2 顯示對話方塊 140
8.4.3 回應返回鍵 141
8.4.4 取消輸入控制項的焦點 142
第9章 菜單 143
9.1 添加菜單資源 144
9.2 重寫onCreateOptionsMenu() 147
9.3 嵌套菜單 148
9.4 功能表項目分組 150
9.5 回應功能表項目 150
9.6 其他菜單類型 152
第10章 動畫 153
10.1 動畫原理 153
10.2 三種動畫 154
10.3 View動畫 155
10.3.1 繞著中心轉 156
10.3.2 不要反向轉 157
10.3.3 舉一反三 158
10.3.4 動畫組 158
10.4 屬性動畫 159
10.4.1 旋轉動畫 159
10.4.2 動畫組 160
10.5 動畫資源 164
10.6 Layout動畫 167
10.6.1 向Layout控制項添加子控制項 167
10.6.2 ViewGroup 168
10.6.3 設置排版動畫 169
10.7 轉場動畫 171
10.7.1 使用默認轉場動畫 171
10.7.2 自訂轉場動畫 172
第11章 自訂控制項 176
11.1 創建一個Custom View 177
11.2 Custom View類 179
11.2.1 構造方法 179
11.2.2 onDraw()方法 180
11.2.3 init()方法 182
11.2.4 自訂屬性 184
11.2.5 作畫 186
11.3 創建圓形圖像控制項 188
11.3.1 將Drawable轉成Bitmap 191
11.3.2 變換矩陣 192
11.3.3 自訂屬性的改動 193
11.3.4 類的所有代碼 195
第12章 RecyclerView 200
12.1 基本用法 200
12.2 顯示多條簡單資料 201
12.2.1 添加新頁面 201
12.2.2 創建Adapter子類 203
12.2.3 設置RecyclerView 205
12.2.4 用集合保存資料 206
12.3 讓子控制項複雜起來 207
12.3.1 創建條目的Layout資源 208
12.3.2 應用條目Layout資源 210
12.3.3 明顯區分每一行 212
12.3.4 創建音樂資訊類 214
12.3.5 使用音樂資訊類 215
12.4 增刪改 217
12.4.1 增加一條 217
12.4.2 其他操作 219
12.5 局部刷新 219
12.6 運行效率優化 220
12.7 回應item選擇 221
12.8 顯示不同類型的行 223
12.8.1 添加新Item數據類 224
12.8.2 添加Item Layout 225
12.8.3 創建新的ViewHolder類 226
12.8.4 區分不同的View Type 227
第13章 模仿QQApp介面 230
13.1 創建新的Android專案 230
13.2 設計登錄頁面 230
13.2.1 創建登錄Fragment 230
13.2.2 設計登錄介面 232
13.2.3 UI代碼 233
13.2.4 顯示登錄歷史 236
13.2.5 設計歷史功能表項目 240
13.2.6 實現顯示歷史的代碼 241
13.2.7 selector資源 243
13.2.8 layer_list資源 244
13.2.9 定制控制項背景 245
13.2.10 動畫顯示功能表 246
13.2.11 讓功能表消失 247
13.2.12 回應選中功能表項目 248
13.3 QQ主頁面設計 250
13.3.1 設置巡覽列 254
13.3.2 設置Tab欄 255
13.3.3 改變Tab Item圖示 258
13.3.4 為ViewPager添加內容 259
13.3.5 ViewPager與TabLayout聯動 261
13.3.6 在Tab Item中顯示圖像 263
13.3.7 禁止ViewPager滑動翻頁 266
13.3.8 創建“消息”頁 267
13.3.9 顯示氣泡功能表 274
13.3.10 抽屜效果 293
13.3.11 創建“連絡人”頁 308
13.3.12 創建“動態”頁 328
13.3.13 實現搜索功能 329

第14章 實現聊天介面 339
14.1 實現原理分析 339
14.2 創建聊天Activity 340
14.2.1 activity_chat.xml 340
14.2.2 類ChatActivity 342
14.2.3 顯示消息的layout 344
14.3 啟動ChatActivity 346
14.4 模擬聊天 347
第15章 多執行緒 349
15.1 執行緒與進程的概念 349
15.2 創建執行緒 350
15.3 創建執行緒的另一種方法 352
15.4 多個執行緒操作同一個物件 353
15.5 單執行緒中非同步執行 356
15.6 多執行緒間同步執行 357
15.7 在其他執行緒中操作介面 358
15.8 HandlerThread 360
15.9 執行緒的退出 361
第16章 網路通信 363
16.1 網路基礎知識 363
16.1.1 IP位址與功能變數名稱 363
16.1.2 TCP與UDP 364
16.1.3 HTTP協議 364
16.2 Android HTTP通信 365
16.3 使用“非同步任務” 369
16.3.1 定義非同步任務類 369
16.3.2 使用非同步任務類 370
16.3.3 完善非同步任務類 371
16.3.4 非同步任務的退出 378
16.4 使用OkHttp進行網路通信 380
16.4.1 使用OkHttp下載圖像 381
16.4.2 創建Web服務端 383
16.4.3 使用OkHttp下載資料 385
16.4.4 JSON轉物件 387
16.4.5 使用OkHttp上傳檔 388
16.5 使用Retrofit進行網路通信 391
16.5.1 加入Retrofit的依賴項 391
16.5.2 用Retrofit下載文本 392
16.5.3 用Retrofit下載圖像 393
16.5.4 用Retrofit上傳圖像 394
第17章 非同步調用庫RxJava 397
17.1 小試牛刀 397
17.2 精簡發送代碼 400
17.3 精簡接收代碼 401
17.4 RxJava與Lamda 402
17.5 map與flatmap 404
17.6 並行map 405
17.7 RxJava與Retrofit合體 406
17.8 RxJava Retrofit合體並存執行 407
第18章 實現聊天功能 409
18.1 改進登錄功能 411
18.1.1 制定統一的資料返回結構 411
18.1.2 向ChatService中添加方法 413
18.1.3 登錄請求 414
18.1.4 保存自己的資訊 417
18.1.5 防止按鈕重複點擊 418
18.1.6 顯示進度條 418
18.2 獲取連絡人 421
18.2.1 修改Retrofit介面 422
18.2.2 RxJava計時器 422
18.2.3 獲取並顯示連絡人 423
18.2.4 出錯重試 425
18.2.5 停止網路連接 425
18.3 發出聊天消息 427
18.3.1 定義承載消息的類 427
18.3.2 在介面中添加方法 428
18.3.3 在ChatActivity中初始化Retrofit 429
18.3.4 上傳消息 429
18.3.5 失敗重傳 431
18.4 獲取聊天消息 431
18.4.1 為ChatService增加方法 431
18.4.2 發出請求 431


章節試讀:

前 言


自從iOS橫空出世,移動應用開發持續火爆,人才需求量節節攀升,開發人員的薪資也勇攀高峰。但是,隨著一批跨平臺移動開發框架(如基於JavaScript的PhoneGap 、React Native,基於.Net的Xarmain等)的出現,企業對iOS與Android原生開發的需求量下降,其實大家在招聘網站上就可以感受到相關職位的減少。然而,所謂的跨平臺移動開發其實是個大坑!原因很簡單:沒有一個作業系統願意與其他的系統相容、統一。比如Android與iOS,即使它們在不停地互相學習,功能越來越相似,但是它們的開發語言、SDK、API等不論在哪個層面都絕不相容。所以當使用跨平臺框架開發同時相容iOS和Android的App時,就會踩到很多坑。更悲催的是,一旦某個作業系統升級了,你使用的框架可能馬上會出現相容性問題,你可以等待框架開發者把這個問題修正,但不知何年何月,實在等不了,你只能自己修正問題,於是你需要對這個框架的底層很熟悉,並且還要同時熟悉iOS與Android的原生開發,也就是說,你買了一個複雜的工具,你需要用它做兩樣不同的產品,你既需要學習如何使用這個工具,還要學習這兩個產品的製作流程,還要學會修理和改進這個工具,有點恐怖啊!當然這可以煆練你的能力,讓你成為牛人中的牛人,但是這會拖延開發進度,你的老闆能接受嗎?
最近出現了很多反思這些框架的聲音,而且已經有國外公司放棄React Native的事件發生,同時我在各技術群中感受到Android和iOS開發的招聘數量比過去兩年有明顯的增加,這都說明大家正在回歸原生開發。當然我不是在完全否定跨平臺開發框架,它們有它們的適應場景,比如一個電子商城App,只提供商品展示、拍照、收藏、購物等常見功能,跨平臺框架是完全能勝任的,但問題是,你依然需要熟悉原生開發,才能用好跨平臺開發框架!本書講的就是Android原生開發的故事,情節跌宕起伏,一波三折,相信你會喜歡。
作者心聲
如何才能輕鬆學會一門開發技術? 估計這個問題很多人都思考過,因為學技術或者說研究技術真的很難!(是不是說出了大家的心聲?)大家應該都有感受:真正掌握一門開發技術其實需要很長時間。即使你是一隻長期浸淫各種技術的“千年老妖”,給你一門陌生的技術,你還是會感受到入門的痛苦,你雖然瞭解各種模式、玩過各種知識,但是你就是無法在短時間內真正參透它。
為什麼會這樣? 原因很簡單:技術本來就是複雜的!但大家經常會聽到有人說,某某開發很簡單,怎樣怎樣做就行了,隨便學學就會了……這種鬼話,誰信誰上當!因為你真正動手使用它時,發現幾乎一步一個坑!實際存在這樣一個規律:僅學習如何使用一門技術而不真正搞懂其原理,你是不會用這門技術的,那個說簡單的人,因為他已經完全掌握了這項技術,但他忘了他入門時所花費的腦力、時間以及經受的痛苦。
我說技術本來就複雜,可能有人不服,但我相信你仔細思考之後,就會同意這個觀點。一項技術可能用一句話就能說清楚它的用途或概括它的原理,但當你真正運用它時,你就會發現裡面隱藏了無數的細節,而且它還依賴很多其他的技術,你要一步步跨越這些溝溝坎坎,填平你的技術窪地,才能俘獲它。
但是,學習技術難,把技術用文字講明白更難!我到現在也沒讀到能讓我輕輕鬆松看明白一門技術的書。尤其對於基礎差的人來說,他們喜歡湊熱鬧買很多“技術名著”,但最終發現能看懂的內容寥寥無幾!
為什麼技術書藉都那麼晦澀難懂呢? 我想有三方面的主要原因:一是技術黑話(就是術語)太多;二是沒有為讀者補齊知識差距,作者只在自己的高度上講啊講,讀者可能跟你隔著一層天;三是太多概括和抽象,把人整得雲裡霧裡。
所以,我嘗試改變技術書藉中的這些問題,寫一本老少皆宜、童叟無欺、雅俗共賞的書,為大家講明白一門複雜而龐大的技術:Android開發。本書對讀者的知識基礎也僅要求會用Java語言,希望大家讀起來輕輕鬆松。在書中作者儘量以通俗的語言講述各種概念,每個技術點都以具體的案例引出,儘量不勞您費神思考。本書中還配了大量的截圖,就是希望讀者即使不動手操作,也能學個八九不離十。
本書的定位是Android開發入門,但是其中也涉及很多高級的技術內容和熱門協力廠商庫,比如多執行緒、RxJava、網路通信、Retrofit、前後臺結合等,所以絕不僅僅適合沒有基礎的人。本書也適合那些未接觸Android開發的其他領域的高手們,如果他們要快速瞭解Android開發的方方面面,這本書絕對是非常好的選擇。
本書以App實例開發驅動,帶領讀者一步步完成一個仿QQApp的應用,保證讓讀者輕鬆搞懂每種技術的用途,並體驗到每種技術的使用模式。本書緊跟Andriod SDK的更新腳步,所有例子都可在Android 9開發環境下編譯和運行。
代碼下載
聯繫作者
作者在IT開發領域工作近20年,由於對技術的愛好,一直沒有脫離開發一線。近幾年轉向IT教學方向,一直致力於解決教學中的痛點與難點,總結IT學習的規律,並創建“被動式IT教學法”,能在降低教師工作量的同時有效提高學生學習效果。限於作者的水準,書中難免存在疏漏之處,還望各位讀者批評指正。
最後,感謝各位朋友的大力幫助,此書的順利面世離不開各位朋友的共同努力!



著 者
2019年2月

 
  步驟一.
依據網路上的圖書,挑選你所需要的書籍,根據以下步驟進行訂購
選擇產品及數量 結 帳 輸入基本資料 取貨與付款方式
┌───────────────────────────────────────────────────┘
資料確定 確認結帳 訂單編號    

步驟二.
完成付款的程序後,若採用貨到付款等宅配方式,3~7天內 ( 例假日將延期一至兩天 ) 您即可收到圖書。若至分店門市取貨,一週內聯絡取書。

步驟三.
完成購書程序者,可利用 訂單查詢 得知訂單進度。

注意事項.
● 付款方式若為網路刷卡必須等" 2 ~ 3 個工作天"確認款項已收到,才會出貨.如有更改書籍數量請記得按更新購物車,謝謝。

● 大陸出版品封面老舊、磨痕、凹痕等均屬常態,除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。

● 至2018年起,因中國大陸環保政策,部分書籍配件以QR CODE取代光盤音頻mp3或dvd,已無提供實體光盤。如需使用學習配件,請掃描QR CODE 連結至當地網站註冊並通過驗證程序,方可下載使用。造成不便,敬請見諒。

● 我們將保留所有商品出貨權利,如遇缺書情形,訂單未達免運門檻運費需自行負擔。

預訂海外庫存.
商品到貨時間須4週,訂單書籍備齊後方能出貨,如果您有急用書籍,建議與【預訂海外庫存】商品分開訂購。