Android編程入門很簡單

出版時(shí)間:2012-8  出版社:清華大學(xué)出版社  作者:王勇  頁數(shù):427  字?jǐn)?shù):690000  
Tag標(biāo)簽:無  

前言

  在開放手機(jī)聯(lián)盟(Open Handset Alliance,OHA)的大力推動下,一個(gè)時(shí)尚、熱門、免費(fèi)并開源的移動平臺——Android正在飛速發(fā)展。越來越多的廠商開始關(guān)注Android,越來越多的用戶選擇使用Android。與此同時(shí),越來越多的開發(fā)者正在投入到Android開發(fā)大軍。在這樣的背景下,本書應(yīng)運(yùn)而生。它可以幫助那些對Android開發(fā)有興趣的人快速進(jìn)入Android移動開發(fā)領(lǐng)域。如果您已經(jīng)是一個(gè)資深的移動應(yīng)用開發(fā)者,本書也可以幫助你再次梳理Android開發(fā)中需要掌握的一些知識點(diǎn)?! 楹芜x擇Android開發(fā)平臺  如今,市場上已經(jīng)有了許多移動開發(fā)平臺,包括Symbian、iPhone、Windows Mobile、BlackBerry、Java Mobile Edition和Linux Mobile(LiMo)等。當(dāng)筆者向別人說起Android時(shí),他們的第一個(gè)疑問通常是:我們?yōu)槭裁催€需要另一個(gè)移動標(biāo)準(zhǔn)?它有何驚人之處?  雖然Android的一些特性并非首創(chuàng),但它是第一個(gè)將以下特性結(jié)合在一起的環(huán)境?! ?.基于Linux,真正開放、開源、免費(fèi)的開發(fā)平臺  手持設(shè)備制造商鐘情于Android的原因,是它們可以使用和定制該平臺而不需要支付費(fèi)用。開發(fā)人員喜歡Android的原因,是他們知道該平臺是獨(dú)立的,不受任何廠商的限制?! ?.受Internet mashup思想啟發(fā)的基于組件的架構(gòu)  基于Android開發(fā)平臺,一個(gè)應(yīng)用程序的組件可以在另一個(gè)應(yīng)用程序中用作其他用途,甚至可以將Android內(nèi)置的組件替換為自己改進(jìn)后的版本。這將在移動領(lǐng)域掀起新一輪的創(chuàng)造風(fēng)潮?! ?.眾多開箱即用的內(nèi)置服務(wù)  Android基于位置的服務(wù)使用GPS或手機(jī)發(fā)射塔三角測量法,讓你可根據(jù)所處位置來定制用戶體驗(yàn);憑借功能全面的SQL數(shù)據(jù)庫,利用強(qiáng)大的本地存儲,可以完成偶爾連接的計(jì)算和同步操作;瀏覽器和地圖視圖可以直接嵌入到應(yīng)用程序中。所有這些內(nèi)置服務(wù)有助于提高功能的標(biāo)準(zhǔn),同時(shí)降低開發(fā)成本?! ?.應(yīng)用程序生命周期的自動化管理  Android的多層安全措施將程序彼此分離,這將使智能電話的系統(tǒng)穩(wěn)定性達(dá)到前所未有的水平。最終用戶不再需要擔(dān)心哪些應(yīng)用程序是活動的,也不必在運(yùn)行新程序前關(guān)閉原有的一些程序。Android針對低能耗、低內(nèi)存的設(shè)備進(jìn)行了優(yōu)化,這種根本性的優(yōu)化是之前的平臺從未嘗試過的?! ?.高質(zhì)量的圖形和聲音  Android將類似于Flash的光滑、無鋸齒的2D矢量圖形和動畫與3D加速的OpenGL圖形相結(jié)合,可實(shí)現(xiàn)各種新式的游戲和商業(yè)應(yīng)用程序。Android內(nèi)置了最常用的行業(yè)標(biāo)準(zhǔn)音頻和視頻格式的編解碼器,這些格式包括H.264(AVC)、MP3和AAC。  6.當(dāng)前及未來各類硬件間的可移植性  Android平臺的所有程序都是用Java語言編寫的,并且由Android的Dalvik虛擬機(jī)執(zhí)行,所以其代碼在ARM、X86和其他架構(gòu)之間是可以移植的。Android提供了對各種輸入法的支持,如鍵盤、觸摸屏和軌跡球等。用戶界面可以針對任何屏幕的分辨率和屏幕方向進(jìn)行定制。  本書寫作的目的,是通過對Android程序設(shè)計(jì)基礎(chǔ)知識和基本技能系統(tǒng)而全面的講解,使讀者能夠輕松掌握Android程序設(shè)計(jì)的基本知識和技能,盡量減少在Android程序設(shè)計(jì)入門階段的摸索和徘徊,為進(jìn)一步學(xué)習(xí)Android程序設(shè)計(jì)高級技術(shù)打下堅(jiān)實(shí)的基礎(chǔ)?! ”緯泻翁厣 ?.提供配套的多媒體教學(xué)視頻  本書中的重點(diǎn)內(nèi)容都錄制了配套的多媒體教學(xué)視頻,以幫助讀者更加直觀而高效地學(xué)習(xí),從而達(dá)到事半功倍的效果?! ?.講解通俗易懂,入門非常容易  本書不介紹初學(xué)者不需要的技術(shù)和操作,也不會云山霧罩地分析問題。筆者堅(jiān)信首先應(yīng)該細(xì)嚼慢咽地掌握基本原理,理解基本概念,然后才能更進(jìn)一步學(xué)習(xí)。一旦打好了基礎(chǔ),“更難”的部分看起來也就沒那么難了。本書將會讓讀者真正地輕松入門。  3.內(nèi)容全面,穿插大量實(shí)例,講解方法豐富  本書對基礎(chǔ)概念都做了全面而詳細(xì)的解析,并對重要概念和比較難理解的知識提供了實(shí)際的例子進(jìn)行講解。其中用到了類比、比喻等講解方法,并且給出了形象的圖示,以加深讀者的理解?! ?.圖解教學(xué)  對于Android開發(fā)中一些比較難于理解的內(nèi)容,本書采用多插圖的形式,用更加形象、風(fēng)趣和直觀的方式講解,利于初學(xué)者的學(xué)習(xí)和理解?! ?.風(fēng)格清新,趣味講解,提高易讀性  已經(jīng)出版的Android編程圖書,大多板著個(gè)面孔,平淡無趣,拒讀者于千里之外。本書試圖用清新活潑的風(fēng)格,并適當(dāng)結(jié)合幽默的語言,來激發(fā)讀者的閱讀興趣?! ?.舉一反三  本書不是知識點(diǎn)的簡單羅列,而是讓讀者學(xué)會一個(gè)知識點(diǎn)后編寫相應(yīng)的代碼,并且進(jìn)行拓展,應(yīng)用到相同類型的開發(fā)中,做到舉一反三、授人以漁的效果?! ?.配合項(xiàng)目案例教學(xué),提高實(shí)戰(zhàn)開發(fā)水平  本書盡力消除了初學(xué)者學(xué)習(xí)計(jì)算機(jī)語言時(shí)所能遇到的障礙,變抽象為具體,變復(fù)雜為簡單。這是一本入門書,如果你還從來沒有寫過Android程序,那么這本書正好適合你。  本書內(nèi)容概覽  第1篇 入門必備(第1~4章)  本篇簡單講述了Android開發(fā)現(xiàn)狀、本書的學(xué)習(xí)曲線、開發(fā)環(huán)境的安裝及各類開發(fā)工具的使用,并嘗試新建了第一個(gè)Android工程。通過學(xué)習(xí)本篇內(nèi)容,讀者可以對本書的學(xué)習(xí)方法有一個(gè)初步的了解,并對Android編程有一個(gè)宏觀的認(rèn)識。  第2篇 界面開發(fā)(第5~7章)  本篇主要講述了Android開發(fā)中的界面開發(fā)部分,主要分為以下3個(gè)方面: ?。?)各種視圖的類的使用; ?。?)各類資源的調(diào)用;  (3)Android的5類布局的合理嵌套。  讀者在學(xué)習(xí)完本篇后可以熟練地進(jìn)行程序界面的設(shè)計(jì)和實(shí)現(xiàn)。  第3篇 功能實(shí)現(xiàn)(第8~12章)  本篇講述了Android開發(fā)中一些比較復(fù)雜的技術(shù),也可以稱之為高級技術(shù),這些看似稍微復(fù)雜的技術(shù)也正是Android開發(fā)的核心。能否使用Android SDK游刃有余地進(jìn)行開發(fā),就要看對本篇內(nèi)容的理解和掌握程度了?! 〉?篇 項(xiàng)目案例開發(fā)(第13、14章)  本篇主要通過兩個(gè)實(shí)際的項(xiàng)目案例,幫助讀者將本書前面所學(xué)的知識點(diǎn)進(jìn)行系統(tǒng)的應(yīng)用。通過本篇的實(shí)戰(zhàn)開發(fā),讀者就可以進(jìn)行實(shí)際的Android開發(fā)了?! ”緯鵀檎l而寫  本書最為適合Android編程入門人員閱讀,但建議讀者閱讀本書前有一定的Java編程基礎(chǔ)。本書的讀者主要有以下幾類:  * Android開發(fā)初學(xué)者;  * Android移動開發(fā)從業(yè)人員;  * 大中專院校的學(xué)生;  * 相關(guān)培訓(xùn)班的學(xué)員;  * Android開發(fā)愛好者?! ”緯髡摺 ”緯赏跤轮鞴P編寫,其他參與編寫的人員有陳世瓊、陳欣、陳智敏、董加強(qiáng)、范禮、郭秋滟、郝紅英、蔣春蕾、黎華、劉建準(zhǔn)、劉霄、劉亞軍、劉仲義、柳剛、羅永峰、馬奎林、馬味、歐陽昉、蒲軍、齊鳳蓮、王海濤、魏來科、伍生全等。

