內容簡介
全書採用了最新的Android SDK 4.3/4.4版本, 提供精選的7個生動的例子, 全面闡述了Android套用編程的完整過程。本書後半部分講解了Java的核心編程知識, 在開發Android套用時都要用到它們, 其中包括: Java套用簡介, 類、 對象、 方法和字元串, 控制語句, 方法, 數組, 類和對象, 繼承與多態, 異常處理, GUI組件和事件處理。每章都提供了大量的自測題、 習題和項目練習, 方便讀者鞏固所學知識。
目錄
第1章 Android簡介
1.1 簡介
1.2 Android——世界領先的移動作業系統
1.3 Android的特點
1.4 Android作業系統
1.4.1 Android 2.2(Froyo)
1.4.2 Android 2.3(Gingerbread)
1.4.3 Android 3.0~3.2(Honeycomb)
1.4.4 Android 4.0~4.0.4(Ice Cream Sandwich)
1.4.5 Android 4.1~4.3(Jelly Bean)
1.4.6 Android 4.4(KitKat)
1.5 從Google Play下載套用
1.6 包
1.7 Android軟體開發工具集(SDK)
1.8 面向對象編程: 簡短回顧
1.8.1 汽車作為對象
1.8.2 方法與類
1.8.3 實例化
1.8.4 復用
1.8.5 訊息與方法調用
1.8.6 屬性與實例變數
1.8.7 封裝
1.8.8 繼承
1.8.9 面向對象的分析與設計(OOAD)
1.9 在AVD中測試Doodlz套用
1.9.1 在Nexus 4 AVD中運行Doodlz套用
1.9.2 在Tablet AVD中運行Doodlz套用
1.9.3 在Android設備上運行Doodlz套用
1.10 創建好的Android套用
1.11 Android開發資源
1.1 2小結
自測題
自測題答案
練習題
第2章 Welcome套用
2.1 簡介
2.2 技術概覽
2.2.1 Android開發人員工具IDE
2.2.2 文本視圖和圖像視圖
2.2.3 套用的資源
2.2.4 輔助性
2.2.5 國際化
2.3 創建套用
2.3.1 啟動Android開發人員工具IDE
2.3.2 創建新工程
2.3.3 New Android Application對話框
2.3.4 配置工程
2.3.5 配置啟動圖示
2.3.6 Create Activity步驟
2.3.7 Blank Activity步驟
2.4 Android Developer Tools視窗
2.4.1 Package Explorer視窗
2.4.2 編輯器視窗
2.4.3 Outline視窗
2.4.4 套用的資源檔案
2.4.5 Graphical Layout編輯器
2.4.6 默認GUI
2.5 用Graphical Layout編輯器構建套用的GUI
2.5.1 給工程添加圖像
2.5.2 更改RelativeLayout和TextView的Id屬性
2.5.3 配置TextView
2.5.4 添加ImageView, 顯示圖像
2.6 運行Welcome套用
2.7 為套用增加輔助功能
2.8 使套用國際化
2.9 小結
自測題
自測題答案
練習題
第3章 Tip Calculator套用
3.1 簡介
3.2 測試驅動的Tip Calculator套用
3.3 技術概覽
3.3.1 Activity類
3.3.2 Activity類的生命周期方法
3.3.3 利用GridLayout和LinearLayout安排視圖
3.3.4 利用Graphical Layout編輯器和
Outline、 Properties視窗創建並定製GUI
3.3.5 格式化數字, 表示本地貨幣和百分比字元串
3.3.6 實現TextWatcher接口, 處理EditText中的文本變化
3.3.7 實現OnSeekBarChangeListener接口, 處理SeekBar中的滑塊位置變化
3.3.8 AndroidManifest.xml
3.4 構建套用的GUI
3.4.1 GridLayout簡介
3.4.2 創建TipCalculator工程
3.4.3 改成GridLayout布局
3.4.4 添加TextView、 EditText、 SeekBar和LinearLayout
3.4.5 定製視圖, 完成設計
3.5 為套用增加功能性
3.6 AndroidManifest.xml
3.7 小結
自測題
自測題答案
練習題
第4章 Twitter Searches套用
4.1 簡介
4.2 測試驅動的套用
4.2.1 導入套用並運行
4.2.2 添加一個搜尋
4.2.3 查看Twitter搜尋的結果
4.2.4 編輯搜尋
4.2.5 共享搜尋結果
4.2.6 刪除搜尋記錄
4.2.7 滾動瀏覽保存的搜尋記錄
4.3 技術概覽
4.3.1 ListView
4.3.2 ListActivity
4.3.3 定製ListActivity的布局
4.3.4 ImageButton
4.3.5 SharedPreferences
4.3.6 啟動其他Activity的Intent
4.3.7 AlertDialog
4.3.8 AndroidManifest.xml
4.4 構建套用的GUI
4.4.1 創建工程
4.4.2 activity_main.xml概覽
4.4.3 添加GridLayout和組件
4.4.4 Graphical Layout編輯器工具列
4.4.5 ListView項的布局: list_item.xml
4.5 構建MainActivity類
4.5.1 package聲明和import聲明
4.5.2 擴展ListActivity
4.5.3 MainActivity類的欄位
4.5.4 重寫Activity方法onCreate
4.5.5 實現saveButton的OnClickListener接口, 保存新搜尋或更新後的搜尋的匿名內部類
4.5.6 addTaggedSearch方法
4.5.7 實現ListView的OnItemClickListener
接口, 顯示搜尋結果的匿名內部類
4.5.8 實現ListView的OnItemLongClickListener接口, 共享、 編輯或刪除搜尋的匿名內部類
4.5.9 shareSearch方法
4.5.10deleteSearch方法
4.6 AndroidManifest.xml
4.7 小結
自測題
自測題答案
練習題
工程練習題
高級工程練習題
第5章 Flag Quiz套用
5.1 簡介
5.2 測試驅動的Flag Quiz套用
5.2.1 導入套用並運行
5.2.2 配置Flag Quiz套用
5.2.3 運行Flag Quiz套用
5.3 技術概覽
5.3.1 選單
5.3.2 Fragment
5.3.3 Fragment生命周期方法
5.3.4 管理Fragment
5.3.5 首選項
5.3.6 assets資料夾
5.3.7 資源資料夾
5.3.8 支持不同螢幕尺寸和解析度
5.3.9 確定螢幕尺寸
5.3.10用於顯示訊息的Toast
5.3.11使用Handler在未來執行一個Runnable對象
5.3.12將動畫用於View
5.3.13為異常訊息做日誌
5.3.14使用顯式Intent啟動同一個套用中的另一個Activity
5.3.15 Java數據結構
5.4 構建套用的GUI和資源檔案
5.4.1 創建工程
5.4.2 strings.xml與格式化字元串資源
5.4.3 arrays.xml
5.4.4 colors.xml
5.4.5 dimens.xml
5.4.6 activity_settings.xml布局
5.4.7 用於縱向設備的activity_main.xml布局
5.4.8 fragment_quiz.xml布局
5.4.9 用於橫向設備的activity_main.xml布局
5.4.10確定套用設定的preferences.xml
5.4.11創建國旗飄揚動畫
5.5 MainActivity類
5.5.1 package聲明、 import聲明與欄位
5.5.2 重寫Activity方法onCreate
5.5.3 重寫Activity方法onStart
5.5.4 重寫Activity方法onCreateOptionsMenu
5.5.5 重寫Activity方法onOptionsItemSelected
5.5.6 實現OnSharedPreferenceChangeListener的匿名內部類
5.6 QuizFragment類
5.6.1 package聲明和import聲明
5.6.2 欄位
5.6.3 重寫Fragment方法onCreateView
5.6.4 updateGuessRows方法
5.6.5 updateRegions方法
5.6.6 resetQuiz方法
5.6.7 loadNextFlag方法
5.6.8 getCountryName方法
5.6.9 實現OnClickListener的匿名內部類
5.6.10disableButtons方法
5.7 SettingsFragment類
5.8 SettingsActivity類
5.9 AndroidManifest.xml
5.10小結
自測題
自測題答案
練習題
工程練習題
第6章 Cannon Game套用
6.1 簡介
6.2 測試驅動的Cannon Game套用
6.3 技術概覽
6.3.1 將定製的View與布局綁定
6.3.2 使用raw資源資料夾
6.3.3 Activity和Fragment的生命周期方法
6.3.4 重寫View方法onTouchEvent
6.3.5 用SoundPool和AudioManager添加聲音
6.3.6 用Thread、 SurfaceView和
SurfaceHolder實現逐幀動畫
6.3.7 簡單的衝突檢測
6.3.8 用Paint和Canvas繪製圖形
6.4 構建套用的GUI和資源檔案
6.4.1 創建工程
6.4.2 strings.xml
6.4.3 fragment_game.xml
6.4.4 activity_main.xml
6.4.5 為套用添加聲音
6.5 管理線端點的Line類
6.6 Activity的MainActivity子類
6.7 Fragment的CannonGameFragment子類
6.8 View的CannonView子類
6.8.1 package聲明和import聲明
6.8.2 常量與實例變數
6.8.3 構造方法
6.8.4 重寫View方法onSizeChanged
6.8.5 newGame方法
6.8.6 updatePositions方法
6.8.7 fireCannonball方法
6.8.8 alignCannon方法
6.8.9 drawGameElements方法
6.8.10showGameOverDialog方法
6.8.11stopGame方法和releaseResources方法
6.8.12實現SurfaceHolder.Callback方法
6.8.13重寫View方法onTouchEvent
6.8.14CannonThread: 使用Thread實現遊戲的循環
6.9 小結
自測題
自測題答案
練習題
第7章 Doodlz套用
7.1 簡介
7.2 技術概覽
7.2.1 使用SensorManager監聽加速計事件
7.2.2 定製的DialogFragment
7.2.3 用Canvas和Bitmap畫圖
7.2.4 處理多點觸事件並在Path中保存線信息
7.2.5 Android 4.4的沉浸模式
7.2.6 GestureDetector與SimpleOnGestureListener
7.2.7 將繪製的圖像保存到設備的圖片庫中
7.2.8 Android 4.4的列印功能及Android Support Library的PrintHelper類
7.3 構建套用的GUI和資源檔案
7.3.1 創建工程
7.3.2 strings.xml
7.3.3 dimens.xml
7.3.4 DoodleFragment的選單
7.3.5 MainActivity的activity_main.xml布局
7.3.6 DoodleFragment的fragment_doodle.xml布局
7.3.7 ColorDialogFragment的fragment_color.xml布局
7.3.8 LineWidthDialogFragment的fragment_line_width.xml布局
7.3.9 增加EraseImageDialogFragment類
7.4 MainActivity類
7.5 DoodleFragment類
7.6 DoodleView類
7.7 ColorDialogFragment類
7.8 LineWidthDialogFragment類
7.9 EraseImageDialogFragment類
7.10小結
自測題
自測題答案
練習題
第8章 Address Book套用
8.1 簡介
8.2 測試驅動的Address Book套用
8.3 技術概覽
8.3.1 用FragmentTransaction顯示Fragment
8.3.2 在Fragment與宿主Activity之間交換數據
8.3.3 onSaveInstanceState方法
8.3.4 定義樣式並將它們套用於GUI組件
8.3.5 為TextView指定背景
8.3.6 擴展ListFragment類, 創建包含ListView的Fragment
8.3.7 操作SQLite資料庫
8.3.8 在GUI執行緒之外用AsyncTask執行資料庫操作
8.4 構建套用的GUI和資源檔案
8.4.1 創建工程
8.4.2 創建套用的類
8.4.3 strings.xml
8.4.4 styles.xml
8.4.5 textview_border.xml
8.4.6 MainActivity的布局: activity_main.xml
8.4.7 DetailsFragment的布局: fragment_details.xml
8.4.8 AddEditFragment的布局: fragment_add_edit.xml
8.4.9 定義Fragment的選單
8.5 MainActivity類
8.6 ContactListFragment類
8.7 AddEditFragment類
8.8 DetailsFragment類
8.9 DatabaseConnector實用工具類
8.10小結
自測題
自測題答案
練習題
第9章 Google Play及套用的商業問題
9.1 簡介
9.2 為發布套用做準備
9.2.1 測試套用
9.2.2 最終用戶許可協定
9.2.3 圖示與標籤
9.2.4 為套用定義版本
9.2.5 為已付費套用提供訪問控制授權
9.2.6 弄亂原始碼
9.2.7 獲取密鑰, 對套用進行數字簽名
9.2.8 螢幕截圖
9.2.9 用於推廣套用的視頻
9.3 為套用定價: 免費或收費
9.3.1 付費套用
9.3.2 免費套用
9.4 通過套用內廣告使套用貨幣化
9.5 貨幣化套用: 通過套用內計費功能銷售虛擬商品
9.6 註冊Google Play
9.7 設定Google Wallet商家賬號
9.8 將套用上載到Google Play
9.9 在套用里啟動Play Store
9.10管理Google Play中的套用
9.11其他的Android套用市場
9.12其他流行的移動套用平台
9.13套用的市場推廣
9.14小結
與Deitel & Associates公司保持聯繫
自測題
自測題答案
練習題
附錄A Java程式入門
附錄B 類、 對象、 方法和字元串簡介
附錄C 控制語句
附錄D 方法: 深入探究
附錄E 數組和ArrayList
附錄F 類與對象: 深入探究
附錄G 面向對象編程: 繼承與多態
附錄H 異常處理: 深入探究
附錄I GUI組件與事件處理
附錄J 其他的Java主題
附錄K 運算符優先權表
附錄L 基本類型
索引