Android應(yīng)用開(kāi)發(fā)入門(mén)

出版時(shí)間:2013-1  出版社:人民郵電出版社  作者:杰克遜  頁(yè)數(shù):265  字?jǐn)?shù):408000  譯者:周自恒  
Tag標(biāo)簽:無(wú)  

前言

  在過(guò)去兩年中,Google的Android操作系統(tǒng)已經(jīng)從一個(gè)幾乎默默無(wú)聞的開(kāi)源軟件,發(fā)展成如今占據(jù)移動(dòng)操作系統(tǒng)1/3市場(chǎng)份額的領(lǐng)導(dǎo)者,并且其份額還在快速攀升。Android已經(jīng)開(kāi)始占領(lǐng)平板電腦操作系統(tǒng)市場(chǎng),并以GoogleTV向蘋(píng)果iTV操作系統(tǒng)的基礎(chǔ)發(fā)起挑戰(zhàn)。目前看來(lái),Android并沒(méi)有停下其快速發(fā)展的腳步,對(duì)于本書(shū)的讀者來(lái)說(shuō),這顯然是一個(gè)好消息。  有很多人問(wèn)我:“我有一個(gè)特別棒的智能手機(jī)應(yīng)用的點(diǎn)子!你能幫我編出來(lái)嗎?”我覺(jué)得與其自己坐在那里幫所有人編寫(xiě)應(yīng)用程序,還不如寫(xiě)一本書(shū)出來(lái)呢。這本書(shū)面向初學(xué)者,介紹如何用免費(fèi)下載、免費(fèi)商用的開(kāi)源工具來(lái)編寫(xiě)Android應(yīng)用程序,以及如何用這些新學(xué)習(xí)的知識(shí),讓?xiě)?yīng)用程序的點(diǎn)子為你帶來(lái)收益?! ?duì)象:編程初學(xué)者  正如書(shū)名所言,本書(shū)假設(shè)你從未使用任何編程語(yǔ)言編寫(xiě)過(guò)任何程序。本書(shū)的讀者對(duì)象是從來(lái)沒(méi)有編寫(xiě)過(guò)一行代碼,也不了解Oracle的Java這樣的面向?qū)ο缶幊蹋ê?jiǎn)稱OOP)語(yǔ)言,以及XML這樣的標(biāo)記語(yǔ)言的人。這兩種開(kāi)源的編程語(yǔ)言,在編寫(xiě)Android應(yīng)用程序的過(guò)程中都要大量使用?! ∈忻嫔嫌泻芏嘟榻BJava和Android的書(shū),但這些書(shū)都假定讀者曾經(jīng)編寫(xiě)過(guò)程序,而且了解關(guān)于OOP的知識(shí)。我想讓對(duì)編程,甚至是對(duì)如何安裝軟件開(kāi)發(fā)工具包(Software Development Kit,SDK)和集成開(kāi)發(fā)環(huán)境(Integrated Development Environment, IDE)一無(wú)所知的讀者,通過(guò)本書(shū)的學(xué)習(xí),能夠使用Java和XML來(lái)編寫(xiě)Android應(yīng)用程序。  武器:Android,創(chuàng)新的移動(dòng)開(kāi)發(fā)環(huán)境  Android是我從事Internet 2.0開(kāi)發(fā)的得力武器,因?yàn)槲铱梢杂盟鼇?lái)為所有主流的Internet 2.0設(shè)備編寫(xiě)非常高級(jí)的應(yīng)用程序,這些設(shè)備包括目前能帶來(lái)最多收益的三大類平臺(tái):  智能手機(jī)  平板電腦  iTV(交互式電視)  我選擇Android的另一個(gè)原因是它是開(kāi)源的,免專利費(fèi)用,且行事自由。在發(fā)布應(yīng)用程序之前,我不需要提交給某個(gè)公司去征得他們的同意,只要我的應(yīng)用程序不會(huì)對(duì)他人造成侵害就行。出于這個(gè)原因,以及開(kāi)源軟件可免費(fèi)用于商業(yè)這一性質(zhì),為Android平臺(tái)開(kāi)發(fā)應(yīng)用程序幾乎不會(huì)有任何外在風(fēng)險(xiǎn)?! ”緯?shū)內(nèi)容的組織方式  由于本書(shū)是面向初學(xué)者的,所以我們需要從零開(kāi)始,先介紹到哪里去下載以及如何安裝各種Android、Java和Eclipse環(huán)境,如何配置這些環(huán)境,以及如何用它們來(lái)開(kāi)發(fā)和測(cè)試應(yīng)用程序。這些工作可不簡(jiǎn)單,而且不能出錯(cuò),因?yàn)檫@些工具是本書(shū)中一切Android開(kāi)發(fā)、調(diào)試和測(cè)試工作的基礎(chǔ)?! 〗酉聛?lái)我將帶你了解Android是如何誕生的,Google收購(gòu)它的原因、過(guò)程和時(shí)間,以及它與其他一些軟件開(kāi)發(fā)平臺(tái)相比有哪些獨(dú)特之處。然后,我將介紹XML、Java、OOP和Android的一些概念,還將涉及Android如何管理屏幕布局。在本書(shū)后半部分的章節(jié)中,我們會(huì)將這些概念付諸實(shí)踐,這些章節(jié)將按照應(yīng)用程序開(kāi)發(fā)中最具邏輯的順序,來(lái)解釋Android中最重要的一些概念?! ≡诒緯?shū)的后半部分,我們將介紹如何設(shè)計(jì)用戶界面(User Interface,UI)。用戶界面是用戶與Android應(yīng)用程序進(jìn)行交互的前端界面。接下來(lái)我們將通過(guò)事件處理機(jī)制,介紹UI是如何與應(yīng)用程序交流的。為了讓你的應(yīng)用程序看上去更酷,我們會(huì)介紹圖像、動(dòng)畫(huà)和視頻的使用,然后還將介紹一些高階的話題,如數(shù)據(jù)庫(kù)和通信?! ∽詈?,我們將帶你了解一些Android的高級(jí)特性。你可能需要在讀完本書(shū)之后再學(xué)習(xí)這些內(nèi)容,因?yàn)樗鼈儗?duì)于一本Android基礎(chǔ)教程來(lái)說(shuō)太過(guò)高深了,但是它們卻能實(shí)現(xiàn)當(dāng)今智能手機(jī)開(kāi)發(fā)中一些非??岬墓δ??! ≡谥v解所有話題和概念時(shí),我們會(huì)展示IDE的截圖以及一些可視化的例子,然后帶你一步一步地完成一些實(shí)例,加深你對(duì)這些概念的理解。有時(shí)候我們會(huì)回顧之前講過(guò)的一些話題,以便你理解得更加深入,并對(duì)所學(xué)的技能舉一反三。這種方式可以讓初學(xué)編程的讀者反復(fù)應(yīng)用開(kāi)發(fā)技能,并在進(jìn)步中獲得成就感?! 〕晒Φ拿卦E  學(xué)習(xí)開(kāi)發(fā)Android應(yīng)用程序的過(guò)程,就是你與本書(shū)中所介紹的工具和技術(shù)(Eclipse、XML、Java、Android等)進(jìn)行交互的過(guò)程。正如學(xué)習(xí)一項(xiàng)體育運(yùn)動(dòng)一樣,需要學(xué)習(xí)技能并且每天練習(xí)。要深入理解每一個(gè)概念,你需要親手嘗試書(shū)中的實(shí)例和練習(xí),如果需要的話,最好多重復(fù)幾次。  搞懂了一個(gè)概念,并不代表你懂得如何創(chuàng)造性地、有效地應(yīng)用這一概念。你需要勤加練習(xí),當(dāng)最終在應(yīng)用情景中理解了這個(gè)概念,并理解了與之相關(guān)的其他概念時(shí),你就會(huì)體會(huì)到一種茅塞頓開(kāi)的喜悅?! ≡谶@本基礎(chǔ)教程中,你將學(xué)習(xí)一些Android的工作原理。通過(guò)書(shū)中的練習(xí),你會(huì)了解更多Android內(nèi)部的秘密。當(dāng)你編譯、運(yùn)行、調(diào)試程序時(shí),還將學(xué)到一些書(shū)中并沒(méi)有特別提到的新知識(shí)。花點(diǎn)時(shí)間測(cè)試你的代碼,搞清楚為什么它沒(méi)有達(dá)到你所設(shè)想的效果,或者嘗試增加些新的功能,總之,這個(gè)學(xué)習(xí)的過(guò)程是非常寶貴的?! ‘?dāng)然,調(diào)試的過(guò)程對(duì)于初學(xué)者來(lái)說(shuō)可能非常痛苦,你可能會(huì)抓狂到想對(duì)著顯示器來(lái)一槍。你會(huì)懷疑自己到底為什么要這么做,以及自己是否有能力去解決所遇到的問(wèn)題。在編程過(guò)程中受挫是很正常的,即便是最有經(jīng)驗(yàn)的開(kāi)發(fā)者也會(huì)遇到問(wèn)題。  正如運(yùn)動(dòng)員一樣,你練習(xí)得越刻苦,技術(shù)就會(huì)越好。作為一名Android開(kāi)發(fā)者,你可以做很多了不起的事,整個(gè)世界都由你做主,而最令你欣慰的成就莫過(guò)于看到自己的應(yīng)用在Android應(yīng)用商店里上架。當(dāng)然,要實(shí)現(xiàn)這些需要付出一些代價(jià),那就是花時(shí)間不斷磨練你的代碼?! ∵@里有一些成功的秘訣分享給你。  相信自己能行。你可能是世界上唯一一個(gè)說(shuō)自己不行的人,所以千萬(wàn)別對(duì)自己說(shuō)不行?! ≌J(rèn)真實(shí)踐本書(shū)中所有的實(shí)例和練習(xí),有必要的話可以做兩遍,直到弄懂為止?! ?xiě)代碼,寫(xiě)更多的代碼,一直寫(xiě)下去,不要停。你寫(xiě)的代碼越多,學(xué)到的就越多?! ∫心托?。也許你曾經(jīng)是個(gè)尖子生,可以過(guò)目不忘,但Java和XML是不可能看一遍就學(xué)會(huì)的。你必須花很多的時(shí)間來(lái)編寫(xiě)代碼,才能弄清楚在這個(gè)操作系統(tǒng)內(nèi)部到底發(fā)生了什么?! o(wú)論做什么,都不要放棄!  所需的軟件、材料和設(shè)備  Java、Android和Eclipse有一個(gè)很大的優(yōu)點(diǎn),它們可以提供32位和64位版本,并且可以用于目前使用最廣泛的三種主流操作系統(tǒng):  Windows  Mac  Linux  Java、Android和Eclipse的另一個(gè)優(yōu)點(diǎn)就是,它們是免費(fèi)的。你可以從網(wǎng)站下載Android。在設(shè)備方面,只要有一臺(tái)主流配置的電腦就行。現(xiàn)在電腦非常便宜,而且你可以安裝一個(gè)免費(fèi)的操作系統(tǒng),如SUSE Linux,來(lái)作為你的開(kāi)發(fā)用操作系統(tǒng)。SUSE Linux V11可以從網(wǎng)站下載。當(dāng)前的最新版本為11.4,它已經(jīng)足夠穩(wěn)定了?! ?. 操作系統(tǒng)和IDE  盡管Android可以運(yùn)行在很多平臺(tái)上,但Android開(kāi)發(fā)者使用最多的Eclipse集成開(kāi)發(fā)環(huán)境(IDE)一般是運(yùn)行在Intel架構(gòu)的Windows或Linux電腦上的。Eclipse IDE是免費(fèi)的,可以從網(wǎng)站下載。要更好地運(yùn)行Eclipse,你的操作系統(tǒng)應(yīng)該是Windows XP以上,或者SUSE Linux 11.4以上?! ?. 軟件開(kāi)發(fā)工具包  需要從Eclipse網(wǎng)站下載Eclipse IDE,從Google網(wǎng)站下載Android SDK?! ?. 雙屏顯示  我建議開(kāi)發(fā)者在電腦上連接兩臺(tái)顯示器。擁有兩臺(tái)獨(dú)立的顯示器,可以讓你在查看代碼的同時(shí),在另一臺(tái)顯示器上查看輸出窗口和Android模擬器。如今的電腦硬件配置足以滿足這一需求,只要將第二臺(tái)顯示器插在任何一臺(tái)Intel架構(gòu)的電腦的第二個(gè)顯示端口上,并且電腦上正確安裝了顯示適配器,你就可以擁有兩臺(tái)獨(dú)立工作的顯示器了。注意,雙屏顯示不是必需的。如果你沒(méi)有雙屏顯示,只要調(diào)整一下打開(kāi)的窗口,使它們適合自己的屏幕就可以了。

