Android系統應用開發實戰詳解
1 Android概述
1.1 Android的演化史
1.1.1 Android的誕生
1.1.2 Android的發展
1.2 Android的兩面性
1.3 使用Android的設備
1.4 Android設備的硬件差異
1.4.1 顯示屏
1.4.2 用戶輸入
1.4.3 傳感器
1.5 Android的特點
1.5.1 多進程和應用程序微件
1.5.2 觸摸、手勢和多點觸控
1.5.3 硬鍵盤和軟鍵盤
2 Android開發環境及常用工具
2.1 搭建Android開發環境
2.1.1 獲取Android開發所需軟件
2.1.2 安裝開發軟件並配置環境
2.2 Android開發常用工具
2.3 第一個Android應用HelloWorld
實例 2-1 HelloWorld 實例(\Chapter2\HelloWorld)
2.4 Android應用程序結構分析
2.5 Android應用的基本組件介紹
2.5.1 Activity和V iew
2.5.2 Intent和IntentFilter
2.5.3 Service
2.5.4 Broadcast Receiver
2.5.5 Content Provider
3 Activity和Intent
3.1 Activity的生命周期
實例 3-1 Activity 生命周期實例(Chapter3\ActivityLifeCycle)
3.2 控制Activity的生命周期
3.2.1 強制執行單任務模式
3.2.2 強制手機屏幕方向
3.2.3 保存和恢復Activity的信息
3.3 多個Activity和Intent
3.3.1 啟動另一個Activity
實例 3-2 啟動另一個 Activity 實例(Chapter3\SetupNewActivity)
3.3.2 啟動另一個Activity將語音轉換成文本並返回結果
實例 3-3 Activity 返回值實例(Chapter3\ActivityResultDemo)
3.3.3 使用隱式Intent創建Activity
實例 3-4 隱式 Intent 創建 Activity 實例(Chapter3\ImplicitIntent)
3.3.4 在Activity之間傳遞數據
實例 3-5 Activity 之間傳遞數據實例(Chapter3\ActivityDataPass)
4 界面編程
4.1 界面編程與視圖(V iew)組件
4.1.1 視圖組件與容器組件
4.1.2 控制UI界面
4.2 布局管理器
4.2.1 線性布局(LinearLayout)
實例 4-1 線性布局演示(LinearLayoutDemo)
4.2.2 表格布局(TableLayout)
實例 4-2 表格布局演示(TableLayoutDemo)
4.2.3 幀布局(FrameLayout)
實例 4-3 幀布局演示(FrameLayoutDemo)
4.2.4 相對布局(RelativeLayout)
實例 4-4 相對布局演示(RelativeLayoutDemo)
4.2.5 絕對布局(AbsoluteLayout)
實例 4-5 絕對布局演示(AbsoluteLayout)
4.3 基本界面組件
4.3.1 文本框(TextView)與編輯框(EditText)
4.3.2 按鈕(Button)與圖片按鈕(ImageButton)
實例 4-6 登錄界面演示(LoginUIDemo)
4.3.3 單項選擇(RadioGroup)和單選按鈕(RadioButton)
實例 4-7 單項選擇演示(RadioGroupDemo)
4.3.4 復選框(CheckBox)
實例 4-8 復選框演示(CheckBoxDemo)
4.3.5 圖片視圖(ImageV iew)
4.3.6 狀態開關按鈕(ToggleButton)
實例 4-9 開關門演示(OnOffDoorDemo)
4.3.7 時鍾(AnalogClock和DigitalClock)
實例 4-10 時鍾演示(ClockDemo)
4.4 高級界面組件
4.4.1 自動完成文本框(AutoCompleteTextView)
實例 4-11 自動完成文本框演示(AutoCompleteTextViewDemo)
4.4.2 下拉列表(Spinner)
實例 4-12 下拉列表演示(Spinner)
4.4.3 日期選擇器(DatePicker)與時間選擇器(TimePicker)
實例 4-13 日期和時間設置演示(DateTimeDemo)
4.4.4 進度條(ProgressBar)
實例 4-14 進度條演示(ProgressBarDemo)
4.4.5 拖動條(SeekBar)
實例 4-15 拖動條實例(SeekBarDemo)
4.4.6 星級評分條(RatingBar)
實例 4-16 星級評分條實例(RatingBarDemo)
4.4.7 選項卡(TabHost)
實例 4-17 選項卡實例(TabHost)
4.4.8 滾動視圖(ScrollView)
實例 4-18 滾動視圖實例(ScrollViewDemo)
4.4.9 列表視圖(ListV iew)
實例 4-19 ArrayAdapter 適配器列表實例(ArrayAdapterListViewDemo)
實例 4-20 SimpleCursorAdapter 適配器列表實例(CursorListViewDemo)
實例 4-21 SimpleAdapter 適配器列表實例(SimpleAdapterListViewDemo)
4.4.10 可展開的列表視圖(ExpandableListView)
實例 4-22 可展開列表視圖實例(ExpandableListDemo)
4.4.11 網格視圖(GridV iew)
實例 4-23 網格視圖實例(GridViewDemo)
4.4.12 畫廊視圖(Gallery)和圖片切換器(ImageSwitcher)
實例 4-24 相冊實例(AlbumDemo)
4.5 對話框
4.5.1 使用AlertDialog創建簡單的對話框
4.5.2 使用AlertDialog創建列表對話框
4.5.3 使用AlertDialog創建自定義對話框
4.5.4 使用ProgressDialog創建進度對話框
4.5.5 使用DatePickerDialog和TimePickerDialog
實例 4-25 日期選擇對話框和時間選擇對話框實例(DateTimeDialogDemo)
4.5.6 使用PopupWindow
實例 4-26 PopupWindow 實例
4.6 消息提示
4.6.1 使用Toast顯示提示消息
4.6.2 使用Notification顯示狀態欄提示
實例 4-27 Notification 實例(NotificationDemo)
4.7 菜單
4.7.1 選項菜單(Option Menu)
實例 4-28 選項菜單實例(OptionMenuDemo)
4.7.2 上下文菜單(Context Menu)
實例 4-29 上下文菜單實例(ContextMenuDemo)
4.7.3 子菜單(Sub Menu)
實例 4-30 子菜單實例(SubMenuDemo)
4.7.4 創建復選菜單項和單選菜單項
實例 4-31 復選菜單項和單選菜單項實例(CheckMenuDemo)
5 Android事件處理
5.1 Android事件處理介紹
5.2 基於回調的事件處理
5.2.1 onKeyDown回調方法
實例 5-1 onKeyDown 回調方法實例(onKeyDownDemo)
5.2.2 onKeyUp回調方法
5.2.3 onTouchEvent回調方法
實例 5-2 onTouchEvent 回調方法實例(onTouchEventDemo)
5.2.4 其他回調方法
5.3 基於監聽器的事件處理
5.3.1 事件監聽的處理模型
實例 5-3 事件監聽器模型(EventListenerModel)
5.3.2 事件監聽器接口
實例 5-4 OnLongClickListener 接口演示(OnLongClickListenerDemo)
實例 5-5 OnFocusChangeListener 接口演示(OnFocusChangeListenerDemo)
實例 5-6 OnTouchListener 接口演示(OnTouchListenerDemo)
5.3.3 事件監聽器實現方式
5.4 響應系統設置事件
5.4.1 Configuration類介紹
5.4.2 onConfigurationChanged回調方法
實例 5-7 獲取並響應系統設置實例(ConfigurationDemo)
5.5 Handler消息傳遞機制
實例 5-8 進度條更新實例(HandlerProgress)
6 數據存儲和數據共享
6.1 Android數據存儲和共享概述
6.2 Shared Preferences
實例 6-1 SharedPreferences 存取數據實例(SharedPreferencesDemo)
6.3 Files文件存儲
實例 6-2 Files 文件操作實例(FilesDemo)
6.4 SQLite數據庫
實例 6-3 學生信息數據庫(SQLiteStudentInfo)
6.5 Content Provider(內容提供器)
6.5.1 Content Provider共享數據方法
實例 6-4 訪問聯系人信息(ContactsAccess)
6.5.2 SQLite應用程序改用Content Provider來公開數據
實例 6-5 Content Provider實現學生信息數據庫訪問(StuInfoContentProvider)
6.6 Network網絡存儲
7 Service(服務程序)和Broadcast Receiver(廣播接收器)
7.1 Service(服務程序)
7.1.1 Service角色
7.1.2 啟動服務程序
7.1.3 Service的生命周期
7.1.4 創建服務程序
實例 7-1 音樂播放服務程序(MusicPlayService)
7.2 廣播接收器(Broadcast Receiver)
7.2.1 廣播接收器(Broadcast Receiver)角色
7.2.2 實現廣播事件
7.2.3 使用(廣播接收器)
實例 7-2 Broadcast Receiver 實例(BroadcastDemo)
7.3 Service和Broadcast Receiver結合使用
實例 7-3 定時提醒實例(TimerAlarm)
8 國際化
8.1 Android國際化
8.2 Android的資源管理
8.2.1 創建Android資源
8.2.2 創建Android多語言資源
8.3 Android多語言范例
實例 8-1 Android 多語言范例(MultiLanguage)
9 圖形與圖像處理
9.1 使用簡單圖片
9.1.1 使用Drawable對象
9.1.2 Bitmap和BitmapFatory
實例 9-1 BitmapDemo(\Chapter9\BitmapDemo)
9.2 利用graphics繪圖
9.2.1 Paint類
9.2.2 Color類
9.2.3 Canvas類
9.2.4 Path類
9.2.5 繪制幾何圖形
實例 9-2 繪制幾何圖形(\Chapter9\GeometricDraw)
9.2.6 繪制動態圖形
實例 9-3 動態圖形繪制(\Chapter9\DynamicDrawingDemo)
9.3 圖形特效處理
9.3.1 使用Matrix實現圖形變換
實例 9-4 Matrix 圖形變換實例(\Chapter9\MatrixDemo)
9.3.2 使用DrawBitmapMesh實現圖像扭曲
實例 9-5 DrawBitmapMesh 實例(\Chapter9\DrawBitmapMeshDemo)
9.3.3 使用Shader實現圖像渲染
實例 9-6 Shader 實例(\Chapter9\ShaderDemo)
9.4 Frame動畫
實例 9-7 Frame 動畫實例(\Chapter9\FrameDemo)
9.5 Tween動畫
9.5.1 使用Interpolator控制動畫變化速率
9.5.2 Tween動畫的實現
實例 9-8 Tween 動畫實例(\Chapter9\TweenJavaDemo)
9.6 使用SufaceV iew
實例 9-9 使用 SurfaceView 進行繪圖(\Chapter9\SurfaceViewDraw)
10 多媒體應用開發
10.1 Android系統多媒體框架
10.1.1 OpenCORE框架
10.1.2 StageFright框架
10.2 音頻和視頻的播放
10.2.1 使用MediaPlayer播放音頻
實例 10-1 簡易音樂播放器(\Chapter10\MusicPlayer)
10.2.2 使用SoundPool播放音效
實例 10-2 卡丁車動畫和音效(\Chapter10\SoundPoolTest)
10.2.3 使用V ideoV iew播放視頻
實例 10-3 視頻播放器(\Chapter10\VideoViewDemo)
10.2.4 使用MediaPlayer和SurfaceV iew播放視頻
實例 10-4 自定義視頻播放器(\Chapter10\VideoPlayDemo)
10.3 音頻和視頻的錄制
10.3.1 使用MediaRecorder錄制音頻
實例 10-5 簡易錄音機(AudioRecorder)
10.3.2 使用MediaRecorder錄制視頻
實例 10-6 視頻錄制實例(\Chapter10\VideoCapture)
10.4 攝像頭拍照
實例 10-7 相機拍照實例(\Chapter10\CameraPhotoDemo)
11 OpenGL ES與3D應用
11.1 OpenGL和OpenGL ES簡介
11.2 OpenGL ES編程
11.2.1 OpenGL ES編程類
11.2.2 OpenGL ES編程框架
11.3 3D繪圖基礎知識
11.3.1 3D坐標系
11.3.2 頂點(Vertex)
11.3.3 邊(Edge)
11.3.4 面(Face)
11.3.5 多邊形(Polygon)
11.3.6 幾何圖形繪制(Render)
11.3.7 添加圖形顏色
11.3.8 多邊形繪制實例
實例 11-1 多邊形繪制實例(\Chaper11\DrawPolygonDemo)
11.4 3D坐標仿射變換
11.4.1 平移變換
11.4.2 旋轉變換
11.4.3 縮放變換
11.4.4 變換矩陣操作
11.4.5 坐標變換實例
實例 11-2 坐標變換實例(\Chapter11\TransformDemo)
11.5 繪制3D圖形
實例 11-3 繪制 3D 圖形(\Chapter11\Draw3DGraph)
11.6 紋理渲染
實例 11-4 紋理渲染實例(\Chapter11\TextureDemo)
12 Android網絡應用
12.1 基於TCP協議的網絡通信
12.1.1 使用ServerSocket建立TCP服務器端
12.1.2 使用Socket進行通信
實例 12-1 Socket 實例(\Chapter12\SocketDemo)
12.2 使用URL訪問網絡資源
實例 12-2 URL 訪問網絡資源實例(\Chapter12\UrlDemo)
12.3 使用HTTP訪問網絡
12.3.1 使用HttpURLConnection
實例 12-3 文件上傳下載實例(\Chapter12\HttpUploadDown)
12.3.2 使用Apache HttpClient
實例 12-4 網頁登錄實例(\Chapter12\HttpLogin)
12.4 使用WebV iew視圖
12.4.1 使用WebV iew瀏覽網頁
實例 12-5 WebView 瀏覽網頁實例(\Chapter12\WebViewDemo)
12.4.2 使用WebV iew加載HTML代碼
實例 12-6 使用 WebView 加載 HTML 代碼實例(\Chapter12\WebViewHtml)
13 Android手機桌面
13.1 Android桌面簡介
13.2 快捷方式(Shortcut)
13.2.1 在應用程序中添加快捷方式
實例 13-1 在應用程序中添加快捷方式(AddShortcutDemo)
13.2.2 向Launcher添加應用程序的快捷方式
實例 13-2 向 Launcher 添加應用程序的快捷方式(ShortcutDemo)
13.3 窗口小部件(Widget)
實例 13-3 窗口小部件實例(NoteWidget)
13.4 實時文件夾(Live Folder)
13.5 壁紙(Wallpaper)
實例 13-4 動態壁紙實例(LiveWallpaper)
13.6 Android 4.0桌面
13.6.1 桌面組件的添加方式
13.6.2 桌面文件夾
14 Android傳感器應用
14.1 Android傳感器開發
14.2 使用SensorSimulator
14.2.1 下載和安裝SensorSimulator
14.2.2 使用SensorSimulator模擬傳感器
14.3 Andoird常用傳感器
14.3.1 加速度傳感器Accelarator
實例 14-1 獲取加速度傳感器的值(\Chaper14\AccelaratorDemo)
14.3.2 方向傳感器Orientation
14.3.3 磁場傳感器Magnetic Field
14.3.4 溫度傳感器Temperature
14.3.5 光傳感器Light
14.4 傳感器應用案例—Box2D重力球
14.4.1 Box2D物理引擎
14.4.2 JBox2D常用類介紹
14.4.3 Box2D物理世界模擬
14.4.4 Box2D重力球實例
實例 14-2 Box2D 重力球實例(\Chaper14\GravityBall)
15 GPS定位和Google Maps地圖服務
15.1 GPS和Google Maps簡介
15.2 GPS定位服務
15.2.1 LocationManager
15.2.2 LocationListener
15.2.3 Location
15.2.4 LocationProvider
15.2.5 Criteria
15.3 GPS定位功能實現
15.3.1 GPS定位程序實現
實例 15-1 GPS 定位實例(\Chapter15\GPSLocation)
15.3.2 使用Android模擬器測試GPS定位程序
15.4 Google Maps地圖應用
15.4.1 獲取Google地圖外部庫
15.4.2 創建平台為Google APIs的Android模擬器
15.4.3 獲取Google Maps API Key
15.4.4 Google Maps地圖應用程序
實例 15-2 Google 地圖應用程序實例(\Chapter15\MyGoogleMap)
15.5 Google Maps應用擴展
15.5.1 Google地圖標記
實例 15-3 Google 地圖標記實例(\Chapter15\GoogleMapOverlay)
15.5.2 根據GPS位置信息顯示Google地圖
實例 15-4 根據 GPS 信息實時更新 Google 地圖實例(\Chapter15\GPSandMap)
16 Android 4.0新特性
16.1 Android 4.0用戶新特性
16.1.1 精致全新的UI界面
16.1.2 改進的多任務切換功能
16.1.3 桌面文件夾
16.1.4 新的鎖屏動作
16.1.5 強大的語音輸入引擎
16.1.6 網絡數據流量監控功能
16.1.7 強大的圖像功能
16.1.8 強大的社交和通信功能
16.2 Android 4.0開發新特性
16.2.1 溝通和共享功能開發新特性
16.2.2 全新的媒體處理能力
16.2.3 全新的連接類型
16.2.4 全新的UI組件及功能
16.2.5 全新的輸入方式及文本服務
16.2.6 增強的輔助功能API
16.2.7 高效的網絡使用率
16.2.8 應用程序及內容安全性
16.2.9 增強的企業業務
16.3 Android 4.0 API新特性介紹
16.3.1 Fragment
16.3.2 Action Bar
16.3.3 UI界面和視圖
16.3.4 輸入框架
16.3.5 傳感器設備
16.3.6 網絡使用
16.3.7 媒體(Media)
16.3.8 相機(Camera)
16.4 Android 4.0 API新特性實例
16.4.1 Fragment實例
實例 16-1 Fragment 使用實例(\Chapter16\FragmentDemo)
16.4.2 GridLayout實例
實例 16-2 GridLayout 使用實例(\Chapter16\GridLayoutDemo)
16.4.3 Switch實例
實例 16-3 Switch 使用實例(\Chapter16\SwitchDemo)
思維導圖
防止博客圖床圖片失效,防止圖片源站外鏈:
http://www.processon.com/chart_image/5e5b33d3e4b069f82a1a598d.png)
思維導圖在線編輯鏈接: