Android 藏書目錄整理
///////////////////////////////////////////////////
全方位把玩Android 400個API:精挑細選365個實例說明
作者序:
譯者序:
前言:
內容簡介:
全書共分兩大篇17 個章節。上篇是Android 開發技術基礎,介紹了智慧型手機作業系統的概況,Android 系統及應用程式框架,如何架設Android 開發環境和Android 程式結構。下篇是Android API 詳解,分不同的章節介紹了Android 應用程式資源、控制項、選單、交談視窗、應用程式模型、繪圖、動畫、資料庫、多媒體、照相機、語音朗讀、系統資訊、電話操作、定位和感測器。在每一章中,重點介紹了與Android 開發相關的API 函數和方法。對於每一個函數均提供了實例程式,並進行了詳細的分析,以使讀者能夠深入了解用於Android 開發的API 函數。本書基礎知識覆蓋全面,結構安排緊湊,講解詳細,實例豐富,圖文並茂。對於Android程式設計的初學者,透過本書可快速掌握Android 程式設計,實現從入門到精通的跨越。同時,本書包羅了Android 程式設計中大部分常用的函數,對具有一定開發經驗的設計人員也有非常好的參考價值,是每位Android 程式設計師的必備手冊。本書可作為Android 初學者的入門教材,也可作為Android 程式設計師的參考手冊,同時還可作為大中專院校學生及電腦補習班的參考書。
目錄:
前言
第1章 Android概述
1.1 智慧手機作業系統現狀
1.1.1 Linux系統
1.1.2 Windows Mobile系統
1.1.3 Symbian系統
1.1.4 iOS系統
1.1.5 BlackBerry系統
1.1.6 Palm系統
1.2 Android系統簡介
1.2.1 開放手機聯盟
1.2.2 Android的特性
1.2.3 Android與其他主流作業系統的對比
1.3 Android系統構架
1.4 Android應用程式元件
1.4.1 Activity活動程式
1.4.2 Service服務程式
1.4.3 BroadcastReceiver廣播接收器
1.4.4 ContentProvider內容提供器
1.4.5 Intent啟動組件
1.4.6 View視圖組件
1.5 Android Market應用程式市場
1.6 Android國內衍生版本
1.6.1 Ophone
1.6.2 Lephone
1.6.3 點心OS
1.7 小結
第2章 搭建Android開發環境
2.1 Android開發環境要求
2.2 如何搭建Android開發環境
2.2.1 安裝JDK
2.2.2 安裝Eclipse
2.2.3 安裝Android SDK
2.2.4 安裝ADT插件
2.2.5 安裝Eclipse中文插件
2.3 Android模擬器AVD
2.3.1 創建AVD
2.3.2 運行AVD
2.3.3 AVD介面及基本操作
2.3.4 AVD與手機的區別
2.4 Android開發常用工具及命令
2.4.1 ADB工具
2.4.2 DDMS工具
2.4.3 AAPT工具
2.4.4 Mksdcard工具
2.4.5 DX工具
2.4.6 Android Monkey工具
2.4.7 Traceview工具
2.5 小結
第3章 Android開發起步
3.1 創建第一個Android程式
3.2 通過模擬器運行Android程式
3.3 Android程式結構分析
3.3.1 src目錄
3.3.2 gen目錄
3.3.3 android.jar文件
3.3.4 res目錄和assets目錄
3.3.5 AndroidManifest.xml文件
3.4 Android生命週期
3.4.1 進程優先順序
3.4.2 Activity的生命週期
3.4.3 Service的生命週期
3.4.4 BroadcastReceiver的生命週期
3.5 小結
第4章 Android應用程式資源
4.1 Manifest.permission類:應用程式許可權
4.1.1 什麼是應用程式許可權
4.1.2 Android應用程式許可權
4.1.3 Android應用程式許可權示例
4.2 Manifest.permission_group類:應用程式許可權組
4.3 R類:資源類
4.3.1 R.string類:字串資源
4.3.2 R.color類:顏色資源
4.3.3 R.layout類:佈局資源
4.3.4 R.drawable類:繪圖資源
4.3.5 R.id類:ID資源
4.4 小結
第5章 Android控制項
5.1 TextView類:文本框
5.1.1 append方法:追加文字
5.1.2 addTextChangedListener方法:添加文本更改監聽器
5.1.3 setText方法:設置文本
5.1.4 setTextSize方法:設置字體大小
5.1.5 setTextColor方法:設置字體顏色
5.1.6 setTypeface方法:設置字體樣式
5.1.7 setBackgroundColor方法:設置背景顏色
5.1.8 setHeight方法:設置文本框高度
5.1.9 getCurrentTextColor方法:獲取當前字體顏色
5.1.10 getText方法:獲取文本框內容
5.1.11 getHeight方法:獲取文本框高度
5.1.12 getWidth方法:獲取文本框寬度
5.1.13 setPadding方法:設置內邊距
5.1.14 getPaddingLeft方法:獲取文本框左 側內邊距
5.1.15 getPaddingTop方法:獲取文本框上部內邊距
5.1.16 getPaddingRight方法:獲取文本框右側內邊距
5.1.17 getPaddingBottom方法:獲取文本框下部內邊距
5.2 Button類:按鈕
5.2.1 setOnClickListener方法:設置按鈕監聽器
5.2.2 setOnLongClickListener方法:設置長按監聽器
5.2.3 setOnFocusChangeListener方法:設置焦點改變監聽器
5.2.4 setOnTouchListener方法:設置觸摸監聽器
5.2.5 setPressed方法:設置按下狀態
5.2.6 setClickable方法:設置是否可按
5.2.7 setLongClickable方法:設置是否可長按
5.3 EditText類:編輯框
5.3.1 setText方法:設置文本內容
5.3.2 getText方法:獲取顯示內容
5.3.3 setSelection方法:設置文本選擇
5.3.4 setHint方法:設置提示資訊
5.3.5 setOnKeyListener方法:設置按鍵監聽器
5.4 DatePicker類:日期選擇
5.4.1 init方法:初始化控制項
5.4.2 OnDateChangedListener方法:日期更改監聽器
5.4.3 updateDate方法:更新日期
5.4.4 getYear方法:獲取年份
5.4.5 getMonth方法:獲取月份
5.4.6 getDayOfMonth方法:獲取日數
5.5 TimePicker類:時間選擇
5.5.1 setCurrentHour方法:設置當前小時
5.5.2 setCurrentMinute方法:設置當前分鐘
5.5.3 setIs24HourView方法:設置是否24小時制
5.5.4 setOnTimeChangedListener方法:設置時間更改監聽器
5.5.5 getCurrentHour方法:獲取當前小時
5.5.6 getCurrentMinute方法:獲取當前分鐘
5.5.7 is24HourView方法:獲取是否為24小時制
5.6 ProgressBar類:進度條
5.6.1 setMax方法:設置最大值
5.6.2 setProgress方法:設置主要進度
5.6.3 setSecondaryProgress方法:設置次要進度
5.6.4 getMax方法:獲取最大值
5.6.5 getProgress方法:獲取主要進度
5.6.6 getSecondaryProgress方法:獲取次要進度
5.7 SeekBar類:滑塊
5.8 RatingBar類:星級滑塊
5.8.1 setMax方法:設置最大值
5.8.2 setNumStars方法:設置星型數量
5.8.3 setRating方法:設置分數
5.8.4 setStepSize方法:設置步長
5.8.5 setOnRatingBarChangeListener方法:設置監聽器
5.8.6 getNumStars方法:獲取星型數量
5.8.7 getRating方法:獲取分數
5.8.8 getStepSize方法:獲取步長
5.8.9 setIsIndicator方法:設置指示器
5.8.10 isIndicator方法:判斷是否為指示器
5.9 ToggleButton類:狀態開關按鈕
5.9.1 setTextOff方法:設置未選中時的文本
5.9.2 setTextOn方法:設置選中時的文本
5.9.3 setChecked方法:設置按鈕狀態
5.9.4 setBackgroundDrawable方法:設置背景
5.9.5 setOnCheckedChangeListener方法:設置監聽器
5.9.6 getTextOff方法:獲取未選中時的文本
5.9.7 getTextOn方法:獲取選中時的文本
5.10 Toast類:彈出信息框
5.10.1 cancel方法:關閉Toast視圖
5.10.2 getDuration方法:獲取持續時間
5.10.3 getGravity方法:獲取Toast視圖的顯示位置
5.10.4 getHorizontalMargin方法:獲取水準方向的頁邊空白
5.10.5 getVerticalMargin方法:獲取垂直方向的頁邊空白
5.10.6 makeText方法:生成標準Toast物件
5.10.7 setView方法:設置顯示的View物件
5.10.8 getView方法:獲取View對象
5.10.9 setGravity方法:設置顯示位置
5.10.10 getXOffset方法:獲取水準方向偏移量
5.10.11 getYOffset方法:獲取垂直方向偏移量
5.10.12 setDuration方法:設置持續時間
5.10.13 setMargin方法:設置頁邊空白
5.10.14 setText方法:設置顯示的文本內容
5.10.15 show方法:顯示提示資訊
5.11 CheckBox類:核取方塊
5.11.1 isChecked方法:是否選中
5.11.2 setChecked方法:設置核取方塊狀態
5.11.3 toggle方法:切換狀態
5.11.4 setOnCheckedChangeListener方法:設置監聽器
5.12 RadioButton類和RadioGroup類:單選框
5.12.1 setOnCheckedChangeListener 方法:設置監聽器
5.12.2 check方法:選中選項
5.12.3 clearCheck方法:清空選項
5.13 ImageView類:圖片
5.13.1 setImageResource方法:設置圖片資源
5.13.2 setImageDrawable方法:設置Drawable圖片資源
5.13.3 setAlpha方法:設置透明度
5.13.4 setScaleType方法:設置填充方式
5.13.5 getDrawable方法:獲取Drawable對象
5.13.6 getScaleType方法:獲取填充方式
5.14 Spinner類:下拉清單
5.14.1 setAdapter方法:設置適配器
5.14.2 setPrompt方法:設置標題
5.14.3 setPromptId方法:指定標題ID
5.14.4 getPrompt方法:獲取標題
5.14.5 setOnItemSelectedListener方法:設置監聽器
5.15 AutoCompleteTextView類:自動完成文本框
5.15.1 setAdapter方法:設置適配器
5.15.2 setThreshold方法:設置匹配字元數
5.15.3 setCompletionHint方法:設置提示資訊
5.15.4 setDropDownBackgroundResource方法:設置背景資源
5.15.5 setDropDownBackgroundDrawable方法:設置Drawable背景資源
5.15.6 setDropDownWidth方法:設置寬度
5.15.7 setDropDownHeight方法:設置高度
5.15.8 setOnItemClickListener方法:設置監聽器
5.15.9 getThreshold方法:獲取匹配字元數
5.15.10 getDropDownWidth方法:獲取寬度
5.15.11 getDropDownHeight方法:獲取高度
5.16 Gallery類:畫廊
5.16.1 setAdapter方法:設置適配器
5.16.2 setSpacing方法:設置圖片間距
5.16.3 setOnItemClickListener方法:設置監聽器
5.16.4 setGravity方法:設置圖片對齊方式
5.16.5 setAnimationDuration方法:設置動畫切換時間
5.17 小結
第6章 Android菜單和對話方塊
6.1 Menu類:菜單
6.1.1 onCreateOptionsMenu方法:初始化選項功能表
6.1.2 add方法:添加菜單項
6.1.3 addSubMenu方法:添加子功能表項
6.1.4 onOptionsItemSelected方法:選中功能表處理
6.1.5 onOptionsMenuClosed方法:選項功能表關閉處理
6.2 MenuItem類:菜單項
6.2.1 getItemId方法:獲取菜單項ID
6.2.2 getTitle方法:獲取標題
6.2.3 getOrder方法:獲取順序
6.2.4 setIcon方法:設置圖示
6.2.5 setAlphabeticShortcut方法:設置字母快捷鍵
6.2.6 setNumericShortcut方法:設置數字快捷鍵
6.2.7 setShortcut方法:設置快捷鍵
6.2.8 setOnMenuItemClickListener方法:設置監聽器
6.3 SubMenu類:子功能表
6.3.1 setIcon方法:設置圖示
6.3.2 add方法:添加子功能表項
6.3.3 setOnMenuItemClickListener方法:設置監聽器
6.4 ContextMenu類:上下文菜單
6.4.1 registerForContextMenu方法:註冊上下文菜單
6.4.2 onCreateContextMenu方法:初始化上下文菜單
6.4.3 onContextItemSelected方法:選中功能表處理
6.4.4 onContextMenuClosed方法:關閉上下文功能表處理
6.5 AlertDialog類:提示對話方塊
6.5.1 showDialog方法:顯示對話方塊
6.5.2 onCreateDialog方法:初始化對話方塊
6.5.3 setTitle方法:設置標題
6.5.4 setMessage方法:設置提示資訊
6.5.5 create方法:創建對話方塊
6.5.6 setIcon方法:設置圖示
6.5.7 setPositiveButton方法:設置“確定”按鈕
6.5.8 setNegativeButton方法:設置“取消”按鈕
6.5.9 setNeutralButton方法:設置“中間”按鈕
6.5.10 setItems方法:設置列表
6.5.11 setSingleChoiceItems方法:設置單選按鈕
6.5.12 setMultiChoiceItems方法:設置核取方塊
6.6 DatePickerDialog類:日期選擇對話方塊
6.7 TimePickerDialog類:時間選擇對話方塊
6.8 ProgressDialog類:進度條對話方塊
6.8.1 setMax方法:設置最大值
6.8.2 setTitle方法:設置標題
6.8.3 setProgressStyle方法:設置進度條樣式
6.8.4 incrementProgressBy方法:設置遞增步長
6.8.5 getProgress方法:獲取當前進度值
6.8.6 onPrepareDialog方法:準備對話方塊
6.8.7 setCancelable方法:設置是否可以取消
6.9 小結
第7章 Android應用程式模型
7.1 Activity類:活動程式
7.1.1 setContentView方法:設置顯示的View
7.1.2 finish方法:關閉Activity
7.1.3 startActivity方法:啟動一個Activity
7.1.4 setTitle方法:設置標題
7.1.5 setTitleColor方法:設置標題顏色
7.1.6 onKeyDown方法:回應按鍵按下
7.1.7 onKeyUp方法:回應按鍵彈起
7.1.8 onTouchEvent方法:回應觸摸事件
7.1.9 onCreate方法:初始化Activity
7.1.10 onStart方法:啟動Activity
7.1.11 onResume方法:恢復Activity
7.1.12 onPause方法:暫停Activity
7.1.13 onStop方法:停止Activity
7.1.14 onRestart方法:重新啟動Activity
7.1.15 onDestroy方法:銷毀Activity
7.2 Intent類:啟動組件
7.2.1 setComponent方法:設置組件名稱
7.2.2 setClass方法:設置查找的類
7.2.3 setClassName方法:設置查找的類名稱
7.2.4 getIntent方法:獲取Intent對象
7.2.5 getComponent方法:獲取組件名稱
7.2.6 setAction方法:設置Action
7.2.7 getAction方法:獲取Action
7.2.8 addCategory方法:添加附加資訊
7.2.9 putExtra方法:設置擴展資訊
7.2.10 getStringExtra方法:獲取擴展資訊
7.2.11 setData方法:設置數據
7.3 BroadcastReceiver類:廣播接收器
7.3.1 sendBroadcast方法:發送廣播
7.3.2 onReceive方法:接收廣播
7.3.3 registerReceiver方法:註冊廣播接收器
7.3.4 unregisterReciver方法:銷毀廣播接收器
7.4 Notification類:通知
7.4.1 setLatestEventInfo方法:設置事件資訊
7.4.2 notify方法:發出通知
7.4.3 cancel方法:取消通知
7.5 AlarmManager類:鬧鐘
7.5.1 set方法:設置提醒
7.5.2 setRepeating方法:設置精確重複提醒
7.5.3 setInexactRepeating方法:設置不精確的重複提醒
7.5.4 cancel方法:取消提醒
7.6 Service類:服務
7.6.1 onBind方法:綁定服務
7.6.2 onCreate方法:創建服務
7.6.3 onDestroy方法:銷毀服務
7.6.4 onStart方法:啟動服務
7.6.5 startService方法:啟動Service對象
7.6.6 stopService方法:停止Service對象
7.6.7 bindService方法:綁定Service
7.6.8 unbindService方法:解除綁定Service
7.7 小結
第8章 Android繪圖
8.1 Paint類:畫筆
8.1.1 setColor方法:設置顏色
8.1.2 setAlpha方法:設置透明度
8.1.3 setStyle方法:設置風格
8.1.4 setStrokeWidth方法:設置空心線寬
8.1.5 setTextSize方法:設置字體大小
8.1.6 setTypeface方法:設置字體樣式
8.1.7 setTextScaleX方法:設置比例因數
8.1.8 setARGB方法:設置透明度和顏色
8.1.9 setUnderlineText方法:設置下畫線
8.1.10 setTextSkewX方法:設置傾斜因數
8.2 Canvas類:畫布
8.2.1 drawColor方法:設置背景顏色
8.2.2 drawLine方法:繪製直線
8.2.3 drawLines方法:繪製多條直線
8.2.4 drawLines方法:有選擇地繪製多條直線
8.2.5 drawPoint方法:繪製點
8.2.6 drawPoints方法:繪製多個點
8.2.7 drawRect方法:繪製矩形
8.2.8 drawRoundRect方法:繪製圓角矩形
8.2.9 drawCircle方法:繪製圓形
8.2.10 drawOval方法:繪製橢圓形
8.2.11 drawPath方法:繪製任意多邊形
8.2.12 drawArc方法:繪製圓弧
8.2.13 drawText方法:繪製字串
8.2.14 drawBitmap方法:繪製圖像
8.2.15 save方法:鎖定畫布
8.2.16 restore方法:解除鎖定
8.2.17 clipRect方法:設置裁剪區
8.2.18 rotate方法:旋轉畫布
8.3 小結
第9章 Android動畫效果
9.1 Animation類:動畫抽象類
9.1.1 setDuration方法:設置持續時間
9.1.2 startNow方法:立刻啟動動畫
9.1.3 start方法:啟動動畫
9.1.4 cancel方法:取消動畫
9.1.5 setRepeatCount方法:設置重複次數
9.1.6 setFillEnabled方法:使能填充效果
9.1.7 setFillBefore方法:設置起始填充
9.1.8 setFillAfter方法:設置終止填充
9.1.9 setRepeatMode方法:設置重複模式
9.1.10 setStartOffset方法:設置啟動時間
9.2 TranslateAnimation類:位置變化動畫類
9.3 RotateAnimation類:旋轉變化動畫類
9.4 ScaleAnimation類:尺寸變化動畫類
9.5 AlphaAnimation類:透明度變化動畫類
9.6 AnimationSet類:動畫集合類
9.7 AnimationUtils類:動畫工具類
9.8 AnimationDrawable類:幀動畫類
9.8.1 start方法:開始動畫
9.8.2 stop方法:停止動畫
9.8.3 addFrame方法:添加動畫幀
9.8.4 setOneShot方法:設置播放方式
9.8.5 setAlpha方法:設置透明度
9.8.6 getNumberOfFrames方法:獲取幀數
9.9 小結
第10章 Android資料庫
10.1 SQLiteDatabase類:資料庫物件
10.1.1 openOrCreateDatabase方法:打開或創建資料庫
10.1.2 openDatabase方法:打開資料庫
10.1.3 close方法:關閉資料庫
10.1.4 execSQL方法:執行SQL語句
10.1.5 insert方法:插入資料
10.1.6 delete方法:刪除資料
10.1.7 query方法:查詢資料
10.1.8 update方法:更新資料
10.2 Cursor介面:查詢游標介面
10.2.1 close方法:關閉游標
10.2.2 getCount方法:獲取資料條數
10.2.3 getColumnCount方法:獲取列數量
10.2.4 getColumnIndex方法:獲取列編號
10.2.5 getColumnIndexOrThrow方法: 獲取列編號
10.2.6 getColumnName方法:獲取列名稱
10.2.7 getString方法:獲取字串內容
10.2.8 getDouble方法:獲取雙精度浮點型內容
10.2.9 getFloat方法:獲取單精確度浮點型內容
10.2.10 getInt方法:獲取整型內容
10.2.11 getLong方法:獲取長整型內容
10.2.12 getShort方法:獲取短整型內容
10.2.13 getType方法:獲取資料類型
10.2.14 moveToFirst方法:移動到第一行
10.2.15 moveToNext方法:移動到下一行
10.2.16 moveToLast方法:移動到最後一行
10.2.17 moveToPosition方法:移動到指定的位置
10.2.18 moveToPrevious方法:移動到前一行
10.2.19 move方法:移動到指定偏移位置
10.2.20 getPosition方法:獲取當前位置
10.3 小結
第11章 Android多媒體
11.1 MediaPlayer類:多媒體播放
11.1.1 create方法:創建多媒體
11.1.2 start方法:開始播放
11.1.3 stop方法:停止播放
11.1.4 pause方法:暫停播放
11.1.5 reset方法:重定多媒體
11.1.6 setDataSource方法:設置數據源
11.1.7 prepare方法:準備播放
11.1.8 seekTo方法:指定播放位置
11.1.9 getDuration方法:獲取檔播放時間
11.1.10 setVolume方法:設置音量
11.1.11 setLooping方法:設置迴圈播放
11.1.12 getCurrentPosition方法:獲取當前播放位置
11.1.13 isLooping方法:獲取是否迴圈播放
11.1.14 isPlaying方法:獲取是否播放
11.1.15 setOnCompletionListener方法:設置播放完成監聽器
11.1.16 setOnSeekCompleteListener方法:設置定址完成監聽器
11.1.17 setOnPreparedListener方法:設置準備完畢監聽器
11.1.18 setOnErrorListener方法:設置錯誤監聽器
11.1.19 setOnBufferingUpdateListener方法:設置緩衝監聽器
11.1.20 release方法:釋放多媒體
11.2 VideoView類:視頻播放
11.2.1 setMediaController方法:設置播放控制器
11.2.2 setVideoPath方法:設置視頻源路徑
11.2.3 start方法:開始播放
11.2.4 pause方法:暫停播放
11.2.5 setVideoURI方法:設置視頻源位址
11.2.6 setVisibility方法:設置是否可見
11.2.7 getDuration方法:獲取視頻播放時間
11.2.8 setOnCompletionListener方法: 視頻播放完成監聽器
11.2.9 setOnPreparedListener方法:視頻準備完畢監聽器
11.2.10 setOnErrorListener方法:視頻播放錯誤監聽器
11.2.11 seekTo方法:指定視頻播放位置
11.2.12 getCurrentPosition方法:獲取當前視頻播放位置
11.2.13 getBufferPercentage方法:獲取緩衝百分比
11.2.14 stopPlayback方法:停止重播視頻
11.2.15 isPlaying方法:獲取是否播放
11.2.16 canPause方法:獲取是否可以暫停
11.2.17 canSeekBackward方法:獲取是否可以倒退
11.2.18 canSeekForward方法:獲取是否可以快進
11.2.19 suspend方法:掛起視頻播放
11.2.20 resume方法:恢復視頻播放
11.3 MediaRecorder類:錄音
11.3.1 讓模擬器支持錄音
11.3.2 setAudioSource方法:設置音頻源
11.3.3 setOutputFormat方法:設置輸出檔格式
11.3.4 setAudioEncoder方法:設置音頻編碼
11.3.5 setOutputFile方法:設置輸出檔
11.3.6 prepare方法:準備錄製
11.3.7 start方法:開始錄製
11.3.8 stop方法:停止錄製
11.3.9 release方法:釋放對象
11.3.10 reset方法:重定對象
11.3.11 setOnInfoListener方法:設置資訊監聽器
11.3.12 setMaxFileSize方法:設置文件的最大大小
11.3.13 setMaxDuration方法:設置最大錄製時間
11.3.14 setOnErrorListener方法:設置錯誤監聽器
11.3.15 setAudioChannels方法:設置聲道數量
11.3.16 setAudioEncodingBitRate方法:設置編碼比特率
11.3.17 setAudioSamplingRate方法:設置採樣比特率
11.4 小結
第12章 Android照相機
12.1 Camera類:照相機
12.1.1 open方法:打開照相機
12.1.2 takePicture方法:拍照
12.1.3 release方法:釋放照相機
12.1.4 PictureCallback方法:照片回調函數
12.1.5 ShutterCallback方法:拍照回調函數
12.1.6 getNumberOfCameras方法:獲取照相機數量
12.1.7 startPreview方法:開始預覽
12.1.8 stopPreview方法:停止預覽
12.1.9 setPreviewDisplay方法:設置預覽
12.1.10 getParameters方法:獲取相機參數
12.1.11 setParameters方法:設置相機參數
12.1.12 autoFocus方法:設置自動對焦
12.1.13 cancelAutoFocus方法:取消自動對焦
12.1.14 unlock方法:解鎖相機
12.1.15 reconnect方法:重新連接相機
12.1.16 startSmoothZoom方法:開始變焦
12.2 Camera.Parameters類:照相機參數
12.2.1 getSupportedPictureSizes方法:獲取支援的圖片大小
12.2.2 getMaxExposureCompensation方法:獲取最大曝光補償指數
12.2.3 getMaxZoom方法:獲取最大變焦值
12.2.4 getMinExposureCompensation方法:獲取最低曝光補償指數
12.2.5 getPictureFormat方法:獲取圖片格式
12.2.6 getPictureSize方法:獲取當前照片尺寸
12.2.7 getPreviewFormat方法:獲取預覽格式
12.2.8 getPreviewSize方法:獲取預覽尺寸
12.2.9 getSupportedColorEffects方法:獲取支持的色彩效果列表
12.2.10 getSupportedFlashModes方法:獲取支援的閃光燈模式列表
12.2.11 getSupportedFocusModes方法:獲取支援的對焦模式列表
12.2.12 getSupportedJpegThumbnailSizes方法:獲取支持的JPEG 縮略圖尺寸
12.2.13 getSupportedPictureFormats方法:獲取支援的圖片格式列表
12.2.14 getSupportedPreviewFormats 方法:獲取支援的預覽格式列表
12.2.15 getSupportedPreviewSizes方法: 獲取支持的預覽大小
12.2.16 getSupportedSceneModes方法:獲取支援的場景模式
12.2.17 getSupportedWhiteBalance方法:獲取支持的白平衡
12.2.18 getWhiteBalance方法:獲取當前白平衡設置
12.2.19 getZoom方法:獲取當前變焦值
12.2.20 isZoomSupported方法:獲取是否支持變焦
12.2.21 isSmoothZoomSupported方法:獲取是否支持平滑變焦
12.2.22 getColorEffect方法:獲取當前色彩效果
12.2.23 getFlashMode方法:獲取當前閃光燈模式
12.2.24 getFocalLength方法:獲取焦距
12.2.25 getFocusMode方法:獲取當前對焦模式
12.2.26 getSceneMode方法:獲取當前場景模式
12.3 小結
第13章 Android語音朗讀
13.1 TextToSpeech類:文本朗讀
13.1.1 TextToSpeech方法:構造方法
13.1.2 shutdown方法:釋放引擎
13.1.3 speak方法:朗讀文本
13.1.4 stop方法:停止播放
13.1.5 isSpeaking方法:是否正在朗讀
13.1.6 synthesizeToFile方法:保存朗讀檔
13.1.7 setLanguage方法:設置朗讀語言
13.1.8 getLanguage方法:獲取語言
13.1.9 isLanguageAvailable方法:語言是否可用
13.1.10 setSpeechRate方法:設置語速
13.1.11 setOnUtteranceCompletedListener方法:設置播放完成監聽器
13.1.12 addSpeech方法:關聯音頻檔
13.1.13 setPitch方法:設置音調
13.1.14 addEarcon方法:關聯事件音頻檔
13.1.15 playEarcon方法:播放關聯檔
13.1.16 playSilence方法:靜默朗讀
13.2 小結
第14章 Android系統資訊
14.1 build類:構建信息
14.1.1 MODEL方法:手機型號
14.1.2 SDK方法:SDK版本號
14.1.3 SDK_INT方法:SDK版本號
14.1.4 RELEASE方法:獲取系統版本
14.1.5 BOOTLOADER方法:bootloader版本號
14.1.6 BOARD方法:底層板名稱
14.1.7 BRAND方法:品牌
14.1.8 CPU_ABI方法:指令集
14.1.9 CPU_ABI2方法:第二指令集
14.1.10 DEVICE方法:工業設計名稱
14.1.11 DISPLAY方法:顯示
14.1.12 FINGERPRINT方法:構建的唯一識別字
14.1.13 HARDWARE方法:硬體名稱
14.1.14 HOST方法:主機
14.1.15 ID方法:ID標籤
14.1.16 MANUFACTURER方法:製造商
14.1.17 PRODUCT方法:產品名稱
14.1.18 RADIO方法:無線電固件版本號
14.1.19 SERIAL方法:硬體序列號
14.1.20 TAGS方法:標籤
14.1.21 TIME方法:出廠時間
14.1.22 TYPE方法:構建類型
14.1.23 USER方法:構建用戶名稱
14.1.24 CODENAME方法:開發代號
14.1.25 INCREMENTAL方法:構建增量
14.2 Environment類:環境變數類
14.2.1 getDataDirectory方法:獲取資料目錄
14.2.2 getDownloadCacheDirectory方法:獲取下載緩存目錄
14.2.3 getExternalStorageDirectory方法: 獲取外部存儲目錄
14.2.4 getRootDirectory方法:獲取Root目錄
14.2.5 getExternalStoragePublicDirectory方法:獲取特定類型目錄
14.2.6 getExternalStorageState方法:獲取外部存儲狀態
14.2.7 isExternalStorageEmulated方法:檢查是否有外部存儲設備類比
14.2.8 isExternalStorageRemovable方法:外部存儲設備是否可以移除
14.3 小結
第15章 Android電話操作
15.1 TelephonyManager類:電話管理
15.1.1 getCallState方法:獲取電話狀態
15.1.2 getDeviceId方法:獲取設備ID
15.1.3 getDeviceSoftwareVersion方法:獲取軟體版本號
15.1.4 getLine1Number方法:獲取本機號碼
15.1.5 getNetworkCountryIso方法:獲取國家碼
15.1.6 getNetworkOperator方法:獲取網路操作號
15.1.7 getNetworkType方法:獲取網路類型
15.1.8 getPhoneType方法:獲取手機類型
15.1.9 getSimCountryIso方法:獲取SIM卡的國家碼
15.1.10 getSimState方法:獲取SIM的狀態資訊
15.1.11 getSimOperator方法: 獲取SIM卡的操作碼
15.1.12 getSimOperatorName方法:獲取服務商
15.1.13 getSimSerialNumber方法:獲取SIM卡的序列號
15.1.14 getSubscriberId方法:獲取用戶唯一ID
15.1.15 getVoiceMailAlphaTag方法:獲取語音郵件識別碼
15.1.16 hasIccCard方法:ICC卡是否存在
15.1.17 isNetworkRoaming方法:獲取漫遊狀態
15.1.18 getVoiceMailNumber方法:獲取語音郵件號碼
15.1.19 getDataState方法:獲取資料連接狀態
15.1.20 getDataActivity方法:獲取資料活動狀態
15.2 SignalStrength類:信號強度
15.2.1 isGsm方法:判斷是否為GSM
15.2.2 getGsmBitErrorRate方法:獲取誤碼率
15.2.3 getGsmSignalStrength方法:獲取信號強度
15.2.4 getCdmaDbm方法:獲取CDMA信號的接收強度
15.2.5 getCdmaEcio方法:獲取CDMA信號的導頻信號水準
15.2.6 getEvdoDbm方法:獲取EVDO信號的接收強度
15.2.7 getEvdoEcio方法:獲取EVDO信號的導頻信號水準
15.2.8 getEvdoSnr方法:獲取EVDO信號的信噪比
15.3 ServiceState類:服務狀態
15.3.1 setState方法:設置手機的服務狀態
15.3.2 setStateOff方法:關閉服務
15.3.3 setStateOutOfService方法:設置無服務
15.3.4 getState方法:獲取服務狀態
15.3.5 setRoaming方法:設置漫遊狀態
15.3.6 getRoaming方法:獲取漫遊狀態
15.3.7 setOperatorName方法:設置運營商名稱
15.3.8 getOperatorAlphaLong方法:獲取運營商名稱
15.3.9 getOperatorAlphaShort方法:獲取運營商簡稱
15.3.10 getOperatorNumeric方法:獲取運營商代碼
15.3.11 setIsManualSelection方法:設置手動選擇網路
15.3.12 getIsManualSelection方法:是否手動選擇網路
15.4 SmsManager類:短消息管理
15.4.1 sendTextMessage方法:發送短信
15.4.2 divideMessage方法:分割短信
15.4.3 sendMultipartTextMessage方法:發送多條短信
15.5 小結
第16章 Android定位
16.1 LocationManager類:定位服務管理
16.1.1 getLastKnownLocation方法:獲取最新位置
16.1.2 getAllProviders方法:獲取所有位置提供者
16.1.3 getProviders方法:獲取可用位置提供者
16.1.4 isProviderEnabled方法:獲取位置提供者是否使能
16.1.5 getBestProvider方法:獲取最佳的位置提供者
16.1.6 getProvider方法:獲取位置提供者
16.1.7 requestLocationUpdates方法:請求位置更新
16.1.8 removeUpdates方法:移除位置更新請求
16.1.9 addGpsStatusListener方法:添加GPS狀態監聽器
16.1.10 getGpsStatus方法:獲取GPS狀態
16.1.11 removeGpsStatusListener方法:移除GPS狀態監聽器
16.2 GpsStatus類:GPS狀態
16.2.1 getTimeToFirstFix方法:獲取首次定位時間
16.2.2 getMaxSatellites方法:獲取最大衛星數量
16.2.3 getSatellites方法:獲取GPS衛星狀態
16.3 GpsSatellite類:GPS衛星
16.3.1 getAzimuth方法:獲取方位角
16.3.2 getElevation方法:獲取高度角
16.3.3 getPrn方法:獲取偽亂數
16.3.4 getSnr方法:獲取信噪比
16.4 Location類:位置資訊
16.4.1 getLatitude方法:獲取緯度
16.4.2 getLongitude方法:獲取經度
16.4.3 getSpeed方法:獲取速度
16.4.4 getAccuracy方法:獲取精確度
16.4.5 getBearing方法:獲取方位
16.4.6 getTime方法:獲取UTC時間
16.4.7 getAltitude方法:獲取高度
16.4.8 getProvider方法:獲取位置提供者
16.5 Criteria類:篩選標準
16.5.1 setAccuracy方法:設置定位精度
16.5.2 setSpeedRequired方法:設置是否需要速度
16.5.3 setCostAllowed方法:設置是否允許收費
16.5.4 setBearingRequired方法:設置是否需要方位
16.5.5 setAltitudeRequired方法:設置是否需要海拔
16.5.6 setPowerRequirement方法:設置電量消耗
16.6 小結
第17章 Android感測器
17.1 SensorManager類:感測器管理
17.1.1 getSensorList方法:獲取感測器列表
17.1.2 getDefaultSensor方法:獲取默認感測器
17.1.3 registerListener方法:註冊監聽器
17.1.4 unregisterListener方法:取消註冊監聽器
17.2 Sensor類:感測器
17.2.1 getName方法:獲取感測器的設備名稱
17.2.2 getVersion方法:獲取感測器的設備版本
17.2.3 getType方法:獲取通用類型號
17.2.4 getVendor方法:獲取供應商名稱
17.2.5 getPower方法:獲取感測器的功耗
17.2.6 getResolution方法:獲取感測器的解析度
17.2.7 getMaximumRange方法:獲取感測器的最大量程
17.2.8 getMinDelay方法:獲取感測器的最短時間間隔
17.3 小結
序:
//////////////////////////////////////////////////////
Android編程經典200例
作者序:
譯者序:
前言:
隨著Google Android新版本的發布,Android除了應用在智能手機上以外,目前已成功地進入平板電腦市場,而Android Market的軟件數量,也在以驚人的速度增長。此外,各手機及平板電腦廠商,更是紛紛投入以Google Android為平臺的產品研發。根據以上現象,可以預見Google Android系統的產品在不久以后將成為市場的主流。
Google向全世界推廣Android的策略是持續的,而且推廣的力度很大。隨著越來越多硬件廠商的加入,精心設計的程序通過各種接口到達Android終端設備,如手機、平板電腦、手持游戲設備、數字相框、電子書閱讀器、電子書和Google TV電視盒等。
本書結合作者多年的編程經驗,介紹了Android平臺下軟件開發的基礎知識,并且全書詳解了200個實際實例,協助讀者掌握應用重點,享受開發樂趣。不論你是Android初版的讀者,還是剛加入Android開發領域的新人,都能在輕松愉快的氛圍中迅速上手。
本書特點
1.內容全
通過眾多經典實例對Android常用的知識點進行了詳細的介紹,同時剖析每個概念,讓讀者對Android應用開發有一個全面的認識。
2.實例多
為了幫助讀者快速掌握Android,本書對每一個知識點都安排了相應的實例代碼,讓讀者通過實例掌握關鍵知識。讀者只需將代碼輸入計算機調試,即可輕松地掌握相關的知識。
3.實用性強
本書采用Android應用程序常用的知識點,并結合實例講解,讓讀者在實際應用中能夠快速上手,同時也方便讀者對程序進一步擴展。
4.作為參考書
本書也是一本百科全書式的圖書,知識全面,即查即用。可將本書作為Android應用程序開發的參考書。
本書內容及結構體系
第1章 Android簡介
本章介紹了Android的誕生、特點以及開發環境的搭建。
第2章 Android簡單控件的開發及應用
本章通過25個實例以分類的方式簡單介紹了各個基本控件的應用。通過本章的學習,初學者可以做幾個簡單的實例。
第3章 Android高級控件的開發及應用
本章通過18個實例以分類的方式詳細介紹了Android平臺下高級控件的應用。通過本章的學習,讀者可以做出稍微復雜點的實例。
第4章 手機用戶界面的開發
本章通過15個實例介紹了Android平臺下基于界面的開發,主要有界面響應事件、定時改變Toast消息以及使用Bundle實現Activity間的數據傳送等。
第5章 手機通信服務及手機控制
本章通過20個實例介紹了手機通信服務以及手機桌面背景的切換,以及查看手機SIM卡的信息。
第6章 手機的自動服務功能
本章通過15個實例介紹了Android手機自動服務功能,主要有提醒用戶收短信、查看手機電池剩余電量、更改手機模式等。
第7章 手機文件I/O與數據庫的應用
本章通過8個實例介紹了有關Android手機的文本閱讀、文件管理,以及Android手機端Sqlite數據庫的應用。
第8章 手機網絡應用
本章通過16個實例介紹了手機網絡組件的應用,有自定義手機瀏覽器、網絡音樂的播放,以及網絡下載數據等。
第9章 手機的Google服務功能
本章通過6個實例介紹了Google服務功能的實現,有手機端的Google賬號的登錄、制作成績柱狀圖,以及Google地圖的實現等。
第10章 手機多媒體服務功能
本章通過14個實例為讀者介紹了手機的多媒體服務功能,包括音頻、視頻的采集,以及2D游戲的開發。
第11章 Android手機的3D世界
本章通過8個實例為讀者介紹了3D的一部分基礎技術,每一項技術通過深入剖析其原理,并通過實例對其進行了詳細的講解,相信讀者一定會受益匪淺。
第12章 手機特效開發
本章通過12個實例向讀者介紹了Android中手機特效的開發,在Android平臺下開發,可能會使用到其中的一些特效,希望讀者可以靈活地運用本章中的手機特效。
第13章 休閑游戲——Q版瘋狂大炮
本章通過30個實例介紹了Android 2D游戲《Q版瘋狂大炮》的開發,主要介紹了2D的貼圖技術,以及碰撞檢測的開發。
第14章 娛樂游戲——3D迷宮
本章通過13個實例介紹了Android 3D游戲《3D迷宮》的開發,主要介紹了大范圍貼圖技術和地圖設計器的應用。
本書面向的讀者
初學Android的人員
有一定的Android基礎并且希望學習Android高級開發技術的讀者
在職的Android開發人員
在校相關專業大學生
內容簡介:
本書通過200個經典實例全面、系統地介紹了Android平臺下的軟件開發知識,重點突出、涉及面廣、實用性強,在實例的講解過程中還詳細分析了開發思路及側重點,使讀者達到舉一反三的效果。
全書分為14章,分別為:Android簡介、Android簡單控件的開發及應用、Android高級控件的開發及應用、手機用戶界面、手機通信服務及手機控制、手機的自動服務功能、手機文件I/O與數據庫的應用、手機網絡應用、手機的Google服務功能、手機多媒體服務功能、Android手機的3D世界、手機特效開發、休閑游戲——Q版瘋狂大炮、娛樂游戲——3D迷宮。
本書內容由淺入深,從Android平臺下開發應用軟件的基礎知識到開發大型商務軟件、3D游戲以及2D游戲,開發思路清晰明了、語言簡明扼要,非常適合初學者和Android開發人員閱讀參考。
目錄:
第1章 Android簡介 1
1.1 Android的誕生 1
1.2 Android的特點 1
1.3 Android開發環境的搭建 2
1.4 第一個Android程序——HelloAndroid 4
1.5 Android應用程序的調試 6
1.6 Android應用程序的項目結構 8
1.7 Android的系統架構 9
1.8 小結 12
第2章 Android簡單控件的開發及應用 13
實例1 按鈕的使用技巧 13
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例2 最常用的線性布局 14
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例3 相對性布局的方法 19
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例4 幀布局結構的學習 23
難度指數 ★★★☆☆☆ 占用時間 ○
實例5 結構緊湊的表格布局 25
難度指數 ★★★★☆☆ 占用時間 ○
實例6 用坐標精確布局 28
難度指數 ★★★★★☆ 占用時間 ○
實例7 文字顯示的技巧 30
難度指數 ★★☆☆☆☆ 占用時間
實例8 文字顏色的設置 32
難度指數 ★★★☆☆☆ 占用時間
實例9 使你的文字顯得更獨特 33
難度指數 ★★★★☆☆ 占用時間
實例10 簡單的本地驗證 35
難度指數 ★★★★★★ 占用時間 ○
實例11 性別的選擇 38
難度指數 ★★★★★★ 占用時間
實例12 選擇喜歡的玩家 41
難度指數 ★★★★★★ 占用時間
實例13 確認提交 43
難度指數 ★★★★★★ 占用時間 ○
實例14 個人愛好選擇 45
難度指數 ★★★★★★ 占用時間
實例15 燈泡開關 47
難度指數 ★★★★★★ 占用時間 ○
實例16 最親和的提示 50
難度指數 ★★★★☆☆ 占用時間 ○
實例17 有背景圖片的按鈕 52
難度指數 ★★★★★☆ 占用時間
實例18 圖片按鈕的單擊變換 54
難度指數 ★★★★☆☆ 占用時間
實例19 音樂播放的進度提示 56
難度指數 ★★★★★★ 占用時間
實例20 音量大小的調節 58
難度指數 ★★★★★★ 占用時間
實例21 為你喜歡的作品打分 60
難度指數 ★★★★★☆ 占用時間
實例22 自定義繪制畫布 62
實例23 自定義繪制字符串 63
實例24 自定義繪制幾何圖形 65
實例25 圖片繪制的控制技巧 67
第3章 Android高級控件的開發及應用 71
實例1 單擊查看名人信息 71
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例2 動態圖片排版 74
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例3 選擇喜歡的體育運動 77
難度指數 ★★★★☆☆ 占用時間 ○○
實例4 向菜單中添加選項 79
難度指數 ★★★☆☆☆ 占用時間 ○
實例5 單擊改變圖片透明度 82
難度指數 ★★☆☆☆☆ 占用時間 ○
實例6 動態改變圖片大小 84
難度指數 ★★★★★★ 占用時間
實例7 旋轉圖片的技巧 86
難度指數 ★★★☆☆☆ 占用時間 ○
實例8 制作自己的相片集 89
難度指數 ★★★☆☆☆ 占用時間 ○○
實例9 重要消息提醒 91
難度指數 ★★★★☆☆ 占用時間 ○
實例10 后臺程序安裝進度提示 93
難度指數 ★★★★☆☆ 占用時間 ○
實例11 用單選框實現選擇個人特長 96
難度指數 ★★★★☆☆ 占用時間 ○
實例12 用復選框實現選擇喜歡的城市 98
難度指數 ★★★★☆☆ 占用時間 ○
實例13 單擊“確定”按鈕彈出對話框 101
難度指數 ★★★★★☆ 占用時間
實例14 查看時間日期的應用 102
難度指數 ★★★★★☆ 占用時間
實例15 時鐘模擬設計的應用 105
難度指數 ★★★★★★ 占用時間
實例16 動態列表配置選項 108
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例17 在安卓中瀏覽網頁 110
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例18 切換列表顯示 112
難度指數 ★★★★★☆ 占用時間 ○
小結 114
第4章 手機用戶界面 115
實例1 獲取手機屏幕的分辨率 115
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例2 實現按鈕的界面響應 117
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例3 給控件做背景圖的小技巧 120
難度指數 ★★★☆☆☆ 占用時間 ○
實例4 定時改變提示信息 122
難度指數 ★★★★☆☆ 占用時間
實例5 手機桌面心情 125
難度指數 ★★★★★☆ 占用時間
實例6 應用選項菜單的綜合技巧 132
難度指數 ★★★☆☆☆ 占用時間 ○
實例7 上下文菜單的應用 135
難度指數 ★★★☆☆☆ 占用時間 ○
實例8 手機背景顏色的設置 138
難度指數 ★★☆☆☆☆ 占用時間 ○
實例9 字體顏色的變換 140
難度指數 ★★☆☆☆☆ 占用時間 ○
實例10 實現手機界面的置換 141
難度指數 ★★★☆☆☆ 占用時間 ○
實例11 活用信使啟動新界面 145
難度指數 ★★★☆☆☆ 占用時間 ○
實例12 界面間的數據傳送技巧 148
難度指數 ★★★★★★ 占用時間
實例13 實現數據的返回接收 153
難度指數 ★★★★★☆ 占用時間 ○
實例14 設置自己的手機顯示模式 158
難度指數 ★★★★☆☆ 占用時間 ○○
實例15 更改手機屏幕顯示方向 160
難度指數 ★★★★☆☆ 占用時間 ○○
小結 163
第5章 手機通信服務及手機控制 164
實例1 自動調用系統的撥號、上網和發送E-mail的功能 164
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例2 電話撥號軟件 166
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例3 自制電話撥號系統 168
難度指數 ★★★★☆☆ 占用時間 ○
實例4 手機發送短信 171
難度指數 ★★☆☆☆☆ 占用時間 ○
實例5 簡易電子郵件 175
難度指數 ★★☆☆☆☆ 占用時間
實例6 自制手機通訊錄搜索 177
難度指數 ★★☆☆☆☆ 占用時間 ○
實例7 一鍵查詢聯系人資料 181
難度指數 ★★★★☆☆ 占用時間
實例8 有圖標的愛好選擇系統 183
難度指數 ★★★☆☆☆ 占用時間 ○
實例9 界面切換時的震動提醒 185
難度指數 ★★★☆☆☆ 占用時間 ○
實例10 帶圖片的小提醒 187
難度指數 ★★★★★☆ 占用時間 ○
實例11 音樂播放器在狀態欄上圖標提示 189
難度指數 ★★★★★☆ 占用時間
實例12 自制打開或關閉Wi-Fi 192
難度指數 ★★☆☆☆☆ 占用時間 ○
實例13 還原手機桌面背景 195
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例14 設置手機桌面背景 196
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例15 輕松獲取手機桌面背景 198
難度指數 ★★★★★☆ 占用時間 ○
實例16 輕松查看手機的相關信息 199
難度指數 ★★★★★★ 占用時間
實例17 查看SIM卡的詳細信息 202
難度指數 ★★★☆☆☆ 占用時間 ○
實例18 按鍵移動圖片——方向鍵的應用 205
難度指數 ★★★★★★ 占用時間
實例19 查看正在運行的程序 208
難度指數 ★★★★☆☆ 占用時間 ○
實例20 手機屏幕更改時信息的捕捉和提醒 210
難度指數 ★★★☆☆☆ 占用時間 ○○
小結 213
第6章 手機的自動服務功能 214
實例1 自動服務的主要功能 214
難度指數 ★★★☆☆☆ 占用時間 ○
實例2 系統服務的開始與停止 218
難度指數 ★★★☆☆☆ 占用時間 ○
實例3 提醒用戶收到短信 221
難度指數 ★☆☆☆☆☆ 占用時間
實例4 查看手機電池剩余電量 223
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例5 接收到短信時界面切換顯示短信消息 225
難度指數 ★★★★☆☆ 占用時間 ○
實例6 通過后臺定時發送提示 229
難度指數 ★★★★★☆ 占用時間
實例7 短信群發功能的實現 233
難度指數 ★★★☆☆☆ 占用時間 ○
實例8 開機程序自啟動 235
難度指數 ★★★☆☆☆ 占用時間 ○
實例9 手機狀態提醒 240
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例10 有來電時,發送短信回復 242
難度指數 ★★★★☆☆ 占用時間
實例11 手機存儲卡容量的查詢 246
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例12 備忘錄的定時提醒 249
難度指數 ★★★★☆☆ 占用時間 ○
實例13 設置手機靜音和固定號碼來電時手機震動 253
難度指數 ★★★★★☆ 占用時間 ○
實例14 根據手機姿態改變手機模式 258
難度指數 ★★★★★★ 占用時間 ○○
實例15 定時更改手機模式 262
難度指數 ★★★★★★ 占用時間
小結 266
第7章 手機文件I/O與數據庫的應用 267
實例1 手機SD卡文本閱讀器 267
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例2 修改手機中的文件 269
難度指數 ★★☆☆☆☆ 占用時間 ○
實例3 刪除手機中的文件 275
難度指數 ★★★☆☆☆ 占用時間 ○
實例4 訪問APK包中的文件 278
難度指數 ★★★☆☆☆ 占用時間 ○○
實例5 簡單的學生信息管理 281
難度指數 ★★★★★★ 占用時間
實例6 查看手機里面的相片 288
難度指數 ★★★★☆☆ 占用時間 ○○
實例7 對數據庫的簡單操作 291
難度指數 ★★★★★☆ 占用時間
實例8 記錄訪問程序的時間 294
難度指數 ★☆☆☆☆☆ 占用時間 ○
小結 296
第8章 手機網絡應用 297
實例1 網絡連接檢測軟件 297
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例2 制作簡單網頁瀏覽器 300
難度指數 ★★★☆☆☆ 占用時間 ○
實例3 自定義網頁瀏覽器 303
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例4 網絡圖片瀏覽軟件 305
難度指數 ★★★☆☆☆ 占用時間 ○
實例5 網絡圖片相冊集 308
難度指數 ★★★★☆☆ 占用時間
實例6 手機查看實時衛星云圖 316
難度指數 ★★★☆☆☆ 占用時間
實例7 Google天氣客戶端 319
難度指數 ★★★★☆☆ 占用時間
實例8 旅游城市的介紹 325
難度指數 ★★★★☆☆ 占用時間
實例9 網絡音樂播放 330
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例10 網絡歌曲下載軟件 333
難度指數 ★★★☆☆☆ 占用時間 ○
實例11 下載網絡歌曲制作手機鈴聲 338
難度指數 ★★★☆☆☆ 占用時間 ○
實例12 下載網絡圖片制作手機背景 342
難度指數 ★★★☆☆☆ 占用時間 ○
實例13 制作RSS閱讀器 345
難度指數 ★★★★☆☆ 占用時間
實例14 遠程下載與安裝Android程序 352
難度指數 ★★★★★☆ 占用時間
實例15 手機下載看3gp影片 357
難度指數 ★★★★★★ 占用時間 ○
實例16 常用網站登錄界面的制作 362
難度指數 ★★★★★★ 占用時間
小結 366
第9章 手機的Google服務功能 368
實例1 手機客戶端Google賬號登錄 368
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例2 使用手機進行Google搜索 373
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例3 制作成績柱狀圖 376
難度指數 ★★★☆☆☆ 占用時間 ○
實例4 實現Google地圖 380
難度指數 ★★★★☆☆ 占用時間
實例5 Google地圖地點查詢功能 387
難度指數 ★★★★★☆ 占用時間 ○
實例6 隨身小詞典 393
難度指數 ★★★★★★ 占用時間
小結 398
第10章 手機多媒體服務功能 399
實例1 獲取圖片的寬高 399
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例2 繪制簡單圖形 400
難度指數 ★★☆☆☆☆ 占用時間 ○
實例3 實現平面貼圖 402
難度指數 ★★☆☆☆☆ 占用時間 ○
實例4 簡單淡入淡出效果 404
難度指數 ★★★☆☆☆ 占用時間 ○
實例5 虛擬鍵的設計與實現 407
難度指數 ★★★☆☆☆ 占用時間 ○○
實例6 獲取手機內置媒體圖片 410
難度指數 ★★★★☆☆ 占用時間 ○
實例7 手機音量大小的調節 413
難度指數 ★★★☆☆☆ 占用時間 ○○
實例8 采集音頻數據 417
難度指數 ★★★★☆☆ 占用時間 ○
實例9 采集圖像數據 421
難度指數 ★★★☆☆☆ 占用時間 ○○
實例10 采集視頻數據 426
難度指數 ★★★★★☆ 占用時間 ○
實例11 視頻播放器 431
難度指數 ★★★★★☆ 占用時間 ○
實例12 自定義動畫效果 436
難度指數 ★★★★★★ 占用時間
實例13 小球游戲 439
難度指數 ★★★★★★ 占用時間
實例14 音樂播放器 448
難度指數 ★★★★★★ 占用時間
小結 453
第11章 Android手機的3D世界 454
實例1 三角形的繪制 454
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例2 立方體的繪制 458
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例3 球體的繪制 461
難度指數 ★★☆☆☆☆ 占用時間 ○
實例4 豐富多彩的光照世界 465
難度指數 ★★★☆☆☆ 占用時間 ○
實例5 制作簡易小木箱 468
難度指數 ★★★☆☆☆ 占用時間 ○
實例6 朦朧世界的霧景特效 472
難度指數 ★★★★☆☆ 占用時間
實例7 透過玻璃看風景 474
難度指數 ★★★★★☆ 占用時間
實例8 3D相冊的制作 478
難度指數 ★★★★★★ 占用時間
小結 487
第12章 手機特效開發 488
實例1 虛線特效的開發 488
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例2 切屏動畫特效 492
難度指數 ★★☆☆☆☆ 占用時間 ○
實例3 控件的抖動特效 496
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例4 多點觸控 499
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例5 傳感器探測者 504
難度指數 ★★★☆☆☆ 占用時間 ○
實例6 小球游戲動態壁紙 507
難度指數 ★★★★☆☆ 占用時間
實例7 自動完成輸入框 513
難度指數 ★★★☆☆☆ 占用時間 ○
實例8 對你的圖片進行簡單編輯 518
難度指數 ★★★☆☆☆ 占用時間 ○
實例9 左右拖拉你的界面 521
難度指數 ★★★★☆☆ 占用時間 ○
實例10 靈活的桌面小工具 527
難度指數 ★★☆☆☆☆ 占用時間 ○
實例11 JDBC客戶端的開發 533
難度指數 ★★★★★☆ 占用時間
實例12 新浪微博客戶端的開發 537
難度指數 ★★★★★★ 占用時間
小結 543
第13章 休閑游戲——Q版瘋狂大炮 544
實例1 游戲背景及功能介紹 544
實例2 游戲實際預覽效果 544
實例3 游戲策劃及準備工作 546
實例4 游戲的架構 547
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例5 游戲的主類代碼框架 549
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例6 主類中部分成員變量及方法的實現 551
實例7 按鍵響應線程類的實現 556
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例8 游戲常量類的設計與實現 557
實例9 歡迎動畫界面的設計與實現 559
難度指數 ★★★☆☆☆ 占用時間 ○
實例10 主菜單界面的設計與實現 561
難度指數 ★★★★☆☆ 占用時間 ○
實例11 積分榜界面的代碼框架 562
難度指數 ★★★☆☆☆ 占用時間
實例12 積分榜界面中部分方法的實現 564
實例13 游戲界面顯示類的代碼框架 566
實例14 游戲界面顯示類中部分方法的實現 567
實例15 目標路徑類的實現 570
難度指數 ★★★★★☆ 占用時間
實例16 產生目標線程類的實現 571
實例17 英雄大炮類的代碼框架 572
實例18 英雄大炮類成員方法的實現 574
難度指數 ★★★★★☆ 占用時間
實例19 炮彈的實現 576
實例20 目標的實現 577
實例21 爆炸效果的實現 579
實例22 飛行器及其子類的實現 579
實例23 飛行物的實現 581
實例24 力度條的實現 581
實例25 定時器的實現 583
實例26 得分榜的實現 584
實例27 滾屏背景的實現 585
實例28 主菜單按鈕的實現 586
實例29 獲取系統日期的方法 587
實例30 游戲的優化與改進 588
難度指數 ★★★★★★ 占用時間
第14章 娛樂游戲——3D迷宮 589
實例1 游戲背景及功能介紹 589
實例2 游戲實際預覽效果 589
實例3 游戲策劃及準備工作 592
實例4 游戲的架構 593
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例5 游戲主類的設計與實現 594
實例6 游戲常量類的設計與實現 598
難度指數 ★☆☆☆☆☆ 占用時間 ○○
實例7 游戲主菜單類的設計與實現 599
難度指數 ★★☆☆☆☆ 占用時間 ○○
實例8 游戲界面的設計與實現 602
難度指數 ★★★☆☆☆ 占用時間 ○
實例9 游戲界面中主要場景的繪制 607
難度指數 ★★★★☆☆ 占用時間
實例10 游戲中的邏輯實現與線程操控 617
難度指數 ★★★★★☆ 占用時間
實例11 游戲地圖設計器的界面效果與使用方法 621
難度指數 ★★★★★★ 占用時間
實例12 游戲地圖設計器的開發實現 623
實例13 游戲的優化與改進 629
序:
////////////////////////////////////////////////////
Android平板電腦開發實戰詳解和典型案例
目錄:
第1章 平板電腦概覽以及開發環境的搭建 1
1.1 平板電腦基礎知識概覽 1
1.1.1 初識平板電腦 1
1.1.2 忐忑發展史之平板電腦 1
1.1.3 平板電腦的家族成員 2
1.1.4 獨樹一幟的平板電腦 4
1.2 開發環境的搭建 5
1.2.1 Android SDK的安裝與環境變量配置 5
1.2.2 Eclipse集成開發環境的搭建 6
1.2.3 Android模擬器的創建與使用 8
1.3 初識Android應用程序 10
1.3.1 創建第一個Android應用程序——Hello Android 10
1.3.2 模擬器上調試Android應用程序 12
1.3.3 實際設備的聯機調試 14
1.4 小結 15
第2章 Android平臺特色控件 16
2.1 搜索框控件——SearchView 16
2.1.1 搜索框控件基本知識 16
2.1.2 搜索框控件使用案例 17
2.2 開關窗口——Switch 19
2.2.1 開關窗口基本知識 19
2.2.2 開關窗口使用案例 19
2.3 彈出菜單——PopupMenu 21
2.3.1 彈出菜單基本知識 21
2.3.2 彈出菜單使用案例 21
2.4 動作條——ActionBar 24
2.4.1 顯示選項菜單基本知識 24
2.4.2 顯示選項菜單使用案例 24
2.4.3 提供標簽頁切換方式的導航功能基本知識 28
2.4.4 提供標簽頁切換方式導航功能使用案例 28
2.4.5 提供下拉列表導航功能基本知識 31
2.4.6 提供下拉列表導航功能使用案例 31
2.5 數字選擇控件——NumberPiker 34
2.5.1 數字選擇控件基本知識 34
2.5.2 數字選擇控件使用案例 34
2.6 可展開列表——ExpandableListView 36
2.6.1 可展開列表基本知識 37
2.6.2 可展開列表使用案例 37
2.7 滑動式抽屜——SlidingDrawer 40
2.7.1 滑動式抽屜基本知識 40
2.7.2 滑動式抽屜使用案例 41
2.8 小結 44
第3章 酷炫UI之新增布局與片段 45
3.1 堆視圖——AdapterViewFlipper 45
3.1.1 堆視圖基本知識 45
3.1.2 堆視圖使用案例 46
3.2 棧視圖——StackView 49
3.2.1 棧視圖基本知識 49
3.2.2 棧視圖使用案例 50
3.3 網格布局——GridLayout 52
3.3.1 網格布局的基本知識 52
3.3.2 網格布局使用案例 53
3.4 片段——Fragment 56
3.4.1 片段——Fragment簡介 56
3.4.2 列表片段——ListFragment 57
3.4.3 對話框片段——DialogFragment 61
3.4.4 偏好片段——PreferenceFragment 63
3.4.5 片段綜合使用案例 67
3.5 小結 71
第4章 酷炫UI之選項選擇界面 72
4.1 復選框選項設置——CheckBoxPreference 72
4.1.1 復選框選項設置基本知識 72
4.1.2 復選框選項設置使用案例 73
4.2 對話框選項設置——DialogPreference 75
4.2.1 對話框選項設置基本知識 75
4.2.2 對話框選項設置使用案例 77
4.3 鈴聲選項設置——RingtonePreference 79
4.3.1 鈴聲選項設置基本知識 79
4.3.2 鈴聲選項設置使用案例 80
4.4 分組選項設置——PreferenceGroup 82
4.4.1 分組選項設置基本知識 82
4.4.2 分組選項設置使用案例 83
4.5 選項設置界面——SwitchPreference 85
4.5.1 選項設置界面基本知識 85
4.5.2 選項設置界面使用案例 86
4.6 主題——Theme 88
4.6.1 主題基本知識 88
4.6.2 主題使用案例 88
4.7 小結 91
第5章 數字圖像處理及拍照 92
5.1 平滑濾鏡 92
5.1.1 基本知識 92
5.1.2 一個簡單的案例 93
5.2 銳化濾鏡 97
5.2.1 基本知識 97
5.2.2 一個簡單的案例 97
5.3 中值濾波器 98
5.3.1 基本知識 99
5.3.2 一個簡單的案例 99
5.4 對比度擴展 103
5.4.1 基本知識 103
5.4.2 一個簡單的案例 103
5.5 削波 107
5.5.1 基本知識 108
5.5.2 一個簡單的案例 108
5.6 閾值化 112
5.6.1 基本知識 112
5.6.2 一個簡單的案例 112
5.7 灰度窗口變換 115
5.7.1 基本知識 115
5.7.2 一個簡單的案例 116
5.8 直方圖均衡化 119
5.8.1 基本知識 120
5.8.2 一個簡單的案例 120
5.9 輪廓提取 126
5.9.1 基本知識 126
5.9.2 一個簡單的案例 126
5.10 腐蝕濾鏡 130
5.10.1 基本知識 130
5.10.2 一個簡單的案例 131
5.11 膨脹濾鏡 135
5.11.1 基本知識 135
5.11.2 一個簡單的案例 136
5.12 攝像頭的變焦操作 140
5.12.1 基本知識 140
5.12.2 一個簡單的案例 141
5.13 攝像頭的對焦操作 146
5.13.1 基本知識 146
5.13.2 一個簡單的案例 147
5.14 閃光燈的操作 148
5.14.1 基本知識 148
5.14.2 一個簡單的案例 148
5.15 人臉檢測——FaceDetector 149
5.15.1 基本知識 150
5.15.2 一個簡單的案例 150
5.16 條形碼掃描 153
5.16.1 基本知識 153
5.16.2 識別軟件的開發 155
5.17 小結 168
第6章 TTS及語音識別 169
6.1 語音合成技術概覽 169
6.1.1 Android系統TTS的設置界面 169
6.1.2 Android TTS引擎 170
6.1.3 語音合成類——TextToSpeech 170
6.2 發音功能 171
6.2.1 基礎知識 171
6.2.2 一個簡單的案例 171
6.3 記憶功能 174
6.3.1 基礎知識 174
6.3.2 一個簡單的案例 174
6.4 保存與關聯功能 176
6.4.1 基礎知識 177
6.4.2 一個簡單的案例 177
6.5 TTS引擎“手說TTS” 183
6.5.1 基礎知識 183
6.5.2 一個簡單的案例 183
6.6 語音識別——SpeechRecognizer 186
6.6.1 識別信息類基本知識 186
6.6.2 信息識別類使用案例 186
6.7 小結 189
第7章 多媒體 190
7.1 音頻播放 190
7.1.1 基本知識 190
7.1.2 一個簡單的案例 190
7.2 實時音頻采集與回放 196
7.2.1 基本知識 196
7.2.1 一個簡單的案例 198
7.3 視頻播放 207
7.3.1 基本知識 207
7.3.2 簡單的使用案例 207
7.4 流媒體 213
7.4.1 基本知識 213
7.4.2 一個簡單的案例 213
7.5 多功能媒體播放器案例 214
7.5.1 案例功能概覽 214
7.5.2 音頻播放基本界面的開發 216
7.5.3 音頻播放前臺功能的開發 221
7.5.4 音頻播放后臺功能的開發 226
7.5.5 頻譜顯示功能的開發 230
7.5.6 視頻播放功能的開發 232
7.6 小結 239
第8章 2D圖形渲染及多點觸控 240
8.1 基本圖形的繪制 240
8.1.1 基本知識 240
8.1.2 一個簡單的案例 242
8.2 特殊線型 245
8.2.1 基本知識 245
8.2.2 一個簡單的案例 246
8.3 平面貼圖 250
8.3.1 基本知識 250
8.3.2 一個簡單的案例 251
8.4 剪裁功能 253
8.4.1 基本知識 253
8.4.2 一個簡單的案例 254
8.5 2D小游戲案例 257
8.5.1 案例功能預覽 257
8.5.2 矩形類與豆豆類的開發 258
8.5.3 繪制類的開發 259
8.5.4 Activity以及相關線程的開發 263
8.6 多點觸控 268
8.6.1 基本知識 268
8.6.2 一個簡單的案例 269
8.7 小結 274
第9章 3D應用開發基礎 275
9.1 OpenGL及OpenGL ES簡介 275
9.2 3D基本知識 277
9.3 舊約——OpenGL ES 1.x 278
9.3.1 OpenGL ES 1.x的渲染管線 278
9.3.2 不同的繪制方式 281
9.3.3 索引法繪制案例 283
9.3.4 頂點法繪制案例 290
9.3.5 正交投影 291
9.3.6 透視投影 293
9.3.7 兩種投影模式的案例 294
9.3.8 光照的3種組成元素 298
9.3.9 定向光與定位光 300
9.3.10 點法向量和面法向量 301
9.3.11 材質 302
9.3.12 兩種光源的案例 303
9.3.13 紋理映射 306
9.3.14 紋理映射案例 306
9.4 新約——OpenGL ES 2.0 309
9.4.1 OpenGL ES 2.0的渲染管線 309
9.4.2 初識OpenGL ES 2.0應用程序 312
9.4.3 著色語言 319
9.4.4 正交投影 320
9.4.5 透視投影 325
9.4.6 3種光照通道 327
9.4.7 定位光 328
9.4.8 定向光 333
9.4.9 紋理映射 335
9.5 小結 340
第10章 傳感器應用開發 341
10.1 基本的開發流程 341
10.2 加速度傳感器 343
10.2.1 基本知識 344
10.2.2 一個簡單的案例 345
10.3 磁場傳感器 351
10.3.1 基本知識 351
10.3.2 一個簡單的案例 351
10.4 光傳感器 353
10.4.1 基本知識 353
10.4.2 一個簡單案例 353
10.5 溫度傳感器 354
10.5.1 基本知識 354
10.5.2 一個簡單的案例 354
10.6 接近傳感器 356
10.6.1 基本知識 356
10.6.2 一個簡單的案例 356
10.7 姿態傳感器 358
10.7.1 基本知識 358
10.7.2 一個簡單的案例 359
10.8 小結 360
第11章 藍牙與無線以太網直連 361
11.1 基礎知識 361
11.2 藍牙連接功能的開發 362
11.2.1 功能預覽 362
11.2.2 案例的開發 363
11.3 手機間藍牙互聯操控 373
11.3.1 功能預覽 374
11.3.2 案例的開發 374
11.4 手機與其他設備的互聯操控 382
11.4.1 基本規則 382
11.4.2 使用案例 383
11.5 無線以太網直連 387
11.5.1 基本知識 387
11.5.2 功能預覽 388
11.5.3 案例的開發 390
11.6 小結 403
第12章 GPS高級開發 404
12.1 設置開關及獲得信息 404
12.1.1 基本知識 404
12.1.2 案例介紹 405
12.2 衛星信息的呈現 411
12.2.1 功能介紹 411
12.2.2 使用案例 411
12.3 當前位置信息的呈現 415
12.3.1 功能介紹 415
12.3.2 案例介紹 416
12.4 圖片與顏色的加載 419
12.5 小結 421
第13章 多分辨率屏幕自適應 422
13.1 XML布局描述文件 422
13.1.1 基本策略簡介 422
13.1.2 一個簡單的案例 423
13.2 橫豎向各自按照不同比例縮放 428
13.2.1 基本策略簡介 428
13.2.2 一個簡單的案例 429
13.3 僅按照一個方向比例縮放 435
13.3.1 基本策略簡介 435
13.3.2 一個簡單的案例 436
13.4 不變形全部顯示 437
13.4.1 基本策略簡介 437
13.4.2 一個簡單的案例 438
13.5 小結 441
第14章 2D物理引擎游戲——魔法跳跳球 442
14.1 游戲背景及功能概述 442
14.1.1 背景概述 442
14.1.2 功能簡介 442
14.2 游戲的策劃和準備工作 445
14.2.1 游戲的策劃 445
14.2.2 游戲的準備工作 445
14.3 游戲的架構 446
14.3.1 游戲的總體架構 446
14.3.2 游戲的類架構 447
14.4 主控制類——Box2D_MFTTQA-ctivity類的開發 449
14.5 主界面相關類 452
14.5.1 主界面類MainMenuView 452
14.5.2 主界面繪制線程MainMenuDrawThread 455
14.6 輔助工具類 456
14.6.1 聲音工具類SoundUtil 456
14.6.2 圖片加載工具類PicLoadUtil 458
14.6.3 常量類Constant 459
14.7 剛體類 462
14.7.1 剛體父類MyBody 462
14.7.2 擋板類MyBaffleImg 463
14.7.3 小球類MyBallImg 464
14.7.4 邊界類MyEdgeImg 465
14.7.5 小釘類MyNailImg 466
14.7.6 物理引擎工具類Box2DUtil 468
14.7.7 碰撞檢測搜索工具類BodySearchUtil 472
14.8 游戲界面相關類 474
14.8.1 游戲界面類GameView 474
14.8.2 物理世界模擬線程PhysicsThread 484
14.8.3 小球移動控制線程MoveballThread 490
14.8.4 抽獎信息控制線程CjThread 491
14.8.5 倒計時控制線程TimeThread 493
14.8.6 謎之盒滾動控制線程RollMysteryboxThread 494
14.8.7 抽獎煙花彈類Award 495
14.8.8 焰火類FireWork 497
14.9 游戲的優化與改進 497
第15章 3D競速游戲——極速飛行 499
15.1 游戲背景及功能概述 499
15.1.1 背景概述 499
15.1.2 功能介紹 499
15.2 游戲的策劃及準備工作 501
15.2.1 游戲的策劃 501
15.2.2 Android平臺下游戲的準備工作 501
15.3 游戲的架構 504
15.3.1 各個類簡要介紹 504
15.3.2 游戲框架簡介 507
15.4 公共類FeiTingActivity 508
15.5 輔助界面相關類 511
15.5.1 歡迎界面WelcomeView類 512
15.5.2 3D界面的父類MyGLSurfaceView 513
15.5.3 主菜單界面類MenuView 514
15.5.4 選艇界面類XCView 517
15.5.5 選艇界面箭頭類JianTou 521
15.5.6 選艇界面底座類DiZuo 522
15.5.7 歷史界面類LiShiView 525
15.5.8 紋理矩形類TextureRect 528
15.6 游戲界面相關類 530
15.6.1 飛艇信息類BoatInfo 530
15.6.2 飛艇類boat 530
15.6.3 簡單賽道類SaiDaoSimple 531
15.6.4 賽道類Saidao 534
15.6.5 圓柱類YuanZhu 535
15.6.6 正方形類Rectangular 535
15.6.7 立方體類Cube 537
15.6.8 立方體組類CubeGroup 538
15.6.9 立方體組的線程控制類CubeThread 540
15.6.10 障礙物的控制類ZAWForControl 541
15.6.11 障礙物的地圖類MapData 541
15.6.12 游戲界面類MySurfaceView 542
15.6.13 游戲線程類KeyThread 546
15.7 游戲中著色器的開發 552
15.7.1 線段的著色器 552
15.7.2 紋理的著色器 552
15.8 游戲的優化與改進 553
第16章 生活輔助軟件——BN日程小管家 554
16.1 開發背景及功能概述 554
16.1.1 開發背景 554
16.1.2 功能概述 554
16.1.3 開發環境和目標平臺 555
16.2 軟件預覽及功能結構 555
16.2.1 軟件預覽 555
16.2.2 功能結構 559
16.3 開發前的準備工作 559
16.3.1 數據庫設計 559
16.3.2 數據庫表設計 560
16.4 數據庫的開發 561
16.5 主控制類ScheduleManagerActivity 572
16.6 登錄界面的開發 575
16.7 自定義日歷控件的開發 576
16.8 主界面的開發 585
16.8.1 月視圖的開發 585
16.8.2 周視圖的開發 593
16.8.3 日視圖的開發 596
16.9 新建和編輯日程界面的開發 596
16.9.1 基本界面的開發 597
16.9.2 添加聯系人的開發 598
16.9.3 添加圖片的開發 600
16.9.4 添加錄音的開發 601
16.9.5 添加地點的開發 605
16.10 查詢日程界面的開發 610
16.11 鈴聲設置界面的開發 612
16.12 鬧鈴提醒界面的開發 614
16.13 小結 615
序:
/////////////////////////////////////////////////
Android平板電腦開發實戰詳解和典型案例
目錄:
第1章 平板電腦概覽以及開發環境的搭建 1
1.1 平板電腦基礎知識概覽 1
1.1.1 初識平板電腦 1
1.1.2 忐忑發展史之平板電腦 1
1.1.3 平板電腦的家族成員 2
1.1.4 獨樹一幟的平板電腦 4
1.2 開發環境的搭建 5
1.2.1 Android SDK的安裝與環境變量配置 5
1.2.2 Eclipse集成開發環境的搭建 6
1.2.3 Android模擬器的創建與使用 8
1.3 初識Android應用程序 10
1.3.1 創建第一個Android應用程序——Hello Android 10
1.3.2 模擬器上調試Android應用程序 12
1.3.3 實際設備的聯機調試 14
1.4 小結 15
第2章 Android平臺特色控件 16
2.1 搜索框控件——SearchView 16
2.1.1 搜索框控件基本知識 16
2.1.2 搜索框控件使用案例 17
2.2 開關窗口——Switch 19
2.2.1 開關窗口基本知識 19
2.2.2 開關窗口使用案例 19
2.3 彈出菜單——PopupMenu 21
2.3.1 彈出菜單基本知識 21
2.3.2 彈出菜單使用案例 21
2.4 動作條——ActionBar 24
2.4.1 顯示選項菜單基本知識 24
2.4.2 顯示選項菜單使用案例 24
2.4.3 提供標簽頁切換方式的導航功能基本知識 28
2.4.4 提供標簽頁切換方式導航功能使用案例 28
2.4.5 提供下拉列表導航功能基本知識 31
2.4.6 提供下拉列表導航功能使用案例 31
2.5 數字選擇控件——NumberPiker 34
2.5.1 數字選擇控件基本知識 34
2.5.2 數字選擇控件使用案例 34
2.6 可展開列表——ExpandableListView 36
2.6.1 可展開列表基本知識 37
2.6.2 可展開列表使用案例 37
2.7 滑動式抽屜——SlidingDrawer 40
2.7.1 滑動式抽屜基本知識 40
2.7.2 滑動式抽屜使用案例 41
2.8 小結 44
第3章 酷炫UI之新增布局與片段 45
3.1 堆視圖——AdapterViewFlipper 45
3.1.1 堆視圖基本知識 45
3.1.2 堆視圖使用案例 46
3.2 棧視圖——StackView 49
3.2.1 棧視圖基本知識 49
3.2.2 棧視圖使用案例 50
3.3 網格布局——GridLayout 52
3.3.1 網格布局的基本知識 52
3.3.2 網格布局使用案例 53
3.4 片段——Fragment 56
3.4.1 片段——Fragment簡介 56
3.4.2 列表片段——ListFragment 57
3.4.3 對話框片段——DialogFragment 61
3.4.4 偏好片段——PreferenceFragment 63
3.4.5 片段綜合使用案例 67
3.5 小結 71
第4章 酷炫UI之選項選擇界面 72
4.1 復選框選項設置——CheckBoxPreference 72
4.1.1 復選框選項設置基本知識 72
4.1.2 復選框選項設置使用案例 73
4.2 對話框選項設置——DialogPreference 75
4.2.1 對話框選項設置基本知識 75
4.2.2 對話框選項設置使用案例 77
4.3 鈴聲選項設置——RingtonePreference 79
4.3.1 鈴聲選項設置基本知識 79
4.3.2 鈴聲選項設置使用案例 80
4.4 分組選項設置——PreferenceGroup 82
4.4.1 分組選項設置基本知識 82
4.4.2 分組選項設置使用案例 83
4.5 選項設置界面——SwitchPreference 85
4.5.1 選項設置界面基本知識 85
4.5.2 選項設置界面使用案例 86
4.6 主題——Theme 88
4.6.1 主題基本知識 88
4.6.2 主題使用案例 88
4.7 小結 91
第5章 數字圖像處理及拍照 92
5.1 平滑濾鏡 92
5.1.1 基本知識 92
5.1.2 一個簡單的案例 93
5.2 銳化濾鏡 97
5.2.1 基本知識 97
5.2.2 一個簡單的案例 97
5.3 中值濾波器 98
5.3.1 基本知識 99
5.3.2 一個簡單的案例 99
5.4 對比度擴展 103
5.4.1 基本知識 103
5.4.2 一個簡單的案例 103
5.5 削波 107
5.5.1 基本知識 108
5.5.2 一個簡單的案例 108
5.6 閾值化 112
5.6.1 基本知識 112
5.6.2 一個簡單的案例 112
5.7 灰度窗口變換 115
5.7.1 基本知識 115
5.7.2 一個簡單的案例 116
5.8 直方圖均衡化 119
5.8.1 基本知識 120
5.8.2 一個簡單的案例 120
5.9 輪廓提取 126
5.9.1 基本知識 126
5.9.2 一個簡單的案例 126
5.10 腐蝕濾鏡 130
5.10.1 基本知識 130
5.10.2 一個簡單的案例 131
5.11 膨脹濾鏡 135
5.11.1 基本知識 135
5.11.2 一個簡單的案例 136
5.12 攝像頭的變焦操作 140
5.12.1 基本知識 140
5.12.2 一個簡單的案例 141
5.13 攝像頭的對焦操作 146
5.13.1 基本知識 146
5.13.2 一個簡單的案例 147
5.14 閃光燈的操作 148
5.14.1 基本知識 148
5.14.2 一個簡單的案例 148
5.15 人臉檢測——FaceDetector 149
5.15.1 基本知識 150
5.15.2 一個簡單的案例 150
5.16 條形碼掃描 153
5.16.1 基本知識 153
5.16.2 識別軟件的開發 155
5.17 小結 168
第6章 TTS及語音識別 169
6.1 語音合成技術概覽 169
6.1.1 Android系統TTS的設置界面 169
6.1.2 Android TTS引擎 170
6.1.3 語音合成類——TextToSpeech 170
6.2 發音功能 171
6.2.1 基礎知識 171
6.2.2 一個簡單的案例 171
6.3 記憶功能 174
6.3.1 基礎知識 174
6.3.2 一個簡單的案例 174
6.4 保存與關聯功能 176
6.4.1 基礎知識 177
6.4.2 一個簡單的案例 177
6.5 TTS引擎“手說TTS” 183
6.5.1 基礎知識 183
6.5.2 一個簡單的案例 183
6.6 語音識別——SpeechRecognizer 186
6.6.1 識別信息類基本知識 186
6.6.2 信息識別類使用案例 186
6.7 小結 189
第7章 多媒體 190
7.1 音頻播放 190
7.1.1 基本知識 190
7.1.2 一個簡單的案例 190
7.2 實時音頻采集與回放 196
7.2.1 基本知識 196
7.2.1 一個簡單的案例 198
7.3 視頻播放 207
7.3.1 基本知識 207
7.3.2 簡單的使用案例 207
7.4 流媒體 213
7.4.1 基本知識 213
7.4.2 一個簡單的案例 213
7.5 多功能媒體播放器案例 214
7.5.1 案例功能概覽 214
7.5.2 音頻播放基本界面的開發 216
7.5.3 音頻播放前臺功能的開發 221
7.5.4 音頻播放后臺功能的開發 226
7.5.5 頻譜顯示功能的開發 230
7.5.6 視頻播放功能的開發 232
7.6 小結 239
第8章 2D圖形渲染及多點觸控 240
8.1 基本圖形的繪制 240
8.1.1 基本知識 240
8.1.2 一個簡單的案例 242
8.2 特殊線型 245
8.2.1 基本知識 245
8.2.2 一個簡單的案例 246
8.3 平面貼圖 250
8.3.1 基本知識 250
8.3.2 一個簡單的案例 251
8.4 剪裁功能 253
8.4.1 基本知識 253
8.4.2 一個簡單的案例 254
8.5 2D小游戲案例 257
8.5.1 案例功能預覽 257
8.5.2 矩形類與豆豆類的開發 258
8.5.3 繪制類的開發 259
8.5.4 Activity以及相關線程的開發 263
8.6 多點觸控 268
8.6.1 基本知識 268
8.6.2 一個簡單的案例 269
8.7 小結 274
第9章 3D應用開發基礎 275
9.1 OpenGL及OpenGL ES簡介 275
9.2 3D基本知識 277
9.3 舊約——OpenGL ES 1.x 278
9.3.1 OpenGL ES 1.x的渲染管線 278
9.3.2 不同的繪制方式 281
9.3.3 索引法繪制案例 283
9.3.4 頂點法繪制案例 290
9.3.5 正交投影 291
9.3.6 透視投影 293
9.3.7 兩種投影模式的案例 294
9.3.8 光照的3種組成元素 298
9.3.9 定向光與定位光 300
9.3.10 點法向量和面法向量 301
9.3.11 材質 302
9.3.12 兩種光源的案例 303
9.3.13 紋理映射 306
9.3.14 紋理映射案例 306
9.4 新約——OpenGL ES 2.0 309
9.4.1 OpenGL ES 2.0的渲染管線 309
9.4.2 初識OpenGL ES 2.0應用程序 312
9.4.3 著色語言 319
9.4.4 正交投影 320
9.4.5 透視投影 325
9.4.6 3種光照通道 327
9.4.7 定位光 328
9.4.8 定向光 333
9.4.9 紋理映射 335
9.5 小結 340
第10章 傳感器應用開發 341
10.1 基本的開發流程 341
10.2 加速度傳感器 343
10.2.1 基本知識 344
10.2.2 一個簡單的案例 345
10.3 磁場傳感器 351
10.3.1 基本知識 351
10.3.2 一個簡單的案例 351
10.4 光傳感器 353
10.4.1 基本知識 353
10.4.2 一個簡單案例 353
10.5 溫度傳感器 354
10.5.1 基本知識 354
10.5.2 一個簡單的案例 354
10.6 接近傳感器 356
10.6.1 基本知識 356
10.6.2 一個簡單的案例 356
10.7 姿態傳感器 358
10.7.1 基本知識 358
10.7.2 一個簡單的案例 359
10.8 小結 360
第11章 藍牙與無線以太網直連 361
11.1 基礎知識 361
11.2 藍牙連接功能的開發 362
11.2.1 功能預覽 362
11.2.2 案例的開發 363
11.3 手機間藍牙互聯操控 373
11.3.1 功能預覽 374
11.3.2 案例的開發 374
11.4 手機與其他設備的互聯操控 382
11.4.1 基本規則 382
11.4.2 使用案例 383
11.5 無線以太網直連 387
11.5.1 基本知識 387
11.5.2 功能預覽 388
11.5.3 案例的開發 390
11.6 小結 403
第12章 GPS高級開發 404
12.1 設置開關及獲得信息 404
12.1.1 基本知識 404
12.1.2 案例介紹 405
12.2 衛星信息的呈現 411
12.2.1 功能介紹 411
12.2.2 使用案例 411
12.3 當前位置信息的呈現 415
12.3.1 功能介紹 415
12.3.2 案例介紹 416
12.4 圖片與顏色的加載 419
12.5 小結 421
第13章 多分辨率屏幕自適應 422
13.1 XML布局描述文件 422
13.1.1 基本策略簡介 422
13.1.2 一個簡單的案例 423
13.2 橫豎向各自按照不同比例縮放 428
13.2.1 基本策略簡介 428
13.2.2 一個簡單的案例 429
13.3 僅按照一個方向比例縮放 435
13.3.1 基本策略簡介 435
13.3.2 一個簡單的案例 436
13.4 不變形全部顯示 437
13.4.1 基本策略簡介 437
13.4.2 一個簡單的案例 438
13.5 小結 441
第14章 2D物理引擎游戲——魔法跳跳球 442
14.1 游戲背景及功能概述 442
14.1.1 背景概述 442
14.1.2 功能簡介 442
14.2 游戲的策劃和準備工作 445
14.2.1 游戲的策劃 445
14.2.2 游戲的準備工作 445
14.3 游戲的架構 446
14.3.1 游戲的總體架構 446
14.3.2 游戲的類架構 447
14.4 主控制類——Box2D_MFTTQA-ctivity類的開發 449
14.5 主界面相關類 452
14.5.1 主界面類MainMenuView 452
14.5.2 主界面繪制線程MainMenuDrawThread 455
14.6 輔助工具類 456
14.6.1 聲音工具類SoundUtil 456
14.6.2 圖片加載工具類PicLoadUtil 458
14.6.3 常量類Constant 459
14.7 剛體類 462
14.7.1 剛體父類MyBody 462
14.7.2 擋板類MyBaffleImg 463
14.7.3 小球類MyBallImg 464
14.7.4 邊界類MyEdgeImg 465
14.7.5 小釘類MyNailImg 466
14.7.6 物理引擎工具類Box2DUtil 468
14.7.7 碰撞檢測搜索工具類BodySearchUtil 472
14.8 游戲界面相關類 474
14.8.1 游戲界面類GameView 474
14.8.2 物理世界模擬線程PhysicsThread 484
14.8.3 小球移動控制線程MoveballThread 490
14.8.4 抽獎信息控制線程CjThread 491
14.8.5 倒計時控制線程TimeThread 493
14.8.6 謎之盒滾動控制線程RollMysteryboxThread 494
14.8.7 抽獎煙花彈類Award 495
14.8.8 焰火類FireWork 497
14.9 游戲的優化與改進 497
第15章 3D競速游戲——極速飛行 499
15.1 游戲背景及功能概述 499
15.1.1 背景概述 499
15.1.2 功能介紹 499
15.2 游戲的策劃及準備工作 501
15.2.1 游戲的策劃 501
15.2.2 Android平臺下游戲的準備工作 501
15.3 游戲的架構 504
15.3.1 各個類簡要介紹 504
15.3.2 游戲框架簡介 507
15.4 公共類FeiTingActivity 508
15.5 輔助界面相關類 511
15.5.1 歡迎界面WelcomeView類 512
15.5.2 3D界面的父類MyGLSurfaceView 513
15.5.3 主菜單界面類MenuView 514
15.5.4 選艇界面類XCView 517
15.5.5 選艇界面箭頭類JianTou 521
15.5.6 選艇界面底座類DiZuo 522
15.5.7 歷史界面類LiShiView 525
15.5.8 紋理矩形類TextureRect 528
15.6 游戲界面相關類 530
15.6.1 飛艇信息類BoatInfo 530
15.6.2 飛艇類boat 530
15.6.3 簡單賽道類SaiDaoSimple 531
15.6.4 賽道類Saidao 534
15.6.5 圓柱類YuanZhu 535
15.6.6 正方形類Rectangular 535
15.6.7 立方體類Cube 537
15.6.8 立方體組類CubeGroup 538
15.6.9 立方體組的線程控制類CubeThread 540
15.6.10 障礙物的控制類ZAWForControl 541
15.6.11 障礙物的地圖類MapData 541
15.6.12 游戲界面類MySurfaceView 542
15.6.13 游戲線程類KeyThread 546
15.7 游戲中著色器的開發 552
15.7.1 線段的著色器 552
15.7.2 紋理的著色器 552
15.8 游戲的優化與改進 553
第16章 生活輔助軟件——BN日程小管家 554
16.1 開發背景及功能概述 554
16.1.1 開發背景 554
16.1.2 功能概述 554
16.1.3 開發環境和目標平臺 555
16.2 軟件預覽及功能結構 555
16.2.1 軟件預覽 555
16.2.2 功能結構 559
16.3 開發前的準備工作 559
16.3.1 數據庫設計 559
16.3.2 數據庫表設計 560
16.4 數據庫的開發 561
16.5 主控制類ScheduleManagerActivity 572
16.6 登錄界面的開發 575
16.7 自定義日歷控件的開發 576
16.8 主界面的開發 585
16.8.1 月視圖的開發 585
16.8.2 周視圖的開發 593
16.8.3 日視圖的開發 596
16.9 新建和編輯日程界面的開發 596
16.9.1 基本界面的開發 597
16.9.2 添加聯系人的開發 598
16.9.3 添加圖片的開發 600
16.9.4 添加錄音的開發 601
16.9.5 添加地點的開發 605
16.10 查詢日程界面的開發 610
16.11 鈴聲設置界面的開發 612
16.12 鬧鈴提醒界面的開發 614
16.13 小結 615
序:
//////////////////////////////////////
Android核心技術與實例詳解(第2版)
目錄:
基 礎 篇
第1章 Android開發起步 1
本章將要介紹的是Android開發起步的相關知識,首先對Android平臺進行簡單的介紹,其中包括Android的背景及其應用程序的框架。然后會向讀者講解如何搭建Android的開發環境、如何在Eclipse中創建一個項目,以及如何使用Android平臺提供的工具調試和監控應用程序。
1.1 Android平臺簡介 1
1.1.1 Android背景介紹 1
1.1.2 Android平臺架構 2
1.2 Android開發環境的搭建 4
1.2.1 相關軟件的下載與安裝 4
1.2.2 虛擬設備的創建和使用 10
1.2.3 創建“Hello Android” 12
1.2.4 Android應用程序的
調試 16
1.3 小結 18
第2章 Android應用程序的構成 19
oid應用程序的生命周期進行分析,主要目的是讓讀者了解Android應用程序的構成,掌握Android基本組件的特性及使用方法。
2.1 Android應用程序的解析 19
2.1.1 目錄結構 19
2.1.2 資源的管理與使用 20
2.1.3 AndroidManifest.xml簡介 23
2.1.4 應用程序的權限 24
2.2 Android基本組件的介紹 25
2.2.1 應用程序的生命周期 25
2.2.2 Activity簡介 26
2.2.3 Service簡介 28
2.2.4 BroadcastReceiver簡介 32
2.2.5 ContentProvider簡介 33
2.2.6 Intent和IntentFilter簡介 34
2.3 小結 38
第3章 Android布局管理器 39
本章要介紹的內容為Android平臺下的布局管理器。Android中的布局包括線性布局、表格布局、相對布局、幀布局和絕對布局。下面將分別對每個布局管理器進行詳細的介紹。
3.1 控件類概述 39
3.1.1 View類簡介 39
3.1.2 ViewGroup類簡介 40
3.2 線性布局 40
3.2.1 LinearLayout類簡介 40
3.2.2 線性布局案例 41
3.3 表格布局 43
3.3.1 TableLayout類簡介 43
3.3.2 表格布局案例 44
3.4 相對布局 48
3.4.1 RelativeLayout類簡介 49
3.4.2 相對布局案例 50
3.5 幀布局 51
3.5.1 FrameLayout類簡介 51
3.5.2 幀布局案例 52
3.6 絕對布局 54
3.6.1 AbsoluteLayout類簡介 54
3.6.2 絕對布局案例 54
3.7 小結 57
第4章 Android常用基本控件 58
本章將對進行用戶界面開發時常用到的Android基本控件進行介紹,主要包括文本框、按鈕、單選按鈕和復選按鈕、狀態開關按鈕和日期時間控件等。了解這些基本控件的工作方式有助于學習后面要介紹的Android中的高級控件。
4.1 文本控件的介紹 58
4.1.1 TextView類簡介 58
4.1.2 EditText類簡介 59
4.1.3 文本框使用案例 59
4.2 按鈕控件 63
4.2.1 Button類簡介 63
4.2.2 ImageButton類簡介 66
4.2.3 9Patch圖片簡介 67
4.2.4 9Patch圖片使用案例 68
4.3 狀態開關按鈕 70
4.3.1 ToggleButton類簡介 70
4.3.2 開關按鈕的使用 71
4.4 單選按鈕與復選框 73
4.4.1 CheckBox和RadioButton類簡介 73
4.4.2 單選按鈕和復選框使用案例 74
4.5 圖片控件 76
4.5.1 ImageView類簡介 76
4.5.2 圖片查看器 77
4.6 時鐘控件 81
4.6.1 AnalogClock和DigitalClock類
簡介 81
4.6.2 時鐘控件使用案例 81
4.7 日期與時間選擇控件 82
4.7.1 DatePicker類簡介 82
4.7.2 TimePicker類簡介 82
4.7.3 日期時間控件使用案例 83
4.8 動畫播放技術 85
4.8.1 幀動畫簡介 85
4.8.2 幀動畫使用案例 85
4.8.3 補間動畫簡介 88
4.8.4 補間動畫使用案例 89
4.9 小結 91
第5章 Android常用高級控件 92
上一章已經介紹了Android中的一些基本控件,本章將繼續上一章的思路,對Android中常用的高級控件進行逐一介紹。
5.1 自動完成文本框 92
5.1.1 AutoCompleteTextView類簡介 92
5.1.2 自動完成文本使用案例 92
5.2 滾動視圖 94
5.2.1 ScrollView類簡介 94
5.2.2 滾動視圖使用案例 94
5.3 網格視圖 95
5.3.1 GridView類簡介 95
5.3.2 網格視圖使用案例 95
5.4 列表視圖 100
5.4.1 ListView類簡介 100
5.4.2 列表視圖使用案例 100
5.5 滑塊與進度條 103
5.5.1 ProgressBar類簡介 104
5.5.2 SeekBar類簡介 104
5.5.3 滑塊和進度條案例 104
5.6 星級滑塊 105
5.6.1 RatingBar類簡介 105
5.6.2 星級滑塊使用案例 106
5.7 選項卡 107
5.7.1 TabHost類簡介 107
5.7.2 選項卡使用案例 107
5.8 畫廊控件 111
5.8.1 Gallery類簡介 111
5.8.2 畫廊控件使用案例 112
5.9 HorizontalScrollView控件 113
5.9.1 HorizontalScrollView類簡介 114
5.9.2 HorizontalScrollView控件
使用案例 114
5.10 下拉列表控件 116
5.10.1 Spinner類簡介 116
5.10.2 下拉列表使用案例 116
5.11 小結 119
第6章 菜單與對話框 120
在前面的章節中介紹了Android平臺開發用戶界面時常用的基本控件與高級控件,但在實際開發中只運用這些控件是不夠的。本章將介紹用戶界面中菜單與對話框的開發,同時還會對Android平臺下的Toast和Notification進行介紹。
6.1 菜單功能的開發 120
6.1.1 選項菜單和子菜單簡介 120
6.1.2 選項菜單和子菜單使用案例 122
6.1.3 上下文菜單 127
6.2 對話框功能的開發 130
6.2.1 對話框簡介 131
6.2.2 普通對話框 131
6.2.3 列表對話框 134
6.2.4 單選按鈕對話框 136
6.2.5 復選框對話框 139
6.2.6 日期及時間選擇對話框 141
6.2.7 進度對話框 145
6.3 消息提示 148
6.3.1 Toast的使用 148
6.3.2 Notification的使用 150
6.4 小結 153
第7章 Android事件處理模型 154
本章將對Android平臺用戶界面的各種事件響應進行詳細介紹,以加深讀者對Android平臺的事件處理模型的理解,熟練掌握控件的各種事件處理方法。
Android平臺的事件處理機制有兩種,一種是基于回調機制的,一種是基于監聽接口的,接下來會分別對其進行介紹。
7.1 基于回調機制的事件處理 154
7.1.1 onKeyDown方法簡介 154
7.1.2 onKeyUp方法簡介 156
7.1.3 onTouchEvent方法簡介 157
7.1.4 onTrackBallEvent方法簡介 159
7.1.5 onFocusChanged方法簡介 160
7.2 基于監聽接口的事件處理 162
7.2.1 Android的事件處理模型 162
7.2.2 OnClickListener接口簡介 163
7.2.3 OnLongClickListener接口簡介 165
7.2.4 OnFocusChangeListener
接口簡介 168
7.2.5 OnKeyListener接口簡介 171
7.2.6 OnTouchListener接口簡介 174
7.2.7 OnCreateContextMenuListener
接口簡介 176
7.3 Handler消息傳遞機制 177
7.3.1 Handler類簡介 177
7.3.2 Handler使用案例 177
7.4 小結 180
高 級 篇
第8章 游戲與3D應用程序開發 181
Android平臺下的應用開發,一般來說主要分為商業應用和游戲兩種,在開發商業應用時主要會用到本書前面章節曾介紹過的控件和菜單對話框等知識,而開發游戲時就只能自己定義各種控件和界面了。本章將要介紹如何在Android平臺下使用View和SurfaceView開發游戲,在本章的最后還將對Android平臺下進行3D場景的開發進行簡單的介紹。
8.1 自定義View的使用 181
8.1.1 MyView類的開發 181
8.1.2 MyThread類的開發 184
8.1.3 Activity部分代碼的開發 185
8.2 SurfaceView的使用 186
8.2.1 GameView類的開發 187
8.2.2 BallGoThread類的開發 191
8.2.3 TimeThread類的開發 194
8.2.4 GameViewDrawThread類的開發 195
8.2.5 Sample_8_2類的開發 196
8.3 GLSurfaceView與3D 196
8.3.1 OpenGL ES簡介 197
8.3.2 3D開發的基本知識 197
8.3.3 第一個3D圖形示例 198
8.3.4 3D谷倉的開發 203
8.4 小結 208
第9章 消息廣播與服務 209
本章將對Android的消息廣播機制及服務組件進行詳細介紹。在很多應用程序中,都會通過廣播形式來發送和接收消息。當應用程序接收到消息后,一般啟動一個Activity或者一個Service進行處理。本章將對之前介紹過的服務組件Service進行詳細介紹,章末通過對一個單機版的音樂播放盒的介紹幫助讀者掌握服務組件的使用方法。
9.1 BroadcastReceiver組件 209
9.1.1 BroadcastReceiver類簡介 209
9.1.2 基于廣播的案例 210
9.2 Service組件 213
9.2.1 Service類簡介 213
9.2.2 基于服務的案例 213
9.3 單機版音樂盒的實現 217
9.4 小結 225
第10章 網絡與數據處理 226
本章要介紹的內容是Android平臺下進行網絡編程及數據處理的相關知識,內容包括網絡通信的幾種方式(如使用Socket、URL、Socket等)、如何使用WebView瀏覽網頁,以及文件的上傳和下載。最后介紹訪問手機存儲卡的方法及如何在程序中使用SQLite數據庫。
10.1 使用Socket進行通信 226
10.1.1 Socket服務端的開發 226
10.1.2 Socket客戶端的開發 227
10.2 通過URL和HTTP請求
獲取網絡資源 228
10.2.1 通過URL獲取網絡資源 228
10.2.2 通過HTTP請求網絡資源 232
10.3 使用WebView進行網絡開發 237
10.3.1 使用WebView瀏覽網頁 237
10.3.2 使用WebView執行HTML代碼 241
10.4 SQLite數據庫 244
10.4.1 數據庫的基本操作 244
10.4.2 個人通信錄的實現之資源文件的
組織和開發 245
10.4.3 個人通信錄的實現之功能代碼的
開發 248
10.5 訪問存儲卡 253
10.5.1 獲取存儲卡容量 253
10.5.2 讀取存儲卡信息 256
10.6 小結 257
第11章 手機通信功能開發 258
本章將對Android手機通信功能的開發進行介紹,其中包括短信的收發及狀態查詢、電話的撥打與接聽、來電的過濾和E-mail郵件的收發等,通過本章的學習,讀者應該能夠對Android平臺手機通信功能有一定的了解。
11.1 短信控制 258
11.1.1 短信的發送 258
11.1.2 短消息提示 262
11.1.3 短消息群發 265
11.1.4 查詢發送狀態 270
11.2 電話控制 272
11.2.1 撥打電話 272
11.2.2 過濾電話 277
11.2.3 查詢當前狀態 278
11.3 E-mail相關功能開發 279
11.3.1 SMTP協議簡介 280
11.3.2 發送E-mail 280
11.4 小結 280
第12章 手機特有Feature開發 281
本章將要介紹的是Android手機特有Feature的開發,主要包括響應系統設置更改事件、設置手機外觀和其他的特性。同時還將介紹如何在程序中獲取SIM卡和電池電量等信息,最后將以手機鬧鐘為例講述如何自己開發特定功能的手機應用。
12.1 系統設置更改的事件 281
12.1.1 Configuration類簡介 281
12.1.2 響應Configuration的變化 282
12.2 手機外觀更改和提醒設置 284
12.2.1 手機壁紙的改變 285
12.2.2 手機振動的設置 288
12.2.3 音量調節 292
12.3 TelephonyManager的使用 296
12.3.1 TelephonyManager類簡介 296
12.3.2 TelephonyManager的使用案例 296
12.4 手機電池電量 300
12.4.1 原理概述 300
12.4.2 電量提示案例 300
12.5 手機鬧鐘 302
12.5.1 AlarmManager
簡介 302
12.5.2 開發鬧鐘應用 302
12.6 小結 306
第13章 桌面組件與多媒體數據采集 307
本章將介紹Android中桌面組件及多媒體相關程序的開發,其中包括桌面快捷方式、桌面控件、聲音及圖像的采集等。
13.1 桌面組件的介紹 307
13.2 桌面快捷方式 307
13.2.1 通過應用程序創建快捷方式 307
13.2.2 向Launcher添加快捷方式 310
13.3 桌面控件 311
13.3.1 桌面控件概述 311
13.3.2 開發簡單的桌面控件 312
13.4 多媒體數據采集 314
13.4.1 錄音 314
13.4.2 圖像采集 317
13.5 小結 321
第14章 傳感器應用的開發 322
Android系統的一大亮點之一就是對傳感器的應用,利用傳感器可以開發出很多新奇有趣的程序,小到水平儀、計步器,大到傳感器游戲,本章將詳細介紹各種傳感器的原理及使用方法,并通過一個水平儀的開發向讀者介紹傳感器應用的開發方法,以及如何在模擬器中模擬各種傳感器。
14.1 Android平臺下傳感器簡介 322
14.1.1 加速度傳感器Accelerometer 322
14.1.2 姿態傳感器Orientation 327
14.1.3 磁場傳感器Magnetic Field 330
14.1.4 溫度傳感器Temperature 332
14.1.5 光傳感器Light 335
14.2 傳感器應用案例 336
14.2.1 開發前的準備工作 336
14.2.2 自定義View的開發 336
14.2.3 開發主邏輯代碼 337
14.2.4 運行與調試 340
14.3 小結 341
第15章 Google服務 342
本章將介紹如何在Android平臺下開發基于Google服務的應用程序。Google提供了諸如GPS定位、Google Map、天氣預報、網絡相冊和在線翻譯等多種服務,將這些服務融合到應用程序中將會帶來非常好的用戶體驗。
15.1 使用GPS獲取位置 342
15.1.1 LocationManager及相關類
簡介 342
15.1.2 獲取位置信息案例 343
15.2 Google Map的使用 346
15.2.1 獲取Map API Key 346
15.2.2 創建模擬器 348
15.2.3 Google Map地圖查詢應用 350
15.2.4 Google Map導航應用 355
15.3 Google街景 360
15.3.1 Android整合Google街景服務的
原理 360
15.3.2 在程序中調用Google街景 361
15.4 小結 363
案 例 篇
第16章 Android游戲開發實踐——快樂數獨 364
益智類游戲是一種比較流行的游戲,其畫面大都比較簡單,很少有很復雜的游戲特效,但是通常用到人工智能的算法來控制游戲的難度。而算法的優化是開發該類游戲的難點。這類游戲主要包括棋牌類游戲和智力測試類游戲,例如麻將、掃雷、五子棋、撲克牌等。
數獨就是益智游戲的一種,玩法簡單但數字的排列方式千變萬化,很多人認為數獨是訓練頭腦的絕佳方式。本章通過講解數獨游戲在Android平臺上的設計與實現,使讀者了解此類游戲的開發過程,掌握實用的開發技巧,學會此類游戲的開發。
16.1 游戲的背景及功能概述 364
16.1.1 背景概述 364
16.1.2 功能簡介 365
16.2 游戲的策劃及準備工作 366
16.2.1 游戲的策劃 366
16.2.2 Android平臺下游戲的準備工作 366
16.3 游戲的架構 367
16.3.1 各類的簡要介紹 367
16.3.2 游戲的框架簡介 368
16.4 歡迎界面的設計與實現 369
16.4.1 主類KLSDActivity實現 369
16.4.2 歡迎界面WelcomeView類的
實現 371
16.4.3 刷幀線程WelcomeViewDrawThread
類的實現 374
16.4.4 動畫生成線程WelcomeViewGo- Thread類的實現 375
16.5 “幫助”與“關于”界面的
設計與實現 376
16.5.1 “幫助”界面HelpView類的
實現 376
16.5.2 “關于”界面AboutView的實現 377
16.6 游戲界面的框架搭建 379
16.7 計時線程與數字鍵盤線程的
開發 381
16.7.1 計時線程的開發 381
16.7.2 數字鍵盤線程的開發 382
16.8 數獨生成器的開發 383
16.9 游戲界面邏輯方法的實現 385
16.9.1 初始化方法的完善 385
16.9.2 簡單邏輯方法的完善 387
16.9.3 屏幕事件處理方法的完善 388
16.10 游戲界面繪畫方法的完善 392
16.10.1 數字鍵盤的繪制方法drawKey ()的完善 392
16.10.2 繪畫方法onDraw()的完善 393
16.11 游戲界面刷幀線程的實現 396
16.12 游戲的優化與改進 397
第17章 Android地圖搜索應用——美食天下 498
第15章已經介紹了Google Map的簡單使用,本章將通過之前介紹過的知識實現一個美食共享軟件,其中包括服務端和手機端,希望通過本章的學習,讀者能夠掌握Android系統與Tomcat服務器的通信、Google地圖的使用及各種控件的綜合應用。
17.1 系統背景及功能概述 398
17.1.1 背景簡介 398
17.1.2 功能概述 398
17.1.3 開發環境及目標平臺 399
17.2 開發前的準備工作 400
17.2.1 數據庫的設計 400
17.2.2 表的創建與記錄插入 405
17.2.3 數據源的配置 406
17.3 Web端總體架構及功能預覽 406
17.3.1 目錄結構及系統框架 407
17.3.2 功能預覽 408
17.4 Web端登錄注冊模塊的實現 409
17.4.1 首頁的搭建 409
17.4.2 用戶注冊功能的開發 415
17.4.3 用戶登錄功能的開發 420
17.4.4 用戶注銷功能的開發 422
17.5 Web端美食上傳模塊的實現 423
17.5.1 頁面的搭建 423
17.5.2 圖片上傳組件FileUploadServlet的
開發 426
17.5.3 DBUtil中相關方法的開發 428
17.6 Android端總體架構及
功能預覽 430
17.6.1 功能預覽 430
17.6.2 總體架構 432
17.7 服務器的設計與實現 433
17.8 Android端登錄界面的實現 436
17.8.1 開發前的準備工作 436
17.8.2 框架的搭建 437
17.8.3 監聽方法的完善 440
17.8.4 記住密碼功能的實現 442
17.8.5 服務器端的完善 443
17.9 Android端注冊界面的實現 444
17.9.1 框架的搭建 444
17.9.2 監聽方法的完善 446
17.9.3 服務器端的完善 447
17.10 Android端主界面
MainActivity的實現 449
17.10.1 布局文件的開發 449
17.10.2 界面框架的搭建 450
17.10.3 初始化方法的完善 452
17.10.4 監聽方法的完善 453
17.10.5 網絡處理線程的實現 455
17.10.6 服務器端的完善 457
17.11 Android端地圖界面的
實現 460
17.11.1 布局文件的開發 461
17.11.2 地圖界面的開發 461
17.12 美食信息界面的實現 464
17.13 系統的優化與改進 466
第18章 Android社交分享平臺——口袋微博 467
本章將介紹社交分享平臺——口袋微博的實現,該社交分享平臺包括Web端和Android手機端兩個部分。在介紹了整個系統的背景及功能架構之后,本書將對該系統在Web端和Android手機端的實現進行介紹。
18.1 系統背景及功能概述 467
18.1.1 背景簡介 467
18.1.2 功能概述 467
18.1.3 開發環境和目標平臺 468
18.2 開發前的準備工作 469
18.2.1 數據庫設計 469
18.2.2 表的創建和測試數據的插入 474
18.2.3 數據源的配置 475
18.3 Web端功能預覽及總體架構 476
18.3.1 Web端系統功能預覽 476
18.3.2 系統目錄結構 477
18.3.3 系統總架構 478
18.4 Web端主頁的搭建 478
18.5 Web端登錄注冊模塊的實現 480
18.5.1 用戶登錄功能的開發 480
18.5.2 用戶注冊功能的開發 483
18.5.3 用戶注銷功能的開發 486
18.6 查看和管理日志模塊的實現 486
18.6.1 發布日志功能的開發 486
18.6.2 顯示日志及評論功能的開發 488
18.6.3 編輯和刪除日志功能的開發 490
18.7 查看和管理相冊模塊的實現 491
18.7.1 查看相冊功能的開發 492
18.7.2 查看相冊相片功能的實現 493
18.7.3 顯示照片功能的實現 494
18.8 Android端功能預覽及
總體架構 495
18.8.1 Android端功能預覽 495
18.8.2 Android端總架構 497
18.9 服務器的設計與實現 498
18.9.1 服務器的設計 498
18.9.2 服務器的實現 498
18.10 Android端的準備工作 501
18.10.1 圖片資源的準備 501
18.10.2 XML資源文件的準備 501
18.11 登錄注冊模塊的實現 503
18.11.1 登錄模塊的開發 503
18.11.2 記錄賬號密碼功能的開發 508
18.11.3 服務器驗證登錄功能的實現 509
18.11.4 注冊模塊的開發 509
18.12 個人中心模塊的實現 513
18.12.1 個人中心界面的開發 513
18.12.2 個人中心界面菜單功能的開發 515
18.13 快速發布模塊的實現 516
18.13.1 發布日志和更新心情功能的
實現 516
18.13.2 拍照上傳界面的開發 518
18.13.3 UploadActivity通信功能的
開發 522
18.14 查看聯系人模塊的實現 526
18.14.1 ContactsActivity界面的開發 526
18.14.2 ContactsActivity通信功能的
開發 528
18.15 日志管理模塊的實現 528
18.15.1 查看日志功能的開發 529
18.15.2 編輯日志功能的開發 531
18.16 相冊管理模塊的實現 531
18.16.1 相冊查看和修改功能的實現 531
18.16.2 相片查看功能的實現 534
18.17 系統的優化與改進 536
////////////////////////////////////////////
Android熱門應用開發詳解
目錄:
第一篇 Android開發基礎
第1章 Android開發環境與開發工具 2
1.1 Java開發工具包的安裝和配置 3
1.1.1 安裝Java開發工具包 4
1.1.2 配置Java開發工具包 4
1.2 Android軟件開發工具包的下載和安裝 5
1.2.1 下載Android軟件開發工具包 6
1.2.2 安裝Android 軟件開發工具包 6
1.3 使用Android SDK開發Android應用 7
1.3.1 Android SDK目錄結構 7
1.3.2 使用Android SDK文檔 8
1.3.3 Android SDK中的示例 9
1.3.4 使用Android SDK命令行 10
1.3.5 使用Android模擬器 11
1.4 Eclipse的下載和安裝 13
1.4.1 下載Eclipse 13
1.4.2 安裝Eclipse 14
1.4.3 安裝和配置Android插件(ADT) 15
1.5 使用Eclipse開發Android應用 18
1.5.1 使用Eclipse創建Android工程 18
1.5.2 Eclipse中的Android工程架構 19
1.5.3 Eclipse中Android工程的調試和運行 21
1.5.4 創建一個Android應用:Welcome Android 21
1.6 常用的Android開發工具 24
1.6.1 配置工具(AVD) 24
1.6.2 Android模擬器(Emulator) 25
1.6.3 圖形化調試工具(DDMS) 26
1.6.4 命令行調試工具(ADB) 29
1.6.5 資源打包工具(AAPT) 32
1.6.6 獲取日志工具(LogCat) 34
1.6.7 視圖層次工具(Hierarchy Viewer) 35
第2章 Android代碼風格 37
2.1 注釋規范 37
2.1.1 類注釋規范 39
2.1.2 函數注釋規范 40
2.1.3 Java文檔(Javadoc)注釋規范 41
2.2 編程風格規范 44
2.2.1 命名規范 44
2.2.2 修飾符規范 48
2.2.3 縮進和空行規范 48
2.2.4 導入Google標準代碼格式 50
2.3 異常處理規范 51
第二篇 Android多媒體應用實例開發
第3章 Android網絡視頻點播系統 54
3.1 NVOD系統描述與設計 54
3.1.1 NVOD系統功能描述 54
3.1.2 NVOD系統框架設計 55
3.1.3 NVOD系統客戶端UI設計 56
3.1.4 NVOD系統客戶端功能設計 57
3.2 NVOD關鍵技術與知識點 58
3.2.1 異步處理技術 58
3.2.2 SurfaceView與MediaPlayer 60
3.2.3 流媒體技術 63
3.3 NVOD系統實現 63
3.3.1 搭建流媒體服務器 63
3.3.2 主界面UI實現 66
3.3.3 主程序實現 69
3.3.4 播放界面UI實現 79
3.3.5 播放控制功能實現 82
3.3.6 數據源導入功能實現 90
3.4 NVOD系統演示 92
3.5 小結 96
第4章 超強圖片管理器 97
4.1 圖片管理器描述與設計 97
4.1.1 圖片管理器功能描述 97
4.1.2 圖片管理器UI設計 98
4.2 圖片管理器的關鍵技術與知識點 100
4.2.1 視圖組件 100
4.2.2 Bitmap 102
4.2.3 Animation 104
4.3 圖片管理器實現 105
4.3.1 主程序功能實現 106
4.3.2 圖片目錄功能實現 112
4.3.3 圖片瀏覽功能實現 122
4.3.4 圖片編輯功能實現 128
4.4 圖片管理器系統演示 133
4.5 小結 135
第三篇 Android游戲開發
第5章 俄羅斯方塊游戲 138
5.1 俄羅斯方塊游戲描述與設計 139
5.1.1 俄羅斯方塊游戲功能描述 139
5.1.2 俄羅斯方塊游戲算法 140
5.2 俄羅斯方塊游戲關鍵技術和知識點 141
5.2.1 資源與資源國際化 142
5.2.2 資源動態適應 143
5.2.3 SQLite概述 144
5.3 俄羅斯方塊游戲功能實現 146
5.3.1 游戲主界面UI實現 146
5.3.2 游戲、幫助及評分UI實現 150
5.3.3 游戲主程序實現 154
5.3.4 游戲處理 158
5.4 俄羅斯方塊游戲演示 172
5.5 小結 176
第6章 五子棋對戰游戲 177
6.1 五子棋對戰游戲描述與設計 177
6.1.1 五子棋游戲功能描述 178
6.1.2 五子棋游戲UI設計 178
6.1.3 五子棋游戲數據處理 184
6.2 五子棋對戰游戲知識點 184
6.2.1 Bluetooth介紹 184
6.2.2 Bluetooth 連接實現 186
6.3 五子棋對戰游戲功能實現 192
6.3.1 主界面UI實現 192
6.3.2 人機對弈功能實現 193
6.3.3 人人對弈功能實現 207
6.4 五子棋對戰游戲演示 209
6.5 小結 211
第四篇 Android Web應用開發
第7章 微博(Weibo) 214
7.1 Weibo功能需求 214
7.2 Weibo關鍵技術和知識點 217
7.2.1 OAuth認證 217
7.2.2 SharedPreferences 218
7.3 Weibo功能實現 219
7.3.1 OAuth認證實現 219
7.3.2 核心控制類實現(MainService) 230
7.3.3 主頁面實現 238
7.3.4 子頁面實現 246
7.4 Weibo功能演示 252
7.5 小結 255
第8章 手機瀏覽器(MiniExplorer) 256
8.1 MiniExplorer描述與設計 256
8.1.1 MiniExplorer功能描述 257
8.1.2 MiniExplorer UI設計 258
8.2 MiniExplorer知識點 262
8.2.1 WebView 262
8.2.2 HttpComponents 265
8.3 MiniExplorer實現 267
8.3.1 MiniExplorer UI實現 267
8.3.2 標簽功能實現 268
8.4 MiniExplorer功能演示 282
8.5 小結 284
第五篇 Android手機應用開發
第9章 Android手機通話管理器(PhoneManager) 286
9.1 PhoneManager工具描述與設計 286
9.1.1 手機通話管理工具描述 287
9.1.2 手機通話管理工具設計 288
9.2 PhoneManager工具關鍵技術和知識點 298
9.2.1 ContentProvider數據存儲 298
9.2.2 Intent通信 304
9.3 PhoneManager工具實現 310
9.3.1 黑名單與白名單功能實現 310
9.3.2 情景模式功能實現 314
9.3.3 個性鈴聲功能實現 321
9.3.4 通信錄功能實現 321
9.4 PhoneManager工具功能演示 322
9.5 小結 325
第10章 二維碼生成和掃描工具 326
10.1 二維碼生成和掃描工具描述與設計 327
10.1.1 二維碼生成和掃描工具描述 327
10.1.2 二維碼生成和掃描工具設計 328
10.2 iCode工具關鍵技術和知識點 330
10.2.1 zxing工具 330
10.2.2 條形碼 330
10.3 iCode工具實現 331
10.3.1 配置zxing開發庫 331
10.3.2 主程序實現 338
10.3.3 信息輸入程序 344
10.3.4 二維碼生成 348
10.3.5 二維碼掃描 355
10.4 iCode掃描和生成工具演示 358
10.5 小結 360
第11章 帶有位置定位的GTalk應用 361
11.1 帶有位置定位的GTalk應用功能描述 362
11.2 GTalk應用關鍵技術和知識點 362
11.2.1 GTalk介紹 362
11.2.2 GTalk通信協議和接口 363
11.2.3 XMPP客戶端:Smack和Asmack 365
11.2.4 LocationManager 367
11.3 GTalk應用功能實現 368
11.3.1 登錄功能實現 368
11.3.2 管理聯系人功能實現 371
11.3.3 聯系人之間的通信 377
11.3.4 位置定位功能實現 380
11.4 小結 381
/////////////////////////////////////////////
沒有留言:
張貼留言