內(nèi)容概要

  《Android應(yīng)用開(kāi)發(fā)入門(mén)》為Android應(yīng)用開(kāi)發(fā)的入門(mén)課程,以深入淺出、循序漸進(jìn)的方式講述Android開(kāi)發(fā),并且結(jié)合實(shí)際例子講解各個(gè)知識(shí)點(diǎn)。主要內(nèi)容包括:機(jī)器部署;Java和XML簡(jiǎn)介;使用Eclipse的高效開(kāi)發(fā);應(yīng)用框架概覽;UI和圖形設(shè)計(jì);添加交互;內(nèi)容提供程序、Intent、Intent
Filter;用Java和XML基礎(chǔ)知識(shí)構(gòu)建高級(jí)應(yīng)用等。   
  《Android應(yīng)用開(kāi)發(fā)入門(mén)》適合移動(dòng)開(kāi)發(fā)人員以及所有對(duì)Android應(yīng)用開(kāi)發(fā)感興趣的人員閱讀。

作者簡(jiǎn)介

  Wallace Jackson Mind Taffy Design公司首席執(zhí)行官。Mind
Taffy創(chuàng)立于1991年,是一家從事新媒體內(nèi)容設(shè)計(jì)和制作的公司。在過(guò)去20多年里,Wallace一直引領(lǐng)i3D和富媒體應(yīng)用設(shè)計(jì)領(lǐng)域的潮流,使用不超過(guò)512KB的數(shù)據(jù)容量來(lái)制作病毒式傳播的數(shù)字內(nèi)容。他曾為世界領(lǐng)先的國(guó)際品牌提供服務(wù),為業(yè)界領(lǐng)先的公司(其中包括財(cái)富500強(qiáng)公司)制作定制化的數(shù)字新媒體項(xiàng)目。
Wallace擁有美國(guó)南加州大學(xué)營(yíng)銷戰(zhàn)略專業(yè)MSBA學(xué)位、南加州大學(xué)馬歇爾商學(xué)院管理信息系統(tǒng)設(shè)計(jì)與實(shí)施專業(yè)MBA學(xué)位,以及加州大學(xué)洛杉磯分校安德森管理學(xué)院商業(yè)經(jīng)濟(jì)學(xué)學(xué)士學(xué)位。
周自恒
生于天津,畢業(yè)于上海外國(guó)語(yǔ)大學(xué),現(xiàn)居上海。IT、編程愛(ài)好者,自稱偽Geek,初中時(shí)曾在NOI(國(guó)家信息學(xué)奧賽)天津賽區(qū)獲一等獎(jiǎng)。大學(xué)學(xué)習(xí)語(yǔ)言,畢業(yè)后曾任IT系統(tǒng)咨詢顧問(wèn),精通英語(yǔ)和日語(yǔ),譯著有《30天自制操作系統(tǒng)》。新浪微博:@饅頭家的花卷。