內(nèi)容概要

  《Android編程入門很簡單》是一本與眾不同的Android學(xué)習(xí)讀物,是一本化繁為簡,把抽象問題具體化,把復(fù)雜問題簡單化的書。本書避免出現(xiàn)云山霧罩、晦澀難懂的講解,代之以輕松活潑、由淺入深的剖析。這必將使得閱讀本書的讀者少走彎路,快速上手,從而建立學(xué)習(xí)Android開發(fā)的信心。本書配帶1張光盤,收錄了本書重點(diǎn)內(nèi)容的教學(xué)視頻和本書涉及的所有源代碼。
  本書共14章,分為4篇。主要內(nèi)容涵蓋了Android發(fā)展現(xiàn)狀、開發(fā)環(huán)境的搭建、開發(fā)工具的使用、Android工程結(jié)構(gòu)的剖析、UI界面的設(shè)計(jì)方法及各個(gè)常用功能的實(shí)現(xiàn),最后介紹了兩個(gè)綜合項(xiàng)目案例的開發(fā)過程。通過閱讀本書,讀者可以在較短的時(shí)間內(nèi)理解Android開發(fā)的各個(gè)重要概念和知識點(diǎn),為進(jìn)一步學(xué)習(xí)打好基礎(chǔ)。
  本書適合沒有接觸過Android開發(fā)的新手閱讀,但建議讀者閱讀本書前對Java編程有一定的了解;對于有一定經(jīng)驗(yàn)的Android開發(fā)人員,也可以通過本書進(jìn)一步理解Android語言的各個(gè)重要知識點(diǎn)和概念。

