Android App開發入門:使用Android Studio環境 ( 簡體 字) |
作者:施威銘 編著 | 類別:1. -> 程式設計 -> 手機程式 -> Android |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 44706 詢問書籍請說出此書號!【缺書】 NT售價: 445 元 |
出版日:7/1/2016 |
頁數:574 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111539582 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:學習 Android 程序設計一直困擾著許多初學者,其原因有兩個。首先,你必須會使用 Java 程序設計語言,并且要懂 Android 的 XML詞匯,然后才能開始學習 Android 的程序設計。其次,在學習的過程里又常見到一些程序設計老手所使用的行話與習慣,對于一個初學者而言,常會苦思不得其解,導致在學習的路上產生挫折、困頓。鑒于此,本書針對 Android 的初學者安排一套學習流程,期望降低學習門檻,讓學習曲線平滑、順暢,使讀者能迅速掌握 Android 程序設計的重點,不用浪費過多的時間。
許多人都說學 Android 需要先學 XML,但是事實上學 Android 并不需要先學 XML,而是要學 Android 的 XML詞匯。這兩者可是天壤之別,前者你可能要讀完一本厚厚的 XML大全集,但是對于掌握 Android 的 XML詞匯,事情就簡單多了,并且我們還會以圖形化界面的編輯器來完成畫面布局的 XML設計,這就和更改網絡游戲的一些圖形模塊一樣簡單。再者,初學階段的 Android 程序設計所用到的 Java 語言,也不需要初學者必須完完整整地讀完一本厚達七八百頁的 Java 程序設計語言教科書,初學者只需發揮三成的 Java 程序設計語言的功力就可以輕松寫好 Android 程序了。
所以,初學者真正要做的就是學習 Android 的程序架構、 Android API的使用以及運用自己的創意來開發手機或平板電腦的應用。本書并不是 Android的程序應用大全集之類的書,目的是幫助那些對 Android 程序設計感興趣的人來排除學習中的障礙,以便他們可以順利進入 Android 程序設計的領域。讀完本書,如果還有需要進一步學習的領域,可以參考我們編寫的一系列書籍。
施威銘 |
內容簡介:本書從初學者的角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用Android Studio開發環境開發Android應用程序應該掌握的各方面技術。全書共分16章,內容包括使用Android Studio開發Android App, Android程序設計基礎講座,應用程序界面設計,事件處理,用戶界面的基本組件,高級UI組件,即時消息與對話框,用Intent啟動程序中的其他Activity,用Intent啟動手機內的各種程序,拍照與顯示照片,播放音樂與視頻,用傳感器制作水平儀與體感控制, WebView與SharedPreferences,GPS定位、地圖與菜單, SQLite數據庫, Android互動設計等。所有知識都結合具體實例進行介紹,可以使讀者輕松領會Android應用程序開發的精髓,快速提高開發技能。 |
目錄:前言
第1章?使用Android Studio開發Android App
1-1?創建第一個 Android App 項目2
1-2?在計算機的仿真器上執行 App13
創建 Android 仿真器13
在仿真器上執行Android App17
調整仿真器的語言、時區及刪除App22
在Android Studio中查看仿真器與 App 的執行情況24
1-3?Android Studio 快速上手26
認識 Android Studio 的操作環境27
打開最近使用過的項目30
項目的移動、復制與刪除31
打開“移動或復制后”或“外來”的項目32
1-4?Android 項目的構成34
Android 資源文件的“多版本”特色36
習題42
第2章?Android 程序設計基礎講座
2-1?Android App 的主角:Activity45
Activity(活動)45
Activity App的組成46
2-2?Android 程序的設計流程47
視覺設計和程序邏輯47
用圖形化界面來做視覺設計49
用Java 來編寫程序邏輯50
把視覺設計與程序代碼構建(Build)起來51
2-3?認識 Activity 的基本程序邏輯51
初識 MainActivity 框架51
onCreate():MainActivity 第一件要做的事53
setContentView():載入布局文件56
資源的 ID56
2-4?組件的布局與屬性設置58
id 屬性60
findViewById() 方法60
常見的屬性類型61
在屬性中直接設置值62
在屬性中設置引用(Reference)62
在屬性中設置方法的名稱63
2-5?開始動手編寫程序64
范例2-1 ?單擊按鈕就放大顯示的文字64
2-6?輸入字段 EditText 組件87
getText():獲取用戶輸入的文字87
setText():設置 TextView 顯示的文字88
范例 2-2 ?加入 EditText 組件88
2-7?使用 USB 線將程序部署到手機上執行92
打開手機調試功能93
通過 USB 將 Android App 傳送到手機安裝并執行94
執行已安裝的程序95
2-8?修改項目的程序包名稱和應用程序 ID96
習題 102
第3章?Android App界面設計
3-1?View與ViewGroup(Layout):組件與布局104
View:視覺組件104
View 組件的屬性與設置106
再談 id 屬性107
Layout:畫面布局109
3-2?使用 LinearLayout 建立畫面布局110
LinearLayout:按序排列組件111
范例3-1 ?在布局中使用 LinearLayout112
范例3-2 ?使用 LinearLayout (Horizontal) 創建窗體115
imputType 屬性:設置輸入字段種類119
范例3-3 ?加入輸入電話專用的 EditText119
3-3?使用 weight 屬性控制組件的寬/高125
范例3-4 ?利用weight屬性對齊組件126
3-4?通過屬性美化外觀129
組件的邊界:margins 與 paddings129
范例3-5 ?設置邊界讓輸入窗體版面變寬松131
顏色:以 RGB 值設置文字或背景顏色133
范例3-6 ?設置文字及背景顏色134
3-5?以程序設置組件的外觀屬性138
setTextColor():改變文字顏色138
范例3-7 ?變色龍—以隨機數設置顏色屬性139
3-6?使用 Gmail 將程序寄給朋友測試143
設置可以安裝非 Google Play 商店下載的程序143
將程序寄給朋友安裝144
習題148
第4章?與用戶互動——事件處理
4-1?事件處理的機制150
來源對象與監聽對象150
Java 的接口(Interface)150
4-2?“單擊”事件的處理153
范例4-1 ?每單擊一次按鈕,就讓計數器加 1154
4-3?監聽“長按”事件158
onLongClick():處理“長按”事件159
范例 4-2 ?長按按鈕將計數值歸零159
4-4?處理不同來源對象的相同事件161
getId():判斷事件的來源對象161
范例4-3 ?長按按鈕計數加 2,長按計數值可歸零162
4-5?監聽“觸控”事件讓手機震動163
onTouch():觸控事件的處理164
如何讓手機震動164
范例4-4 ?監聽TextView的觸控事件165
在程序中登記“震動”的權限166
習題 172
第5章?用戶界面的基本組件
5-1?多選一的單選按鈕(RadioButton)174
RadioButton 與 RadioGroup 組件174
getCheckedRadioButtonId():讀取單選按鈕狀態174
范例 5-1 ?讀取 RadioGroup 選取的選項175
onCheckedChanged():選項改變的事件180
范例 5-2 ?利用 RadioButton 選擇溫度轉換單位180
5-2?可復選的復選框(CheckBox)188
isChecked():檢查是否被選取189
范例 5-3 ?以復選框創建餐點選單189
onCheckedChanged():選取/取消復選框的事件192
范例5-4 ?利用選取事件實時修改訂單193
5-3?顯示圖像的 ImageView200
使用 Android 系統內建的圖像資源200
范例 5-5 ?顯示系統內建圖像201
使用非 Android 內建(自行提供)的圖像資源204
范例5-6 ?替選單加上圖片204
圖像的縮放控制211
習題214
第6章?高級UI組件:Spinner 與 ListView
6-1?Spinner選單組件217
Spinner 組件的屬性設置217
getSelectedItemPosition()讀取 Spinner 組件的選取項218
范例6-1 ?使用Spinner設計購票程序219
onItemSelected():Spinner 組件的選擇事件224
范例 6-2 ?運動能量消耗計算器224
6-2?ListView 列表框230
onItemClick(): ListView 的單擊事件231
范例 6-3 ?使用 ListView 創建選單232
6-3?在程序中變更 Spinner 的顯示選項236
ArrayAdapter:Spinner 與數據的橋梁237
ArrayAdapter():創建 ArrayAdapter 對象237
setDropDownViewResource():設置選單選項的顯示樣式238
setAdapter():將 ArrayAdapter 與 Spinner 綁在一起239
范例 6-4 ?使用 Spinner 制作飲料訂單239
習題244
第7章?即時消息與對話框
7-1?使用 Toast 顯示即時消息247
Toast 類248
范例7-1 ?腦筋急轉彎—用 Toast 顯示答案249
Toast 信息的取消顯示與更新顯示252
范例7-2 ?實時顯示答案的腦筋急轉彎252
7-2?使用 Alert 對話框255
AlertDialog 類256
AlertDialog.Builder:設置與創建 Alert 對話框257
setCancelable():設置按返回鍵關閉對話框257
show():創建并顯示對話框257
創建 Alert 對話框的簡潔寫法258
范例7-3 ?顯示歡迎信息的對話框259
在對話框中加入按鈕261
范例7-4 ?Android 問卷調查262
7-3?使用日期、時間對話框266
DatePickerDialog 與 TimePickerDialog 類266
onDateSet() 與 onTimeSet():獲取選取的日期與時間268
范例7-5 ?日期時間選擇器268
習題274
第8章?用Intent啟動程序中的其他Activity
8-1?在程序中新增 Activity276
范例8-1 ?在項目中新增 Activity276
8-2?用 Intent 啟動程序中的 Activity279
startActivity():用明確 Intent 啟動 Activity279
finish():結束 Activity280
范例8-2 ?用 Intent 來啟動 Activity280
8-3?在 Intent 中夾帶數據傳給新 Activity284
putExtra():附加數據到 Intent 中284
getIntent() 與 getXxxExtra():從 Intent 中取出數據285
范例8-3 ?在啟動新 Activity 時傳送數據285
8-4?要求新的 Activity 返回數據293
范例8-4 ?在新 Activity 結束時將數據返回294
習題299
第9章 用Intent啟動手機內的各種程序
9-1?使用 Intent 啟動程序的方式301
setAction() 及 setData():加入動作和數據到 Intent 中302
Uri:Intent 的數據302
范例9-1 ?快速撥號程序303
9-2?使用 Intent 啟動電子郵件、短信、瀏覽器、地圖與 Web 搜索305
電子郵件地址306
短信307
網址307
經緯度坐標值307
搜索 Web 數據307
范例9-2 ?使用 Intent 啟動電子郵件、短信、瀏覽器、地圖與 Web 搜索308
從啟動的程序返回數據314
習題316
第10章 拍照與顯示照片
10-1?使用 Intent 啟動系統的相機程序318
利用 Bundle 取出 Intent 中附帶的 Bitmap 對象319
范例10-1 ?利用系統的相機程序來拍照319
10-2?要求相機程序存盤323
準備代表圖像文件路徑的 Uri323
用 BitmapFactory 類讀取圖像文件324
范例10-2 ?要求相機程序存盤并在程序中顯示出來325
10-3?解決照片過大問題327
用 BitmapFactory.Options 設置加載圖像文件的選項327
范例10-3 ?按顯示尺寸來加載縮小的圖像文件328
10-4?旋轉手機與旋轉照片330
關閉自動旋轉功能并設置屏幕為直向顯示331
用 Matrix 對象來旋轉圖片332
范例10-4 ?按照片是直拍還是橫拍而自動旋轉照片333
10-5?使用 Intent 瀏覽并選取照片336
將照片改為可供系統共享的文件338
范例10-5 ?利用 Intent 瀏覽并選取已拍好的照片339
習題 345
第11章 播放音樂與視頻
11-1?使用 Intent 來選取音樂或視頻348
讀取預存在程序中的多媒體文件350
范例11-1 ?讓用戶挑選影音文件351
11-2?用 MediaPlayer 播放音樂356
MediaPlayer的音樂播放流程356
MediaPlayer可引發的 3 個重要事件357
處理在播放音樂時切換到其他程序的情況358
讓屏幕不進入休眠狀態360
范例11-2 ?用 MediaPlayer 播放音樂360
11-3?用 VideoView 播放視頻370
使用 VideoView 搭配 MediaController 來播放視頻370
用程序控制 VideoView 的視頻播放370
設置全屏幕顯示371
處理在播放視頻時切換到首頁或其他程序的情況372
處理在播放時旋轉手機的情況374
范例11-3 ?打開新的 Activity 來播放視頻375
習題 382
第12章 用傳感器制作水平儀與體感控制
12-1?讀取加速傳感器的值385
認識加速傳感器385
獲取系統的傳感器對象386
讀取傳感器的值387
范例12-1 ?顯示加速傳感器的加速度值388
12-2?利用 x、y 軸的加速度值來制作水平儀
利用左邊界與上邊界來移動圖片391
范例12-2 ?利用加速傳感器制作水平儀393
12-3?利用加速傳感器來做體感控制396
檢測手機面朝下平放的狀態396
檢測手機搖動397
范例12-3 ?利用加速傳感器來控制音樂播放398
習題402
第13章 WebView 與 SharedPreferences
13-1?使用 WebView 顯示網頁404
范例13-1 ?顯示京東網站404
13-2?改進 WebView功能 408
使用 WebSettings 啟用網頁縮放和 JavaScript409
使用 WebViewClient 處理開啟超鏈接操作410
使用 WebChromeClient 創建網頁加載進度接口410
使用 ProgressBar 顯示進度條412
使用 onBackPressed() 實現回上一頁功能413
范例13-2 ?改善 WebView 行為413
13-3?使用SharedPreferences記錄信息418
使用 SharedPreferences 對象存儲數據418
讀取首選項數據419
存儲/恢復數據的時機:onPause()/onResume()420
范例13-3 ?flickr 照片快搜421
習題428
第14章 GPS定位、地圖、菜單
14-1?獲取手機定位數據431
LocationManager:系統的定位管理器431
定位提供者431
用 getBestProvider() 方法獲取定位提供者名稱432
用 requestLocationUpdates() 注冊位置更新事件的監聽器432
實現 LocationListener 接口433
用 removeUpdate() 方法取消注冊監聽器434
范例14-1 ?獲取所在位置(經緯度)435
14-2?定位信息與地址查詢441
用 Geocoder 類做地址查詢441
Address 地址對象442
范例14-2 ?地址專家——用經緯度查詢地址442
14-3?在程序中顯示 Google Map447
使用 Google Map 的前置準備447
如何使用 Google Map449
范例14-3 ?在 Google Map 中顯示當前所在位置455
14-4?幫 Activity 加上菜單466
Activity 默認的菜單467
設置菜單的內容468
編寫菜單所需的 2 個方法469
范例14-4 ?為程序加上菜單470
習題 479
第15章 SQLite 數據庫
15-1?認識 SQLite 數據庫481
數據庫、數據表、數據字段481
使用 CREATE TABLE 語句創建數據表482
使用 openOrCreateDatabase() 創建數據庫483
用 execSQL() 方法執行 "CREATE TABLE" 語句483
用 insert() 方法和 ContentValues 對象新增數據484
范例15-1 ?創建數據庫及數據表484
15-2?查詢數據及使用 Cursor 對象487
使用 SELECT語句進行數據查詢487
使用 Cursor 對象獲取查詢結果488
使用 Cursor 對象的 getXXX() 方法讀取數據489
范例15-2 ?使用 Cursor 對象讀取查詢結果490
15-3?熱線通訊家492
使用 SimpleCursorAdapter 自定義 ListView 版面493
數據表的 _id 字段494
范例15-3 ?熱線通訊家495
習題 506
第16章 Android 互動設計——藍牙遙控自走車 iTank
16-1?讓 Android 與外部的設備互動508
iTank 智能型移動平臺基本款簡介508
FlagAPI 簡介509
點亮 LED 的指令510
16-2?點亮 iTank 控制板上的 LED 燈510
范例16-1 ?點亮 LED1511
16-3?手機藍牙遙控 iTank518
FlagTank 類518
范例16-2 ?手機藍牙遙控車519
習題523
附錄A OO與Java:一招半式寫 App
A-1?對象與類526
屬性與行為526
類526
對象527
存儲對象的變量只是一個轉向器528
指向自己的 this 變量529
重載的方法 (Overloading)532
對象的構造函數(Constructor)533
static:類變量與方法535
A-2?繼承與接口538
extends:繼承538
Override:重寫父類中的方法539
界面 (Interface)541
A-3?類庫與程序包546
程序包 (Package)546
用 import 導入程序包名稱548
用 package 將類包裝在程序包中550
附錄B 常用的 Android Studio 選項設置
B-1?快速找出想要設置的選項553
B-2?設置文件編碼方式554
B-3?顯示行號555
B-4?調整字號555
B-5?設置自動化的 Import 功能557
B-6?調整各類警告與錯誤的檢查功能557
附錄C 使用舊項目或外來項目時的問題排除
附錄D 關于 Android 的 XML
附錄E 導入 ADT 項目 |
序: |