書(shū)籍目錄

第1章 緒論 
1.1 Android是什么 
1.2 Android的優(yōu)勢(shì) 
1.3 本書(shū)范圍 
1.3.1 本書(shū)所涉及的內(nèi)容 
1.3.2 本書(shū)未涉及的內(nèi)容 
1.4 下載SDK工具 
1.4.1 Java 
1.4.2 Eclipse 
1.4.3 Android SDK 
1.5 小結(jié) 
第2章 本書(shū)內(nèi)容梗概 
2.1 Android集成開(kāi)發(fā)環(huán)境 
2.2 Java、XML以及Android的工作原理 
2.3 Android應(yīng)用程序框架 
2.4 屏幕布局設(shè)計(jì) 
2.5 用戶界面設(shè)計(jì) 
2.6 圖像與動(dòng)畫(huà)設(shè)計(jì) 
2.7 交互性 
2.8 內(nèi)容提供器 
2.9 Intent和Intent過(guò)濾器 
2.10 Android的未來(lái) 
2.11 小結(jié) 
第3章 配置Android開(kāi)發(fā)環(huán)境 
3.1 安裝Java、Eclipse和Android 
3.1.1 Java SE和JRE:應(yīng)用程序開(kāi)發(fā)的基礎(chǔ) 
3.1.2 Eclipse IDE:開(kāi)發(fā)環(huán)境 
3.1.3 Android SDK:用于Eclipse的Android工具包 
3.1.4 Android開(kāi)發(fā)工具:用于Eclipse的Android工具 
3.1.5 Eclipse中的Android環(huán)境 
3.2 升級(jí)Android SDK 
3.3 配置AVD與智能手機(jī)連接 
3.3.1 AVD:智能手機(jī)模擬器 
3.3.2 USB智能手機(jī)驅(qū)動(dòng)程序:外部設(shè)備 
3.4 在64位平臺(tái)上進(jìn)行開(kāi)發(fā) 
3.5 小結(jié) 
第4章 Android軟件開(kāi)發(fā)平臺(tái)介紹 
4.1 了解Java SE與Dalvik虛擬機(jī) 
4.2 Android工程的目錄結(jié)構(gòu) 
4.2.1 典型的默認(rèn)資源目錄 
4.2.2 Values目錄 
4.3 用好Android XML(你的秘密武器) 
4.3.1 屏幕尺寸 
4.3.2 桌面時(shí)鐘 
4.4 使用Android應(yīng)用程序資源 
4.4.1 位圖圖片 
4.4.2 可選資源目錄 
4.5 啟動(dòng)應(yīng)用程序:AndroidManifest.xml文件 
4.6 創(chuàng)建第一個(gè)Android應(yīng)用 
4.6.1 啟動(dòng)Eclipse 
4.6.2 創(chuàng)建一個(gè)Android工程 
4.6.3 查看并編輯應(yīng)用程序文件 
4.6.4 在strings.xml中設(shè)置一個(gè)變量的值 
4.6.5  運(yùn)行應(yīng)用 
4.6.6 添加應(yīng)用程序圖標(biāo) 
4.7 小結(jié) 
第5章 Android框架概覽 
5.1 OOP的基礎(chǔ):對(duì)象 
5.1.1 一些OOP術(shù)語(yǔ) 
5.1.2 對(duì)象的設(shè)計(jì)圖:類 
5.1.3 為類賦予結(jié)構(gòu):繼承 
5.1.4 定義接口 
5.1.5 將類組織起來(lái):包 
5.2 XML概覽 
5.3 剖析Android應(yīng)用程序:APK文件 
5.4 Android應(yīng)用程序組件 
5.4.1 Android活動(dòng):定義UI 
5.4.2 Android服務(wù):后臺(tái)處理 
5.4.3 廣播接收器:消息和通知 
5.4.4 內(nèi)容提供器:數(shù)據(jù)管理 
5.5 Android Intent對(duì)象:組件的通信 
5.6 Android Manifest XML:組件的聲明 
5.7 小結(jié) 
第6章 屏幕布局設(shè)計(jì):視圖與布局 
6.1 Android視圖結(jié)構(gòu) 
6.1.1 使用View類 
6.1.2 嵌套視圖:使用ViewGroup類 
6.2 定義屏幕布局:使用XML 
6.2.1 配置屏幕布局 
6.2.2 使用線性布局 
6.2.3 使用相對(duì)布局 
6.2.4 滑動(dòng)抽屜:擴(kuò)展你的UI 
6.2.5 在視圖和布局中使用內(nèi)外邊距和外外邊距 
6.2.6 在View中設(shè)置內(nèi)邊距 
6.2.7 在ViewGroup中設(shè)置外邊距 
6.3 小結(jié) 
第7章 按鈕、菜單與對(duì)話框 
7.1 使用常見(jiàn)的UI元素 
7.1.1 為布局添加圖像按鈕 
7.1.2 為布局添加文本 
7.1.3 添加圖片 
7.2 使用菜單 
7.2.1 用XML創(chuàng)建菜單結(jié)構(gòu) 
7.2.2 定義菜單項(xiàng)文本 
7.2.3 通過(guò)Java載入菜單結(jié)構(gòu) 
7.2.4 在Android模擬器中運(yùn)行應(yīng)用 
7.2.5 讓菜單發(fā)揮作用 
7.3 添加對(duì)話框 
7.3.1 使用自定義對(duì)話框子類 
7.3.2 顯示警告對(duì)話框 
7.4 小結(jié) 
第8章 Android圖像資源介紹 
8.1 圖像資源簡(jiǎn)介 
8.1.1 調(diào)用圖片 
8.1.2 核心圖像資源子類 
8.2 使用位圖 
8.2.1 PNG圖片 
8.2.2 JPEG和GIF圖片 
8.3 創(chuàng)建動(dòng)畫(huà) 
8.3.1 基于幀的2D動(dòng)畫(huà) 
8.3.2 補(bǔ)間動(dòng)畫(huà) 
8.4 使用過(guò)渡 
8.5 創(chuàng)建9-Patch自定義伸縮圖片 
8.6 播放視頻 
8.6.1 添加VideoView對(duì)象 
8.6.2 為視頻添加Java代碼 
8.7 小結(jié) 
第9章 增加交互性:處理UI事件 
9.1 UI事件概述 
9.1.1 監(jiān)聽(tīng)及處理事件 
9.1.2 通過(guò)View類處理UI事件 
9.1.3 事件回調(diào)方法 
9.2 處理onClick事件 
9.2.1 為UI元素實(shí)現(xiàn)onClick監(jiān)聽(tīng)器 
9.2.2 向活動(dòng)添加onClick監(jiān)聽(tīng)器 
9.3 Android觸摸屏事件:onTouch 
9.4 觸屏版右鍵點(diǎn)擊:onLongClick 
9.5 鍵盤(pán)事件監(jiān)聽(tīng)器:onKeyUp和onKeyDown 
9.5.1 添加用于鍵盤(pán)事件的XML代碼 
9.5.2 添加用于鍵盤(pán)事件的Java代碼 
9.6 上下文菜單:onCreateContextMenu 
9.6.1 添加用于上下文菜單的XML代碼 
9.6.2 添加用于上下文菜單的Java代碼 
9.7 焦點(diǎn)控制 
9.7.1 添加用于焦點(diǎn)控制的XML代碼 
9.7.2 添加用于焦點(diǎn)控制的Java代碼 
9.7.3 設(shè)置焦點(diǎn)可用性 
9.8 小結(jié) 
第10章 了解內(nèi)容提供器 
10.1 Android內(nèi)容提供器概述 
10.1.1 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng) 
10.1.2 Android內(nèi)置內(nèi)容提供器 
10.2 定義內(nèi)容提供器 
10.2.1 在Eclipse中創(chuàng)建內(nèi)容提供器示例 
10.2.2 定義安全權(quán)限 
10.2.3 向聯(lián)系人數(shù)據(jù)庫(kù)添加數(shù)據(jù) 
10.3 操作數(shù)據(jù)庫(kù) 
10.3.1 查詢內(nèi)容提供器 
10.3.2 向內(nèi)容提供器添加數(shù)據(jù) 
10.3.3 修改內(nèi)容提供器數(shù)據(jù) 
10.3.4 刪除內(nèi)容提供器數(shù)據(jù) 
10.4 小結(jié) 
第11章 了解Intent和Intent過(guò)濾器 
11.1 什么是Intent 
11.2 通過(guò)Intent對(duì)象傳遞消息 
11.3 Intent解析:顯式Intent和隱式Intent 
11.3.1 顯式Intent 
11.3.2 隱式Intent 
11.4 在活動(dòng)中使用Intent 
11.4.1 編寫(xiě)數(shù)字時(shí)鐘活動(dòng) 
11.4.2 連接到應(yīng)用程序 
11.4.3 發(fā)送Intent 
11.5 Android服務(wù):在自己的類中處理數(shù)據(jù) 
11.5.1 在服務(wù)中使用Intent 
11.5.2 創(chuàng)建服務(wù) 
11.5.3 實(shí)現(xiàn)媒體播放功能 
11.5.4 將按鈕連接到服務(wù) 
11.5.5 運(yùn)行應(yīng)用程序 
11.6 在廣播接收器中使用Intent 
11.6.1 用XML創(chuàng)建定時(shí)器用戶界面 
11.6.2 創(chuàng)建一個(gè)定時(shí)廣播接收器 
11.6.3 配置AndroidManifest.xml文件的標(biāo)簽 
11.6.4 實(shí)現(xiàn)Intent 
11.6.5 在Android 1.5模擬器中運(yùn)行定時(shí)器應(yīng)用程序 
11.7 小結(jié) 
第12章 探索未來(lái) 
12.1 創(chuàng)建自定義部件 
12.2 位置服務(wù) 
12.3 Google地圖 
12.4 Google搜索 
12.5 數(shù)據(jù)存儲(chǔ) 
12.5.1 共享配置選項(xiàng) 
12.5.2 內(nèi)部存儲(chǔ) 
12.5.3 外部存儲(chǔ) 
12.5.4 使用SQLite 
12.6 設(shè)備管理:IT安全部署 
12.7 用Camera類控制攝像頭 
12.8 3D圖形:使用OpenGL ES 1.x 
12.9 面部識(shí)別 
12.10 音頻池 
12.11 媒體錄制 
12.12 小結(jié) 