作者簡介

王勇,畢業(yè)于南通大學(xué)軟件工程專業(yè)?,F(xiàn)從事Android應(yīng)用軟件開發(fā)工作。擅長網(wǎng)絡(luò)與多媒體技術(shù),熱衷于開源軟件。從2008年開始接觸Android編程,活躍于各類Android開發(fā)社區(qū)與論壇。開發(fā)過的項(xiàng)目有智能家居系統(tǒng)、警訊通、無線城市、蘇州通網(wǎng)點(diǎn)充值系統(tǒng)、企業(yè)定制客戶端等。

書籍目錄

第1篇 入 門 必 備
第1章 初識Android(教學(xué)視頻:6分鐘)
1.1 手機(jī)發(fā)展簡史
1.1.1 手機(jī)發(fā)展的里程碑
1.1.2 Android的各個(gè)版本
1.2 開放手機(jī)聯(lián)盟
1.2.1 開放手機(jī)聯(lián)盟的目的
1.2.2 分工合作
1.3 Android中的個(gè)人英雄主義
1.3.1 第一屆挑戰(zhàn)賽冠軍介紹
1.3.2 第二屆挑戰(zhàn)賽冠軍介紹
1.3.3 Android Market
1.4 Android平臺
1.4.1 Android體系結(jié)構(gòu)
1.4.2 熟悉的開發(fā)工具
1.4.3 合理的學(xué)習(xí)曲線
1.5 小結(jié)
第2章 搭建你的開發(fā)環(huán)境(教學(xué)視頻:21分鐘)
2.1 配置前的準(zhǔn)備工作
2.1.1 Android支持的操作系統(tǒng)
2.1.2 準(zhǔn)備“四大法寶”
2.2 安裝并配置JDK
2.2.1 安裝JDK
2.2.2 配置JDK
2.3 安裝并配置Eclipse
2.3.1 運(yùn)行Eclipse
2.3.2 了解Eclipse
2.4 安裝并配置Android SDK
2.4.1 下載Android SDK
2.4.2 配置SDK
2.5 下載ADT
2.5.1 下載ADT
2.5.2 為Eclipse設(shè)置SDK路徑
2.6 新建模擬器
2.6.1 新建AVD
2.6.2 運(yùn)行模擬器
2.7 真機(jī)測試
2.7.1 安裝手機(jī)驅(qū)動
2.7.2 設(shè)置手機(jī)
2.8 小結(jié)
第3章 創(chuàng)建第一個(gè)程序--HelloWorld(教學(xué)視頻:21分鐘)
3.1 新建第一個(gè)程序
3.1.1 新建工程
3.1.2 運(yùn)行程序
3.2 認(rèn)識HelloWorld
3.2.1 首識Android工程
3.2.2 認(rèn)識布局文件
3.2.3 認(rèn)識值文件
3.2.4 認(rèn)識R文件
3.2.5 認(rèn)識注冊文件
3.3 調(diào)試程序
3.3.1 增加斷點(diǎn)
3.3.2 開始調(diào)試
3.3.3 單步調(diào)試
3.4 更多示例程序
3.4.1 導(dǎo)入Samples
3.4.2 經(jīng)典范例
3.5 小結(jié)
第4章 使用Android工具(教學(xué)視頻:15分鐘)
4.1 使用DDMS
4.1.1 認(rèn)識DDMS
4.1.2 使用進(jìn)程
4.1.3 使用文件瀏覽器
4.1.4 使用模擬器控制
4.1.5 使用日志
4.1.6 使用Screen Capture捕捉設(shè)備屏幕
4.2 使用Android調(diào)試橋
4.2.1 使用ADB
4.2.2 顯示連接到計(jì)算機(jī)的設(shè)備
4.2.3 針對特定設(shè)備操作
4.2.4 啟動和停止ADB
4.2.5 使用ADB操作文件和apk
4.2.6 使用ADB shell
4.3 使用AAPT
4.3.1 使用ADT導(dǎo)出簽名程序
4.3.2 使用命令行生成簽名apk文件
4.4 小結(jié)
第2篇 界 面 開 發(fā)
第5章 探索界面UI元素(教學(xué)視頻:73分鐘)
5.1 認(rèn)識Android視圖、Widget以及布局
5.2 必須了解的Widget組件
5.2.1 使用可滾動的文本控件--TextView
5.2.2 TextView中的一些功能
5.2.3 使用可滾動的視圖--ScrollView
5.2.4 文字的編輯
5.2.5 使用按鈕--Button
5.2.6 實(shí)例--計(jì)算器
5.2.7 使用圖片按鈕--ImageButton
5.2.8 使用復(fù)選框--CheckBox
5.2.9 實(shí)例--請同意本協(xié)議
5.2.10 使用單選框--RadioGroup
5.2.11 實(shí)例--請選擇性別
5.2.12 使用下拉列表框--Spinner
5.2.13 實(shí)例--請選擇工作年限
5.2.14 實(shí)例--動態(tài)修改Spinner項(xiàng)
5.2.15 使用進(jìn)度條--ProgressBar
5.2.16 實(shí)例--動態(tài)修改進(jìn)度條
5.2.17 使用拖動條--SeekBar
5.2.18 實(shí)例--簡單使用SeekBar
5.2.19 使用圖片視圖--ImageView
5.2.20 實(shí)例--ImageView的重疊效果
5.2.21 使用網(wǎng)格視圖--GridView
5.2.22 實(shí)例--通過宮格視圖展示相應(yīng)的應(yīng)用
5.2.23 使用消息提醒--Toast
5.2.24 實(shí)例--Toast的4種實(shí)現(xiàn)
5.3 使用列表視圖(ListView&ExpandableListView)
5.3.1 使用列表--ListView
5.3.2 通過實(shí)例學(xué)習(xí)列表
5.3.3 使用可擴(kuò)展列表--ExpandableListView
5.3.4 實(shí)例--簡單使用ExpandableListView
5.3.5 實(shí)例--深入使用可擴(kuò)展列表
5.4 使用菜單--Menu
5.4.1 Menu的使用
5.4.2 通過實(shí)例學(xué)習(xí)使用Menu
5.5 小結(jié)
第6章 使用程序資源(教學(xué)視頻:40分鐘)
6.1 資源的意義
6.1.1 什么是資源
6.1.2 怎樣存儲資源
6.1.3 怎樣添加資源
6.1.4 資源的種類
6.1.5 怎樣訪問資源
6.2 使用資源
6.2.1 使用資源管理器
6.2.2 使用String資源
6.2.3 實(shí)例--彩虹和太極
6.2.4 使用String數(shù)組資源
6.2.5 使用Color資源
6.2.6 使用Dimension資源
6.2.7 使用Drawble資源
6.2.8 使用樣式
6.2.9 使用主題
6.3 小結(jié)
第7章 設(shè)計(jì)界面布局(教學(xué)視頻:63分鐘)
7.1 創(chuàng)建界面
7.1.1 使用xml資源創(chuàng)建布局
7.1.2 使用代碼創(chuàng)建布局
7.2 使用布局類
7.2.1 使用絕對布局
7.2.2 使用線性布局
7.2.3 使用框架布局
7.2.4 使用表格布局
7.2.5 使用關(guān)系布局
7.3 使用其他布局容器
7.3.1 使用TabActivity
7.3.2 自定義TabHost
7.3.3 使用對話框
7.3.4 使用滑動抽屜
7.4 小結(jié)
第3篇 功 能 實(shí) 現(xiàn)
第8章 Android應(yīng)用程序組成(教學(xué)視頻:43分鐘)
8.1 深入理解Activity
8.1.1 使用Intent連接Activity
8.1.2 Activity的生命周期
8.2 使用廣播接收器
8.2.1 發(fā)送廣播
8.2.2 接收廣播
8.2.3 廣播實(shí)例
8.3 使用服務(wù)
8.3.1 新建服務(wù)
8.3.2 使用Service
8.3.3 Service的生命周期
8.4 使用ContentProvider
8.5 小結(jié)
第9章 Android中的數(shù)據(jù)存儲(教學(xué)視頻:58分鐘)
9.1 使用SharedPreferences
9.1.1 什么是SharedPreferences
9.1.2 使用SharedPreferences保存數(shù)據(jù)
9.1.3 使用SharedPreferences讀取數(shù)據(jù)
9.1.4 通過實(shí)例學(xué)習(xí)SharedPreferences
9.2 使用文件存儲
9.2.1 文件保存概述
9.2.2 在程序默認(rèn)位置創(chuàng)建和寫入文件
9.2.3 在默認(rèn)位置讀取文件
9.2.4 通過實(shí)例學(xué)習(xí)文件存儲
9.3 使用SQLite數(shù)據(jù)庫
9.3.1 創(chuàng)建和刪除數(shù)據(jù)庫
9.3.2 創(chuàng)建和刪除表
9.3.3 操作記錄
9.3.4 查詢記錄
9.3.5 使用數(shù)據(jù)庫幫助類
9.4 實(shí)例--通過數(shù)據(jù)庫驗(yàn)證登錄
9.4.1 整體設(shè)計(jì)
9.4.2 數(shù)據(jù)庫設(shè)計(jì)
9.4.3 登錄界面設(shè)計(jì)
9.4.4 注冊界面設(shè)計(jì)
9.4.5 登錄成功界面設(shè)計(jì)
9.5 使用ContentProvider共享數(shù)據(jù)
9.5.1 了解ContentProvider
9.5.2 使用ContentProvider
9.5.3 使用ContentResolver
9.6 自定義ContentProvider
9.6.1 ContentProvider需要實(shí)現(xiàn)的接口
9.6.2 實(shí)現(xiàn)ContentProvider
9.6.3 更新AndroidManifest文件
9.7 小結(jié)
第10章 絢麗的多媒體技術(shù)(教學(xué)視頻:55分鐘)
10.1 簡單處理音頻
10.1.1 使用MediaRecoder錄制音頻
10.1.2 通過實(shí)例學(xué)習(xí)使用MediaRecoder錄制音頻
10.1.3 使用MediaPlayer播放音頻
10.1.4 通過實(shí)例學(xué)習(xí)MediaPlayer
10.2 深度處理音頻
10.2.1 使用AudioRecod錄制音頻
10.2.2 通過實(shí)例學(xué)習(xí)使用AudioRecod錄制音頻
10.2.3 使用AudioTrack播放音頻
10.2.4 通過實(shí)例學(xué)習(xí)使用AudioTrack錄制音頻
10.3 學(xué)會拍照
10.3.1 通過Camera類完成拍照
10.3.2 實(shí)例--簡易攝像機(jī)
10.4 學(xué)習(xí)視頻處理
10.4.1 學(xué)習(xí)錄制視頻
10.4.2 實(shí)例--錄制視頻
10.4.3 學(xué)習(xí)播放視頻
10.4.4 實(shí)例--自制視頻播放器
10.5 小結(jié)
第11章 Android網(wǎng)上沖浪(教學(xué)視頻:30分鐘)
11.1 使用HttpUrlConnection
11.1.1 使用GET方法
11.1.2 使用POST方法
11.1.3 通過實(shí)例學(xué)習(xí)HttpUrlConnection
11.2 使用HttpClient
11.2.1 使用HttpClient進(jìn)行GET連接
11.2.2 使用HttpClient進(jìn)行POST連接
11.2.3 通過實(shí)例學(xué)習(xí)HttpClient
11.3 自制Web瀏覽器
11.3.1 使用WebView
11.3.2 通過實(shí)例學(xué)習(xí)WebView
11.4 小結(jié)
第12章 Android地圖服務(wù)(教學(xué)視頻:31分鐘)
12.1 Google地圖顯示
12.1.1 申請Google Maps API金鑰
12.1.2 使用MapView顯示地圖
12.1.3 通過實(shí)例使用MapView
12.2 使用GPS
12.2.1 獲得我的位置
12.2.2 通過實(shí)例完成GPS的使用
12.3 使用地理位置編碼
12.3.1 轉(zhuǎn)換地址信息
12.3.2 通過實(shí)例使用地理位置編碼
12.4 使用Overlay
12.4.1 實(shí)現(xiàn)Overlay類
12.4.2 通過實(shí)例學(xué)習(xí)Overlay
12.5 小結(jié)
第4篇 項(xiàng)目案例開發(fā)
第13章 聯(lián)系人助手(教學(xué)視頻:45分鐘)
13.1 Jxl簡介
13.1.1 使用導(dǎo)入jxl.jar
13.1.2 使用jxl讀取Excel文件
13.1.3 使用jxl創(chuàng)建Excel文件
13.2 界面規(guī)劃
13.2.1 主界面實(shí)現(xiàn)
13.2.2 導(dǎo)出文件、導(dǎo)入文件界面的實(shí)現(xiàn)
13.3 功能實(shí)現(xiàn)
13.3.1 實(shí)現(xiàn)導(dǎo)出聯(lián)系人
13.3.2 實(shí)現(xiàn)導(dǎo)入聯(lián)系人功能
13.3.3 實(shí)現(xiàn)文件瀏覽功能
13.3.4 實(shí)現(xiàn)主界面跳轉(zhuǎn)功能
13.3.5 修改注冊表
13.5 小結(jié)
第14章 個(gè)人軌跡跟蹤器(教學(xué)視頻:21分鐘)
14.1 界面UI實(shí)現(xiàn)
14.1.1 界面規(guī)劃
14.1.2 實(shí)現(xiàn)新建跟蹤界面
14.1.3 實(shí)現(xiàn)已有跟蹤界面
14.1.4 實(shí)現(xiàn)地圖顯示界面
14.2 數(shù)據(jù)庫實(shí)現(xiàn)
14.2.1 設(shè)計(jì)表結(jié)構(gòu)
14.2.2 實(shí)現(xiàn)DatabaseHelper
14.3 功能實(shí)現(xiàn)
14.3.1 實(shí)現(xiàn)TrackService
14.3.2 實(shí)現(xiàn)OldTrackActivity
14.3.3 實(shí)現(xiàn)TrackerActivity
14.3.4 實(shí)現(xiàn)Overlay
14.3.5 修改注冊文件
14.4 小結(jié)

