Android應(yīng)用開發(fā)入門

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

前言

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

內(nèi)容概要

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

作者簡(jiǎn)介

  Wallace Jackson Mind Taffy Design公司首席執(zhí)行官。Mind
Taffy創(chuàng)立于1991年,是一家從事新媒體內(nèi)容設(shè)計(jì)和制作的公司。在過去20多年里,Wallace一直引領(lǐng)i3D和富媒體應(yīng)用設(shè)計(jì)領(lǐng)域的潮流,使用不超過512KB的數(shù)據(jù)容量來制作病毒式傳播的數(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、編程愛好者,自稱偽Geek,初中時(shí)曾在NOI(國(guó)家信息學(xué)奧賽)天津賽區(qū)獲一等獎(jiǎng)。大學(xué)學(xué)習(xí)語(yǔ)言,畢業(yè)后曾任IT系統(tǒng)咨詢顧問,精通英語(yǔ)和日語(yǔ),譯著有《30天自制操作系統(tǒng)》。新浪微博:@饅頭家的花卷。

書籍目錄

第1章 緒論 
1.1 Android是什么 
1.2 Android的優(yōu)勢(shì) 
1.3 本書范圍 
1.3.1 本書所涉及的內(nèi)容 
1.3.2 本書未涉及的內(nèi)容 
1.4 下載SDK工具 
1.4.1 Java 
1.4.2 Eclipse 
1.4.3 Android SDK 
1.5 小結(jié) 
第2章 本書內(nèi)容梗概 
2.1 Android集成開發(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)畫設(shè)計(jì) 
2.7 交互性 
2.8 內(nèi)容提供器 
2.9 Intent和Intent過濾器 
2.10 Android的未來 
2.11 小結(jié) 
第3章 配置Android開發(fā)環(huán)境 
3.1 安裝Java、Eclipse和Android 
3.1.1 Java SE和JRE:應(yīng)用程序開發(fā)的基礎(chǔ) 
3.1.2 Eclipse IDE:開發(fā)環(huán)境 
3.1.3 Android SDK:用于Eclipse的Android工具包 
3.1.4 Android開發(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)行開發(fā) 
3.5 小結(jié) 
第4章 Android軟件開發(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 將類組織起來:包 
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 使用常見的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 通過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)畫 
8.3.1 基于幀的2D動(dòng)畫 
8.3.2 補(bǔ)間動(dòng)畫 
8.4 使用過渡 
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)聽及處理事件 
9.1.2 通過View類處理UI事件 
9.1.3 事件回調(diào)方法 
9.2 處理onClick事件 
9.2.1 為UI元素實(shí)現(xiàn)onClick監(jiān)聽器 
9.2.2 向活動(dòng)添加onClick監(jiān)聽器 
9.3 Android觸摸屏事件:onTouch 
9.4 觸屏版右鍵點(diǎn)擊:onLongClick 
9.5 鍵盤事件監(jiān)聽器:onKeyUp和onKeyDown 
9.5.1 添加用于鍵盤事件的XML代碼 
9.5.2 添加用于鍵盤事件的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過濾器 
11.1 什么是Intent 
11.2 通過Intent對(duì)象傳遞消息 
11.3 Intent解析:顯式Intent和隱式Intent 
11.3.1 顯式Intent 
11.3.2 隱式Intent 
11.4 在活動(dòng)中使用Intent 
11.4.1 編寫數(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章 探索未來 
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)用程序訪問某些數(shù)據(jù)。這些數(shù)據(jù)可以是你自己的應(yīng)用程序所創(chuàng)建的,也可以是你的應(yīng)用程序可以訪問,但是由其他應(yīng)用程序甚至是Android手機(jī)工具所創(chuàng)建的。你的應(yīng)用程序也可以將所創(chuàng)建的數(shù)據(jù)開放給其他應(yīng)用程序進(jìn)行訪問。內(nèi)容提供器組件功能強(qiáng)大,且十分靈活。 舉個(gè)例子,Android手機(jī)工具可以使用內(nèi)容提供器來訪問智能手機(jī)中保存的通訊錄數(shù)據(jù)庫(kù)。Android中帶有一些內(nèi)置的內(nèi)容提供器數(shù)據(jù)庫(kù),包括通訊錄、照片、音樂和視頻。通過編寫代碼,這些數(shù)據(jù)就可以由手機(jī)系統(tǒng)工具,或者是你的應(yīng)用程序來訪問。 內(nèi)容提供器的數(shù)據(jù)可以保存在手機(jī)SD卡的文件系統(tǒng)中,也可以保存在遠(yuǎn)程HTTPH艮務(wù)器中,或者是在一個(gè)合適的數(shù)據(jù)庫(kù)中。在Android中,推薦使用最后一種方式來保存和訪問數(shù)據(jù),你將在第10章中看到它是如何工作的,屆時(shí)我們會(huì)介紹如何使用內(nèi)容提供器。 要?jiǎng)?chuàng)建自己的內(nèi)容提供器,可以派生ContentProvider類,這個(gè)類實(shí)現(xiàn)了一套標(biāo)準(zhǔn)的方法,用來保存和獲取數(shù)據(jù)。應(yīng)用程序可以通過一個(gè)ContentResolver對(duì)象來訪問你的ContentProvider類中所定義的方法,ContentResolver對(duì)象用于和內(nèi)容提供器進(jìn)行溝通,并獲取應(yīng)用程序所需的數(shù)據(jù)。 內(nèi)容提供器在接收到來自內(nèi)容解析器的數(shù)據(jù)請(qǐng)求時(shí)才會(huì)被激活。另外三種組件——活動(dòng)、服務(wù)和廣播接收器——?jiǎng)t由被稱為Intent的異步消息來激活,接下來我們就來看看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ù)和廣播接收器),需要使用一些不同的方法來接收傳遞給它的Intent對(duì)象。因此,Intent對(duì)象很容易區(qū)分清楚并且定義明確,因?yàn)樗鼈儗?duì)于每種類型的Android組件來說都是不同的。 這些組件將會(huì)像下面這樣使用Intent對(duì)象中的方法: 通過將一個(gè)Intent對(duì)象傳遞給Context.startActivity()方法可以啟動(dòng)一個(gè)活動(dòng),或者如果這個(gè)活動(dòng)已經(jīng)被啟動(dòng)了,則賦予它一個(gè)新的任務(wù)。Activity類可以通過getIntent()方法來查看Intent對(duì)象中的內(nèi)容,并通過0nNewIntent()方法來查看后續(xù)的Intent對(duì)象。 通過將一個(gè)Intent對(duì)象傳遞給Context.startService()方法可以啟動(dòng)一個(gè)AndroidH艮務(wù)組件,接下來將會(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()方法,用來在服務(wù)和調(diào)用它的組件之間建立一個(gè)打開的連接。這種在代碼模塊間一直打開的實(shí)時(shí)連接,在編程中通常被稱為“綁定”(Binding)。 通過將一個(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)來使用Intent對(duì)象。

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

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

編輯推薦

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

圖書封面

圖書標(biāo)簽Tags

無(wú)

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


    Android應(yīng)用開發(fā)入門 PDF格式下載


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

 
 

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

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

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