章節(jié)摘錄

版權(quán)頁(yè):   插圖:   5.4.4內(nèi)容提供器:數(shù)據(jù)管理 Android中的內(nèi)容提供器可以在需要的情況下,讓你的應(yīng)用程序以及其他應(yīng)用程序訪問(wèn)某些數(shù)據(jù)。這些數(shù)據(jù)可以是你自己的應(yīng)用程序所創(chuàng)建的,也可以是你的應(yīng)用程序可以訪問(wèn),但是由其他應(yīng)用程序甚至是Android手機(jī)工具所創(chuàng)建的。你的應(yīng)用程序也可以將所創(chuàng)建的數(shù)據(jù)開(kāi)放給其他應(yīng)用程序進(jìn)行訪問(wèn)。內(nèi)容提供器組件功能強(qiáng)大,且十分靈活。 舉個(gè)例子,Android手機(jī)工具可以使用內(nèi)容提供器來(lái)訪問(wèn)智能手機(jī)中保存的通訊錄數(shù)據(jù)庫(kù)。Android中帶有一些內(nèi)置的內(nèi)容提供器數(shù)據(jù)庫(kù),包括通訊錄、照片、音樂(lè)和視頻。通過(guò)編寫(xiě)代碼,這些數(shù)據(jù)就可以由手機(jī)系統(tǒng)工具,或者是你的應(yīng)用程序來(lái)訪問(wèn)。 內(nèi)容提供器的數(shù)據(jù)可以保存在手機(jī)SD卡的文件系統(tǒng)中,也可以保存在遠(yuǎn)程HTTPH艮務(wù)器中,或者是在一個(gè)合適的數(shù)據(jù)庫(kù)中。在Android中,推薦使用最后一種方式來(lái)保存和訪問(wèn)數(shù)據(jù),你將在第10章中看到它是如何工作的,屆時(shí)我們會(huì)介紹如何使用內(nèi)容提供器。 要?jiǎng)?chuàng)建自己的內(nèi)容提供器,可以派生ContentProvider類,這個(gè)類實(shí)現(xiàn)了一套標(biāo)準(zhǔn)的方法,用來(lái)保存和獲取數(shù)據(jù)。應(yīng)用程序可以通過(guò)一個(gè)ContentResolver對(duì)象來(lái)訪問(wèn)你的ContentProvider類中所定義的方法,ContentResolver對(duì)象用于和內(nèi)容提供器進(jìn)行溝通,并獲取應(yīng)用程序所需的數(shù)據(jù)。 內(nèi)容提供器在接收到來(lái)自內(nèi)容解析器的數(shù)據(jù)請(qǐng)求時(shí)才會(huì)被激活。另外三種組件——活動(dòng)、服務(wù)和廣播接收器——?jiǎng)t由被稱為Intent的異步消息來(lái)激活,接下來(lái)我們就來(lái)看看Intent。 5.5 Android Intent對(duì)象:組件的通信 Andorid中的Intent對(duì)象承載了在模塊間傳送的消息,基本上用于啟動(dòng)這些模塊或者對(duì)它們發(fā)送新的任務(wù)指令。對(duì)于活動(dòng)和服務(wù),Intent對(duì)象提供了一個(gè)需要執(zhí)行的動(dòng)作以及執(zhí)行這個(gè)動(dòng)作所需要的數(shù)據(jù),可能還包括更復(fù)雜的操作所需的詳細(xì)附加信息。 對(duì)于每種類型的Androi組件(活動(dòng)、服務(wù)和廣播接收器),需要使用一些不同的方法來(lái)接收傳遞給它的Intent對(duì)象。因此,Intent對(duì)象很容易區(qū)分清楚并且定義明確,因?yàn)樗鼈儗?duì)于每種類型的Android組件來(lái)說(shuō)都是不同的。 這些組件將會(huì)像下面這樣使用Intent對(duì)象中的方法: 通過(guò)將一個(gè)Intent對(duì)象傳遞給Context.startActivity()方法可以啟動(dòng)一個(gè)活動(dòng),或者如果這個(gè)活動(dòng)已經(jīng)被啟動(dòng)了,則賦予它一個(gè)新的任務(wù)。Activity類可以通過(guò)getIntent()方法來(lái)查看Intent對(duì)象中的內(nèi)容,并通過(guò)0nNewIntent()方法來(lái)查看后續(xù)的Intent對(duì)象。 通過(guò)將一個(gè)Intent對(duì)象傳遞給Context.startService()方法可以啟動(dòng)一個(gè)AndroidH艮務(wù)組件,接下來(lái)將會(huì)調(diào)用服務(wù)類中的0nStart()方法,并將包含服務(wù)要執(zhí)行的動(dòng)作和所需數(shù)據(jù)的Intent對(duì)象傳遞給它。 如果服務(wù)已經(jīng)在運(yùn)行,且Intent對(duì)象中包含新的指令,則這個(gè)Intent會(huì)被傳遞給Context.bindService()方法,用來(lái)在服務(wù)和調(diào)用它的組件之間建立一個(gè)打開(kāi)的連接。這種在代碼模塊間一直打開(kāi)的實(shí)時(shí)連接,在編程中通常被稱為“綁定”(Binding)。 通過(guò)將一個(gè)Intent對(duì)象傳遞給Context.sendBroadcast()方法,或者Context.sendOrdered—Broadcast()以及Context.sendstickyBroadcast()方法,可以啟動(dòng)一個(gè)Android廣播接收器組件。這里的Intent對(duì)象包含需要執(zhí)行的動(dòng)作,以及執(zhí)行該動(dòng)作所需的數(shù)據(jù)(消息)。 我們將在第11章中詳細(xì)介紹如何對(duì)活動(dòng)來(lái)使用Intent對(duì)象。

