計算機便攜化是未來的發展趨勢,而Android作為最受歡迎的手機和平板電腦的作業系統之一,從其誕生到現在的短短几年裡,憑藉其開源開放性、優異的用戶體驗和極為方便的開發方式,贏得了廣大用戶和開發者的青睞。
本書循序漸進地介紹Android套用開發的相關知識,內容覆蓋了Android用戶界面編程。首先介紹Android界面布局、控制項、選單、對話框等內容;然後進一步介紹Android視圖與動畫、Android數據存儲、Android傳遞訊息與聯網、Android多媒體等內容;最后綜合介紹Android輔助工具。
基本介紹
- 書名:Android開發與實戰
- 出版社:電子工業出版社
- 頁數:548頁
- 開本:16
- 作者:趙書蘭
- 出版日期:2013年6月1日
- 語種:簡體中文
- ISBN:7121206129
基本介紹
內容簡介
作者簡介
圖書目錄
1.1智慧型手機作業系統現狀(1)
1.1.1智慧型手機的定義(1)
1.1.2智慧型手機的特點(2)
1.1.33G智慧型手機的基本要求(2)
1.1.4智慧型手機的作業系統(3)
1.2Android簡介(5)
1.2.1Android發展史(5)
1.2.2Android特性(8)
1.2.3Android系統架構(10)
1.2.4Android組件(12)
1.3搭建Android開發環境(14)
1.3.1Android開發前的準備
工作(14)
1.3.2安裝JDK(15)
1.3.3安裝Eclipse(17)
1.3.4安裝AndroidSDK(18)
1.3.5安裝ADT外掛程式(20)
1.3.6設定AndroidSDK主目錄(23)
1.3.7創建Android虛擬
設備(24)
1.3.8運行AVD(26)
1.4Android套用工程檔案組成(27)
1.5應用程式的生命周期(30)
1.5.1進行優先權(31)
1.5.2Activity的生命周期(32)
1.5.3Activity生命周期調用
順序(35)
1.5.4Service的生命周期(36)
1.5.5Android生命周期綜合
實例(37)
1.6Android的活動(39)
1.6.1套用活動的樣本與主題(41)
1.6.2顯示對話框(42)
1.6.3顯示進度條對話框(45)
第2章Android界面布局(49)
2.1控制項類概述(49)
2.1.1View簡介(49)
2.1.2ViewGroup簡介(50)
2.2線性布局(50)
2.2.1LinearLayout簡介(50)
2.2.2線性布局實例介紹(51)
2.3表格布局(52)
2.3.1TableLayout簡介(52)
2.3.2表格布局實例介紹(53)
2.4相對布局(56)
2.4.1RelativeLayout簡介(57)
2.4.2相對布局實例介紹(58)
2.5絕對布局(59)
2.5.1AbsoluteLayout簡介(59)
2.5.2絕對布局實例介紹(60)
2.6幀布局(61)
2.6.1FrameLayout簡介(61)
2.6.2幀布局實例介紹(62)
2.7列表布局(63)
2.7.1ViewGroup簡介(63)
2.7.2列表布局實例介紹(63)
第3章Widget組件布局(66)
3.1Button控制項(67)
3.1.1setOnClickListener方法(67)
3.1.2setOnLongClickListener
方法(68)
3.1.3setOnFocusChangeListener
方法(69)
3.1.4setOnTouchListener方法(70)
3.1.5setPressed方法(71)
3.1.6setClickable方法(72)
3.1.7setLongClickable方法(73)
3.1.8Button控制項綜合實例(74)
3.2TextView控制項(75)
3.2.1append方法(75)
3.2.2addTextChangedListener
方法(76)
3.2.3setText方法(78)
3.2.4setTextSize方法(79)
3.2.5setTypeface方法(80)
3.2.6setTextColor方法(82)
3.2.7setHeight方法(82)
3.2.8setBackgroundColor方法(83)
3.2.9getHeight方法(84)
3.2.10getWidth方法(86)
3.2.11setPadding方法(87)
3.2.12getPaddingLeft方法(88)
3.2.13getPaddingTop方法(88)
3.2.14getPaddingrRight方法(88)
3.2.15getPaddingBottonm方法(88)
3.2.16getCurrentTextColor方法(89)
3.2.17getText方法(91)
3.2.18TextView控制項的綜合
實例(91)
3.3EditText控制項(98)
3.3.1setText方法(98)
3.3.2getText方法(100)
3.3.3setSelection方法(101)
3.3.4setHint方法(102)
3.2.5setOnKeyListener方法(103)
3.3.6EditText控制項的綜合實例(104)
3.4RadioButton控制項(106)
3.4.1setOnCheckedChangedListener
方法(106)
3.4.2check方法(109)
3.4.3clearCheck方法(109)
3.5CheckBox控制項(110)
3.5.1isChecked方法(111)
3.5.2setChecked方法(113)
3.5.3toggle方法(113)
3.5.4setOnCheckedChangeListener
方法(115)
3.6Toast控制項(117)
3.6.1cancel方法(117)
3.6.2getDuration方法(117)
3.6.3getGravity方法(118)
3.6.4getHorizontalMargi方法與
getVerticalMargin方法(119)
3.6.5makeText方法(120)
3.6.6setView方法(121)
3.6.7getView方法(122)
3.6.8setGravity方法(123)
3.6.9getXOffset方法與getYOffset
方法(124)
3.6.10setDuration方法(125)
3.6.11setMargin方法(126)
3.6.12setText方法(127)
3.6.13show方法(128)
3.6.14Toast控制項的綜合實例(129)
3.7ImageView控制項(134)
3.7.1setAdjustViewBounds
方法(134)
3.7.2setScaleType方法(135)
3.7.3setSelected方法(135)
3.7.4setImageURI方法(135)
3.7.5setAdjustViewBounds
方法(136)
3.7.6setAlpha方法(136)
3.7.7setImageResource方法(136)
3.7.8ImageView控制項綜合
實例(136)
3.8ProgressBar控制項(139)
3.8.1ProgressBar相關方法(139)
3.8.2ProgressBar相關類型(139)
3.9Spinner控制項(147)
3.9.1setAdapter方法(147)
3.9.2setPrompt方法(147)
3.9.3setPromptId方法(149)
3.9.4setOnltemSelectedListener
方法(149)
3.10AutoCompleteTextView控制項(151)
3.10.1setAdapter方法(151)
3.10.2setThreshold方法(152)
3.10.3setCompletionHint方法(152)
3.10.4setDropDownBackgroundResource
方法(154)
3.10.5setDropDownBackgroundDrawable
方法(154)
3.10.6MultiAutoCompleteTextView
類(155)
3.11AnalogClock控制項(157)
3.12DatePicker與TimePicker控制項(161)
3.12.1DatePicker控制項(161)
3.12.2TimerPicker控制項(161)
3.12.3DatePicker與TimePicker
控制項綜合實例(162)
3.13SeekBar控制項(164)
3.14RatingBar控制項(166)
3.14.1RatingBar類方法(167)
3.14.2RatingBar控制項綜合
實例(167)
3.15Tab控制項(170)
3.16Gallery控制項(173)
3.16.1Gallery類方法(173)
3.16.2Gallery控制項綜合實例(178)
3.17ToggleButton控制項(182)
3.17.1ToggleButton類方法(182)
3.17.2ToggleButton類實現(183)
第4章Android選單(185)
4.1Menu選單(185)
4.1.1Menu選單方法(185)
4.1.2Menu選單綜合實例(192)
4.2MenuItem選單(196)
4.2.1MenuItem選單方法(196)
4.2.2MenuItem選單綜合實例(200)
4.3SubMenu選單(204)
4.3.1SubMenu選單方法(204)
4.3.2SubMenu選單綜合
實例(208)
4.4ContextMenu選單(209)
4.4.1ContextMenu選單方法(210)
4.4.2ContextMenu選單綜合
實例(216)
第5章Android對話框(219)
5.1AlertDialog對話框(219)
5.1.1創建提示對話框(219)
5.1.2創建列表對話框(223)
5.1.3單選列表對話框(225)
5.1.4複選列表對話框(227)
5.1.5AlertDialog對話框綜合
實例(229)
5.2DatePickerDialog與TimePickerDialog
對話框(233)
5.2.1DatePickerDialog與TimePickerDialog
概述(233)
5.2.2DatePickerDialog與TimePickerDialog
對話框綜合實例(234)
5.3ProgressDailog對話框(237)
5.3.1ProgressDailog對話框
方法(237)
5.3.2ProgressDailog進度條對話框
綜合實例(238)
5.4Notification通知(242)
5.4.1常用的Notification(242)
5.4.2帶進度條的Notification(246)
第6章Android視圖與動畫(250)
6.1Android圖像(250)
6.1.1ImageSwitcher類(250)
6.1.2ScrollView類(253)
6.1.3GridView類(258)
6.1.4WebView類(263)
6.2Android繪圖(264)
6.2.1Paint類(265)
6.2.2Canvas類(268)
6.2.3Canvas與Paint類綜合
實例(274)
6.2.4Path類(279)
6.3Android圖形特效處理(281)
6.3.1Matrix控制變換(282)
6.3.2drawBitmapMesh扭曲
圖像(290)
6.3.3渲染效果(294)
6.4Android動畫(299)
6.4.1Animation類(299)
6.4.2Tween動畫(300)
6.4.3Frame動畫(305)
6.4.4Frame動畫與Tween動畫
綜合實例(308)
6.4.5SurfaceView類(312)
6.4.6動畫組件
(ViewAnimator)(316)
第7章Android數據存儲(321)
7.1SharedPreferences存儲(321)
7.1.1SharedPreferences存儲類
效率分析(322)
7.1.2SharedPreferences類實例(323)
7.2檔案存儲數據(325)
7.2.1java.io包的方法(326)
7.2.2openFileInput和
openFileOutput(331)
7.2.3從resource中的raw資料夾中
讀取檔案(333)
7.2.4從asset中讀取檔案(334)
7.3SQLite資料庫存儲(335)
7.3.1SQLite資料庫存儲概述(335)
7.3.2SQLite資料庫存儲分析(336)
7.3.3SQLite資料庫存儲套用
實例(341)
7.4ContentProvider存儲(347)
7.4.1ContentProvider存儲
分析(347)
7.4.2ContentProvider存儲
創建步驟(350)
7.4.3ContentProvider套用
實例(350)
7.5網路存儲(358)
第8章Android傳遞訊息與聯網(360)
8.1電話管理器(360)
8.1.1網路與SIM卡獲取信息(360)
8.1.2撥打電話(364)
8.1.3監聽手機來電(368)
8.2信息處理(369)
8.2.1傳送簡訊(369)
8.2.2群發簡訊(372)
8.3傳送郵件(377)
8.4實現震動(379)
8.5鬧鐘(385)
8.5.1AlarmManager類概述(385)
8.5.2設定鬧鐘實例(385)
8.5.3更換牆紙實例(395)
8.6自動顯示電量(398)
8.7Wi—Fi使用(402)
8.8聯網(411)
8.8.1下載二進制數據(413)
8.8.2下載文本檔案(414)
8.8.3線上播放音樂(416)
第9章Android多媒體(425)
9.1音頻/視頻的播放(425)
9.1.1MediaPlay類(425)
9.1.2SoundPool類(437)
9.1.3VideoView類(439)
9.1.4Android的多媒體播放器
綜合實例(447)
9.2錄製音頻(452)
9.3照相機(456)
9.3.1照相機常用方法(456)
9.3.2照相機實例分析(464)
第10章Android輔助工具(474)
10.1Map地圖(474)
10.1.1位置服務實例(474)
10.1.2定位實例(481)
10.1.3地址查詢實例(485)
10.1.4導航實例(490)
10.2藍牙(499)
10.2.1RFCOMM協定(499)
10.2.2MAC硬體地址(499)
10.2.3編程實現藍牙綜合
實例(501)
10.3中國象棋(508)
參考文獻(547)
序言
3G通信是移動通信市場經歷了第一代模擬技術的移動通信業務,在第二代數字移動通信市場的蓬勃發展中被引入的。在當今Internet數據業務的不斷升溫中,在固定接入速率(HDSL、ADSL、VDSL)不斷提升的背景下,3G移動通信系統也看到了市場的曙光,益發為電信運營商、通信設備製造商和普通用戶所關注。而3G時代的到來,使得更多內容豐富的應用程式被布置在手機上成為可能,如視頻通話、視頻點播、移動網際網路衝浪、線上看書/聽歌、內容分享等。為了實現這些需求,需要有一個好的移動開發平台來支持。
2007年11月推出的Android平台,是任何公司及個人都可免費獲取到原始碼及SDK的手機開發平台。由於其開放性和優異性能,Android平台得到了包括各大手機廠商和著名的移動運營商在內的業界的廣泛支持。
隨著Android平台在市場占有率上的穩步上升,採用Java語言開發的Android套用會越來越多。不過需要指出的是,運行Android平台的硬體只是手機、平板電腦等攜帶型設備,這些設備的計算能力、數據存儲能力都是有限的,不太可能在Android平台上部署大型企業級套用,因此Android套用可能以純粹客戶端套用的角色出現,然後通過網路與傳統大型套用互動,充當大型企業套用的客戶端。
目前最新的Android版本為4.1,其具有一些新特點:更快、更流暢、更靈敏;特效動畫的幀速率提高至60fps,增加了三倍緩衝;增強了通知欄;全新搜尋將會帶來全新的UI、智慧型語音搜尋和Google Now三項新功能;桌面外掛程式自動調整大小;加強無障礙操作;語言和輸入法擴展;新的輸入類型和功能;新的連線類型。
鑒於Android作為新的平台、新技術,為了幫助眾多開發人員和愛好者進入Android開發領域並提高程式開發水平,特編寫了本書。
本書共分10章。
第1章:給出了Android概述,主要包括智慧型手機作業系統現狀、Android發展史、特性、搭建Android開發環境及Android套用工程檔案組成等內容。
第2章:介紹了Android界面布局,主要包括線性布局、相對布局、表格布局、絕對布局等內容。
第3章:介紹了Widget組件布局,主要包括Button控制項、TextView控制項、EditText控制項、RadioButton控制項等內容。
第4章:介紹了Android選單,主要包括Menu選單、MenuItem選單、SubMenu選單及ContextMenu選單等內容。
第5章:介紹了Android對話框,主要包括AlertDialog對話框、DatePickerDialog與TimePickerDialog對話框、ProgressDailog對話框及Notification通知等內容。
第6章:介紹了Android視圖與動畫,主要包括Android圖像、Android繪圖、Android圖形特效處理與Android動畫等內容。
第7章:介紹了Android數據存儲,主要包括SharedPreferences存儲、檔案存儲數據、SQLite資料庫存儲、ContentProvider存儲等內容。
第8章:介紹了Android傳遞訊息與聯網,主要包括電話管理器、信息處理、聯網等內容。
第9章:介紹了Android多媒體,主要包括音頻/視頻的播放、錄製音頻及照相機等內容。
第10章:介紹了Android輔助工具,主要包括Map地圖、藍牙等內容。
本書主要由趙書蘭編寫,此外參加編寫的還有周品、趙書梅、趙新芬、欒穎、劉志為、丁偉雄、雷曉平、李婭、楊文茵、何正風、周靈、余智豪、崔如春和張德豐。
由於作者的水平有限,加之時間較緊,書中難免會存在不足之處,敬請廣大讀者批評指正。
編著者
2013年3月