章節(jié)摘錄

版權(quán)頁:   插圖:   讀者可以發(fā)現(xiàn)其步驟與AudioRecord一一對應(yīng)。接下來就仔細(xì)探究各個(gè)步驟的具體做法。 1.獲得AudioTrack對象 在新建AudioTrack對象的時(shí)候同樣需要傳遞若干參數(shù),讓我們先來看方法: 新建AudioTrack對象時(shí)需要6個(gè)參數(shù): (1)streamType:播放流的類型,一般設(shè)置為AudioManager.STREAM_MUSIC,即音樂類型??晒┻x擇的參數(shù)還包括: AudioManager.STREAM_ALARM(報(bào)警類型)。 AudioManager.STREAM DTMF(雙音多頻類型dual—tone multifrequency)。 AudioManager.STREAM_NOTIFICATION(消息類型)。 AudioManager.STREAM_RING(鈴聲類型)。 AudioManager.STREAM_SYSTEM(系統(tǒng)類型)。 AudioManager.STREAM_VOICE_CALL(電話類型)。 當(dāng)然設(shè)置這些參數(shù)可能對用戶來說意義不大,但是通過這些參數(shù),系統(tǒng)可以很好地管理音頻系統(tǒng)。例如,你在聽音樂,此時(shí)為MUSIC模式,這個(gè)時(shí)候進(jìn)來一個(gè)電話,那系統(tǒng)肯定要打斷MUSIC接入VOICE_CALL。當(dāng)你接聽電話的時(shí)候你又覺得聲音太小,此時(shí)調(diào)節(jié)的就是通話音量。當(dāng)通話結(jié)束重新回到MUSIC狀態(tài)時(shí),此時(shí)的音樂音量應(yīng)該還是開始通話前的音量。 這就是設(shè)置TYPE參數(shù)的好處了。 (2)sampleRatelnHz:每秒的采樣率,意義為每秒采集多少次樣本,單位是Hz,設(shè)置為一個(gè)整數(shù)值,一般為8000,或者11400等如果讀者有興趣可以深入研究。 (3)channelConfi9:聲道配置,也就是平時(shí)所說的單聲道,雙聲道。常用的參數(shù)為:AudioFormat.CHANNEL_CONFIGURATION_MONO(單聲道)或AudioFormat.CHANNELCONFIGURATION_STEREO(雙聲道,立體聲)。 (4)audioFormat:編碼方式:即每次采樣的位數(shù),可以設(shè)置為:AudioFormat.ENCODING_PCM_16BIT 16位采樣,或者是AudioFormat.ENCODING_PCM_8BIT 8位采樣。 (5)bufferSizelnBytes:為AudioRecord開辟的緩存區(qū)大小,以byte為單位。 (6)mode:模式,一般設(shè)置為AudioTrack.MODE_STREAM,或者設(shè)置為AudioTrack.MODE_STATIC。這里的兩個(gè)參數(shù)用戶會感受強(qiáng)烈一些,設(shè)置為STREAM模式時(shí),讀者可以通過流的形式不停地向Track中添加數(shù)據(jù),而AudioTrack會負(fù)責(zé)播放這些數(shù)據(jù),其工作方式與Socket類似。一個(gè)實(shí)時(shí)通話的程序就需要這種模式,將從Socket端讀取的字節(jié)流傳遞到AudioTrack中就完成了實(shí)時(shí)播放了。 使用AudioTrack.MODE_STATIC模式時(shí),AudioTrack不會從流中不停地讀,而是從一塊預(yù)先開辟的Buffer中讀取數(shù)據(jù)并播放。與AudioTrack.MODE_STREAM相比,好處是會減少很多消耗(因?yàn)锳udioTrack.MODE_STREAM模式下,Java需要不停地調(diào)用Native方法),缺點(diǎn)是不夠靈活。