媒體關(guān)注與評(píng)論

“我以前買的介紹Java和Android的書(shū)都默認(rèn)讀者已經(jīng)了解了OOP的知識(shí),而本書(shū)是面向編程初學(xué)者的,像我這樣不了解Java的人也完全看得懂。如果你也沒(méi)有編程基礎(chǔ),想從事Android編程,那么本書(shū)就是你的最佳選擇!”——亞馬遜讀者評(píng)論“本書(shū)是進(jìn)入Android應(yīng)用開(kāi)發(fā)領(lǐng)域的絕佳入門(mén)手冊(cè)!內(nèi)容淺顯易懂,例子一學(xué)就會(huì),閱讀的過(guò)程一定會(huì)讓你受益良多!”——亞馬遜讀者評(píng)論

編輯推薦

零基礎(chǔ) 輕松學(xué)會(huì)Android應(yīng)用開(kāi)發(fā)巧入門(mén) 從容探索移動(dòng)開(kāi)發(fā)新世界大視野 助力Android新起跑線

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    Android應(yīng)用開(kāi)發(fā)入門(mén) PDF格式下載


用戶評(píng)論 (總計(jì)40條)

 
 

  •   Android開(kāi)發(fā)入門(mén)很好的教材,只是系統(tǒng)和軟件平臺(tái)有點(diǎn)老了。
  •   因?yàn)槭且槐救腴T(mén)書(shū)籍,所以里面的講解還是很淺顯易懂的,面對(duì)的是無(wú)基礎(chǔ)的人看的,書(shū)中的例子也都很簡(jiǎn)單,新手看的話還是很值得推薦的。同樣也是因?yàn)槭侨腴T(mén)書(shū)籍,所以很多東西都沒(méi)有講到,想要在深入研究的話可以買一本《精通Android》之類的書(shū)。還要吐槽一句,這本書(shū)是在是太薄了,出乎意料......
  •   適合初級(jí)開(kāi)發(fā)人員,很實(shí)用,按照一步一步做應(yīng)該可以學(xué)會(huì)開(kāi)發(fā)
  •   絕對(duì)的新手入門(mén),連JAVA的基礎(chǔ)都不需要
  •   適合入門(mén)級(jí)的,前期看看,學(xué)習(xí)下
  •   適合初學(xué)者使用。建議有java基礎(chǔ)的學(xué)
  •   非常適合入門(mén)的一本書(shū)
  •   入門(mén)確實(shí)不錯(cuò),很快上手
  •   這本書(shū)看來(lái)是極好的.非常清楚.書(shū)里開(kāi)篇就說(shuō)這本書(shū)涉及什么,不涉及什么,特別適用于完全不知道JAVA的人....
  •   簡(jiǎn)單易懂,很適合零基礎(chǔ)的朋友
  •   挺適合初學(xué)者的,例子比較詳細(xì)。
  •   內(nèi)容很充實(shí),很值得希望入手的朋友們一看。
  •   書(shū)很好,就是角有點(diǎn)折,內(nèi)容還算是滿意,介紹的詳細(xì)
  •   可以結(jié)合網(wǎng)上視頻
  •   就是發(fā)貨速度有些慢,書(shū)不錯(cuò)
  •   書(shū)很好,正品,已經(jīng)在當(dāng)當(dāng)網(wǎng)購(gòu)物很多次了
  •   此書(shū)一般,初級(jí)者入
  •   本書(shū)原本不打算現(xiàn)在就讀,收到書(shū)后,隨手翻了幾頁(yè),結(jié)果忍不住一口氣讀了3章。
  •   不錯(cuò)。感覺(jué)不錯(cuò)
  •   由淺到深,很容易理解,寫(xiě)的不錯(cuò),是本好書(shū)。
  •   物流挺快的,書(shū)也沒(méi)有破損,很不錯(cuò)
  •   入門(mén)級(jí)的書(shū),可以翻翻
  •   書(shū)里面的版本比網(wǎng)上的要落后一點(diǎn),不過(guò)還是比較新
  •   適合菜鳥(niǎo)級(jí)人物,學(xué)習(xí)中
  •   看了這本書(shū),只用了一周不到的時(shí)間就看完了,全文沒(méi)什么難點(diǎn),都很初級(jí),適合新手看看,還可以。
  •   還是挺不錯(cuò)的,以后還會(huì)在買
  •   完全不適合零基礎(chǔ)的初學(xué)者閱讀,不知道是否翻譯的問(wèn)題,,書(shū)中所說(shuō)的各種基本概念術(shù)語(yǔ)變得極其晦澀難懂
  •   從零基礎(chǔ)開(kāi)始講解,就是軟件版本太舊了,很多地方有點(diǎn)過(guò)時(shí)。
  •   還不錯(cuò)偶,這就是圖鈴出品
  •   思路可以被放大,很受益!
  •   這本書(shū)給了很多初學(xué)者,尤其是真正零基礎(chǔ)的初學(xué)者一個(gè)很好的參考
  •   8錯(cuò),是一個(gè)好東西,而且物流效率也很好。
  •   這本書(shū)不適合新手看, 而且講的不夠全面. 一些知識(shí)直接帶過(guò). 別買了..兼容1.5版本的..總之, 看了這本書(shū)入門(mén).心里很蛋疼...
  •   很一般,這些知識(shí)隨便在網(wǎng)路上都有搜到的.
  •   一直看“圖靈”,感覺(jué)很有收獲,不過(guò)建議初學(xué)者看看別的系列
  •   剛拿到,不知道里面的內(nèi)容怎么樣,但是書(shū)的質(zhì)量不好
  •   入門(mén)好書(shū)!非常適合沒(méi)有任何基礎(chǔ)的人員學(xué)習(xí)android編程和操作,可快速入門(mén)!
  •   剛買到還沒(méi)看,希望物有所值。
  •   很實(shí)用很實(shí)用的專業(yè)書(shū)籍 易讀懂
  •   很好123
 

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

京ICP備13047387號(hào)-7