編輯推薦

《Android編程入門很簡單(8.7小時(shí)多媒體教學(xué)視頻)》是一本與眾不同的Android學(xué)習(xí)讀物,是一本化繁為簡,把抽象問題具體化,把復(fù)雜問題簡單化的書?!禔ndroid編程入門很簡單(8.7小時(shí)多媒體教學(xué)視頻)》避免出現(xiàn)云山霧罩、晦澀難懂的講解,代之以輕松活潑、由淺入深的剖析。這必將使得閱讀《Android編程入門很簡單(8.7小時(shí)多媒體教學(xué)視頻)》的讀者少走彎路,快速上手,從而建立學(xué)習(xí)Android開發(fā)的信心?!禔ndroid編程入門很簡單(8.7小時(shí)多媒體教學(xué)視頻)》配帶1張光盤,收錄了《Android編程入門很簡單(8.7小時(shí)多媒體教學(xué)視頻)》重點(diǎn)內(nèi)容的教學(xué)視頻和《Android編程入門很簡單(8.7小時(shí)多媒體教學(xué)視頻)》涉及的所有源代碼。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Android編程入門很簡單 PDF格式下載


用戶評論 (總計(jì)1條)

 
 

  •   書不錯,因?yàn)轫?xiàng)目變更,我沒堅(jiān)持下來……遺憾。之后一定補(bǔ)上
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7