大中專實訓教材之Android手機閱讀器_第1頁
大中專實訓教材之Android手機閱讀器_第2頁
大中專實訓教材之Android手機閱讀器_第3頁
大中專實訓教材之Android手機閱讀器_第4頁
大中專實訓教材之Android手機閱讀器_第5頁
已閱讀5頁,還剩114頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Android手機閱讀器》

目錄

第一章項目四5

1.1功能介紹5

1.1.1功能概述5

1.1.2需求分析5

1.1.3效果演示6

1.2開發(fā)平臺和技術(shù)11

1.3培養(yǎng)目標崗位15

1.4企業(yè)實習技能要求15

第二章項目實施(按階段)15

2.1開發(fā)環(huán)境搭建15

2.1.1任務(wù)說明15

2.1.2知識點簡介16

2.1.3教學課時錯誤!未定義書簽。

2.1.4實施步驟18

2.2開發(fā)AndroidHelloWorld26

2.2.1彳鎊說明26

2.2.2知識點簡介26

2.2.3教學課時錯誤!未定義書簽。

2.2.4實施步驟29

2.3手機閱讀器主界面開發(fā)35

2.3.1彳鎊說明35

2.3.2知識點簡介35

2.3.3教學課時錯誤!未定義書簽。

2.3.4實施步驟38

2.4添加目錄功能開發(fā)49

2.4.1任務(wù)說明49

2.4.2知識點簡介50

2.4.3教學課時錯誤!未定義書簽。

2.4.4實施步驟60

2.5刪除目錄功能開發(fā)74

2.5.1彳甥說明74

2.5.2知識點簡介74

2.5.3教學課時74

2.5.4實施步驟77

2.6添加圖書功能開發(fā)82

2.6.1彳鎊說明82

2.6.2知識點簡介82

2.6.3教學課時錯誤!未定義書簽。

2.6.4實施步驟82

2.7刪除圖書功能開發(fā)89

2.7.1任務(wù)說明89

2.7.2知識點簡介89

2.7.3教學課時錯誤!未定義書簽。

2.7.4實施步驟89

2.8閱讀txt圖書功能開發(fā)96

2.8.1任務(wù)說明96

2.8.2知識點簡介96

2.8.3教學課時錯誤!未定義書簽。

2.8.4實施步驟96

2.9系統(tǒng)配置功能開發(fā)108

2.9.1彳鎊說明108

2.9.2知識點簡介108

2.9.3教學課時108

2.9.4實施步驟108

2.10系統(tǒng)發(fā)布與測試115

2.10.1彳鎊說明115

2.10.2知識點簡介116

2.10.3教學課時錯誤!未定義書簽。

2.10.4實施步驟116

第一章項目介紹

1.1功能介紹

1.1.1功能概述

手機閱讀器主要功能為:添加目錄,刪除目錄,添加圖書,刪除圖書,查看txt文件圖

書,查看PDF文件圖書,查看WORD文件圖書,查看RSS訂閱新聞。

1.1.2需求分析

添加目錄:用戶能夠?qū)κ謾C上的所有圖書進行分類管理,能夠添加圖書的目錄。

刪除目錄:用戶能夠?qū)Σ挥玫哪夸涍M行刪除。

添加圖書:用戶能把在手機上存儲的圖書地址添加到閱讀器的圖書目錄中。

刪除圖書:用戶能把圖書目錄中的圖書刪除,僅僅只是刪除列表,并不真正刪除圖書文件。

查看圖書:用戶能夠打開txt、pdf、doc格式的電子圖書,并且能夠訂閱rss文章

1.1.3效果演示

?Android手機操作系統(tǒng)界面

?手機閱讀器主界面

珥2:14AM

?進入閱讀器主界面

?添加目錄功能界面

BRDe上午9:o2

?添加圖書

哥HD?上午9:03

?閱讀圖書

疆8D0上午9:03[

閱讀器

第一卷第一章字數(shù):3501

?第一章

那天,出去散步是不可能了。其

實,早上我們還在光禿禿的灌木林中

溜達了一個小時,但從午飯時起(無

客造訪時,里德太太很早就用午

飯)便刮起了冬日凜冽的寒風,隨后

陰云密布,大雨滂沱,室外的活動也

就只能作罷了。

我倒是求之不得。我向來不喜歡遠

距離散步,尤其在冷颼颼的下午。試

想,陰冷的薄暮時分回得家來,手腳

都凍僵了,還要受到保姆貝茵的數(shù)

落,又自覺體格不如伊麗莎、約翰和

喬治亞娜,心里既難過又慚愧,那情

私至電擊次--「,門胃

下一直

?系統(tǒng)設(shè)置

留血旗上午9:10[

藏書格

?書籍搜索

?歷史記錄

1.2開發(fā)平臺和技術(shù)

本項目是基于當今最流行的Android手機操作系統(tǒng)開發(fā)的一套在手機上運行,對

word、pdf、txt、rss等電子書進行閱讀的軟件。

?Android手機操作系統(tǒng)平臺簡介

Android是基于Linux內(nèi)核的操作系統(tǒng),是Google公司在2007年11月5日公布的

手機操作系統(tǒng)。早期由原名為"Android"的公司開發(fā),谷歌在2005年收購"Android.Inc”

后,繼續(xù)進行對Android系統(tǒng)開發(fā)運營,它采用了軟件堆層(softwarestack,又名軟件

疊層)的架構(gòu),主要分為三部分。底層Linux內(nèi)核只提供基本功能,其他的應(yīng)用軟件則由各

公司自行開發(fā),部分程序以Java編寫。

2011年初數(shù)據(jù)顯示,僅正式上市兩年的操作系統(tǒng)Android已經(jīng)超越稱霸十年的塞班系

統(tǒng),使之躍居全球最受歡迎的智能手機平臺。現(xiàn)在,Android系統(tǒng)不但應(yīng)用于智能手機,

也在平板電腦市場急速擴張。采用Android系統(tǒng)主要廠商包括臺灣的HTC,(第一臺谷歌的

手機G1由HTC生產(chǎn)代工)美國摩托羅拉,SE等,另外還有中國大陸廠商如:華為、中興、

聯(lián)想等。

?特性

■應(yīng)用程序框架支持組件的重用與替換

■Dalvik虛擬機專為移動設(shè)備優(yōu)化

■集成的瀏覽器基于開源的WebKit弓摩

■優(yōu)化的圖形庫包括定制的2D圖形庫,3D圖形庫基于OpenGLES1.0(硬

件加速可選)

■SQLite用作結(jié)構(gòu)化的數(shù)據(jù)存儲

■多媒體支持包括常見的音頻、視頻和靜態(tài)圖像格式(如MPEG4,H.264,MP3,

AAC,AMR,JPG,PNG,GIF)

■GSM電話技術(shù)(依賴于硬件)

■藍牙Bluetooth,EDGE,3G,和WiFi(依賴于硬件)

■照相機,GPS,指南針,和加速度計(accelerometer)(依賴于硬件)

■豐富的開發(fā)環(huán)境包括設(shè)備模擬器,調(diào)試工具,內(nèi)存及性能分析圖表,和Eclipse

集成開發(fā)環(huán)境插件

?Android應(yīng)用程序

Android會同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括email客戶端,

SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA

語言編寫的。

?Android應(yīng)用程序框架

開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計簡

化了組件的重用;任何一個應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以

使用其所發(fā)布的功能塊(不過得遵循框架的安全性限制\同樣,該應(yīng)用程序重用機制也使

用戶可以方便的替換程序組件。隱藏在每個應(yīng)用后面的是一系列的服務(wù)和系統(tǒng),其中包括;

?豐富而又可擴展的視圖(Views),可以用來構(gòu)建應(yīng)用程序,它包括列表(lists),網(wǎng)

格(grids),文本框(textboxes),按鈕(buttons),甚至可嵌入的web瀏覽器。

?內(nèi)容提供器(ContentProviders)使得應(yīng)用程序可以訪問另一個應(yīng)用程序的數(shù)據(jù)(如

聯(lián)系人數(shù)據(jù)庫),或者共享它們自己的數(shù)據(jù)

?資源管理器(ResourceManager)提供非代碼資源的訪問,如本地字符串,圖形,

和布局文件(layoutfilesX

?通知管理器(NotificationManager)使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的

提ZE信息。

?活動管理器(ActivityManager)用來管理應(yīng)用程序生命周期并提供常用的導航

回退功能。

?Android程序庫

Android包含一些C/C++庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通

過Android應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些核心庫:

?系統(tǒng)C庫-一個從BSD繼承來的標準C系統(tǒng)函數(shù)庫(libc),它是專門為基于

embeddedlinux的設(shè)備定制的。

?媒體庫-基于PacketvideoOpenCORE;該庫支持多種常用的音頻、視頻格式回放

和錄制,同時支持靜態(tài)圖像文件。編碼格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,

PNGo

?SurfacSurfaceManager-對顯示子系統(tǒng)的管理,并且為多個應(yīng)用程序提供了2D

和3D圖層的無縫融合。

.LibWebCore-一個最新的web瀏覽器引擎用,支持Android瀏覽器和一個可嵌

入的web視圖。

?SGL-底層的2D圖形引擎

?3Dlibraries-基于OpenGLES1.0APIs實現(xiàn);該庫可以使用硬件3D加速(如果

可用)或者使用高度優(yōu)化的3D軟加速。

?FreeType-位圖(bitmap)和矢量(vector)字體顯示。

?SQLite-一個對于所有應(yīng)用程序可用,功能強勁的輕型關(guān)系型數(shù)據(jù)庫引擎。

?Android運行庫

Android包括了一個核心庫,該核心庫提供了JAVA編程語言核心庫的大多數(shù)功能。

每一個Android應(yīng)用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬

機實例。Dalvik被設(shè)計成一個設(shè)備可以同時高效地運行多個虛擬系統(tǒng)。Dalvik虛擬機執(zhí)行

(.dex)的Dalvik可執(zhí)行文件,該格式文件針對小內(nèi)存使用做了優(yōu)化。同時虛擬機是基于

寄存器的所有的類都經(jīng)由JAVA編譯器編譯然后通過SDK中的”dx"工具轉(zhuǎn)化成.dex格

式由虛擬機執(zhí)行。

Dalvik虛擬機依賴于linux內(nèi)核的一些功能,比如線程機制和底層內(nèi)存管理機制。

?Linux內(nèi)核

Android的核心系統(tǒng)服務(wù)依賴于Linux2.6內(nèi)核,如安全性,內(nèi)存管理,進程管理,網(wǎng)

絡(luò)協(xié)議棧和驅(qū)動模型。

Linux內(nèi)核也同時作為硬件和軟件棧之間的抽象層。

?Android系統(tǒng)構(gòu)架

APPLICATIONS

HomeConacttPhoneBrowser

APPLICATIONFRAMEWORK

WrdowContentViewNotification

Actmty巾n廄r.說對ProvidersS/scemManager

小加呻”盟器盟潞吟XHPP^e

LIBRARIESANDROIDRUNTIME

SurfaceMroger—MediaSQLiteCoreLibraries

Framework

OpenGL|ESFreelypeWfebKic

Machi"

SGISSLlibc

LINUXKERNEL

DisplayGwnoraDnverBlueioixhFlashMemoryBrdcr(IPC)

DnverDnverDnverDnver

AudioPower

USBDriverKeypadDriverWiFiDriver

DriversManajjemenc

1.3培養(yǎng)目標崗位

手機軟件開發(fā)工程師:能熟練運用Eclipse進行Android手機軟件開發(fā);

手機軟件測試工程師:能熟練對Android手機軟件測試;

1.4企業(yè)實習技能要求

?數(shù)據(jù)結(jié)構(gòu):掌握數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識

?計算機算法:掌握常用計算機算法

?SQL基礎(chǔ):掌握SQL語言

?JAVA語言基礎(chǔ):熟悉JAVA語言,熟知JAVA語言編程通用規(guī)范,了解JDK

?ECLIPSE開發(fā)基礎(chǔ):熟悉Eclipse開發(fā)環(huán)境

第二章項目實施(按階段)

2.1開發(fā)環(huán)境搭建

2.1.1任務(wù)說明

搭建Android手機開發(fā)環(huán)境,包括Android手機SDK下載,安裝,配置。JDK環(huán)境

配置,Eclipse開發(fā)環(huán)境搭建,軟件清單如下:

軟件版本

Eclipse3.6(HELIOS)

AndroidSDK2.2+

ADT10.0.0

SQLiteDeveloper3.4.4

2.1.2知識點簡介

?JDK

JDK(JavaDevelopmentKit)是SunMicrosystems針對Java開發(fā)員的產(chǎn)品。自從Java

推出以來,JDK已經(jīng)成為使用最廣泛的JavaSDK.JDK是整個Java的核心,包括了Java

運行環(huán)境,Java工具WJava基礎(chǔ)的類庫。JDK是學好Java的第一步。而專門運行在x86

平臺的Jrocket在服務(wù)端運行效率也要比SunJDK好很多。從SUN的JDK5.0開始提供了

泛型等非常實用的功能,其版本也不斷更新,運行效率得到了非常大的提高。

?Eclipse

Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是

一個框架和一黜艮務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標

準的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDTX

Eclipse最初是由IBM公司開發(fā)的替代商業(yè)軟件VisualAgeforJava的下一代IDE開

發(fā)環(huán)境,2001年11月貢獻給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟Eclipse基金會

(EclipseFoundation)管理。2003年,Eclipse3.0選擇OSGi服務(wù)平臺規(guī)范為運行時

架構(gòu)。2007年6月,穩(wěn)定版3.3發(fā)布。2008年6月發(fā)布代號為Ganymede的3.4版。

2009年7月發(fā)布代號為GALILEO的3.5版。2010年6月發(fā)布代號為Helios的3.6版。

本項目使用Helios版本作為IDE.

eclipse-galileo

?AndroidSDK

SDK:(softwaredevelopmentkit)軟件開發(fā)工具包。被軟件開發(fā)工程師用于為特定

的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此!

AndroidSDk指的既是Android專屬的軟件開發(fā)工具包。

?ADT

ADT為Android開發(fā)工具(AndroidDevelopmentTools)簡稱,是在強大的、集成

的環(huán)境EclipseIDE中構(gòu)建Android應(yīng)用程序插件。

ADT擴展了Eclipse的功能,讓您快速建立新的Android項目,創(chuàng)建一個應(yīng)用程序的

用戶界面,加上Android框架的API組件、調(diào)試應(yīng)用程序使用AndroidSDK工具,以便

APK分發(fā)給應(yīng)用程序。

首先,強烈建議盡快開始使用Eclipse開發(fā)插件ADT。隨著項目設(shè)置我們將提供指導、

以及工具的集成和自定義XML編輯器并在ADT給你的一個令人難以置信的開發(fā)Android

應(yīng)用環(huán)境。

2.1.3實施步驟

?JDK的安裝

1)首先下載JDK的最新版本。可以去

/javase/downloads/index.jsp下載最新版本JDK1.6。一切

下載后選擇安裝路徑,例如我選擇安裝在"c:\ProgramFiles\Java\jdkl.6.0_02",

安裝到計算機上,這可能會花費數(shù)分鐘時間,這與系統(tǒng)性能有關(guān)。

2)安裝好后進行配置。右擊"我的電腦",打開"屬性",選擇"高級"里面的"環(huán)

境變量"。在新打開的界面中系統(tǒng)變量需要設(shè)置三個屬性。在沒安裝過JDK的電

腦中path屬性是本來存在的。

啟動和故障恢復(fù)

系統(tǒng)啟動,系統(tǒng)失敗和調(diào)試信息

設(shè)置(T)

環(huán)境變量國)錯誤報告國)

[般][取消]|應(yīng)用@|

1)點擊"新建",然后變量名寫上"java_home”顧名思義就是java的安裝路徑,

然后在變量值寫上剛才的安裝路徑"c:\ProgramFiles\Java\jdkl.6.0_02"o

系統(tǒng)屬性〔國一_g

常規(guī)「計算機名I硬件一贏廠系統(tǒng)還原j自動更新1遠程

環(huán)境變量I心’區(qū)「

Administrator的用戶變量也)

系統(tǒng)變量⑤)

變量值

java__homeC:\ProgramFiles\Java\jdkl.6.0_02

2)在系統(tǒng)變量里找到path,點擊編輯。path的含義就是系統(tǒng)在任何路徑下都可以

識別java命令。添加變量值";%java_home%\bin;%java_home%\jre\bin"。

(其中"%java_home%”的意思是剛才設(shè)置的java_home的值)

’系統(tǒng)厘性〔用I?

:常規(guī)[計算機名|硬件高級系統(tǒng)還原j自動更新i遠程

?環(huán)境變量〔曾「笈J

Administrator的用戶變量也)

系統(tǒng)變量⑤)

變量值~

Pa?bu?\WTwnnws\5+仙”r?\WTwnnws-

3)點擊“新建",然后變量名寫上”classpath”,該變量的含義為java加載類(bin

orlib)的路徑,只有類在classpath中Java命令才能識別。其值為

°.;%java_home%\lib;%java_home%\lib\tools.jar"(要加圓點.表示當前路

徑)。

系統(tǒng)屬性I直二

?常規(guī)?計算機名?硬件函一?系統(tǒng)還原?自動更新?遠程]

「環(huán)境變量⑵區(qū)

Administrator的用戶變量包)

系統(tǒng)變量⑤)

變量值二

classpath.;C:\ProgramFiles\Java\jdkl.6國

3)驗證JDK1.6安裝是否成功。點擊"開始"->"運行",輸入"cmd",進入命令行

界面,打入"java-version",如果安裝成功,則系統(tǒng)顯示javaversion

"1.6.0_02"(不同版本號則不同)

C:\DocumentsandSettings\Adninistrator>jaua-uersion

jauauersionM1.6.0_02u

Jaua<TM>SERuntimeEnvironment<build1.6.0_02-b05>

JauaHotSpot<TM>ClientUM<build1.6.0_02-b05,nixedmode.sharing>

?Eclipse的安裝

1)至!I下載eclipse,可以選擇:eclipse-jee-helios-SR2-win32,下

載完成后,只需要將下載的壓縮文件eclipse-jee-helios-SR2-win32.zip解壓到指

定位置,例如d:\Eclipse即可完成安裝.安裝完成后,eclipse文件夾中的目錄結(jié)構(gòu)如

圖:

mconfiguration

'features

i-^plugins

i^lreadme

畫eclipseproduct

Seclipse,exe

eclipse,ini

商epl-vlO.html

司notice.html

startup.jar

2)雙擊安裝目錄下的eclipse.exe文件,即可啟動Eclipse,在啟動畫面消失后,屏幕將顯

示一個對話框,提示用戶選擇工作空間的目錄位置,這個目錄用于存放用戶創(chuàng)建的項

目文檔(你自己選一個地方吧),最后進入Eclipse的工作環(huán)境.如圖:

?AndroidSDK的安裝

準確來說下載的不是SDK而是SDK下載安裝器,因為下載下來的并沒SDK,而需要

連接到官方網(wǎng)址下載所需的SDK,本項目使用2.2版本的SDK,下載

android-sdk-windows-23rar壓縮包,大約564MO解壓即可。

1)運行AndroidSDK下載安裝器SDKSetup.exe

2)配置和下載SDK

選擇AvailablePackages然后選擇你要安裝的sdK包,最后按InstallSelected

按鈕進行安裝。

其實一般啟動SDKSetup,都會自動檢查更新包,彈出類似如下界面。根據(jù)你的要

求自行選擇所需安裝包,安裝即可。其功能同上圖。

安裝快慢完全取決你網(wǎng)速和GoogleAndroid的帶寬。全部下載下來大約1G多。

?在Eclipse中配置ADT,本項目使用ADT-10.0.0版本。

1)選擇Eclipse菜單Help->InstallNewSoftware...->選擇選項卡上的Available

Software,點擊右側(cè)按鈕"Add,輸入

/android/eclipse/,如果不支持https可有輸入

/android/eclipse/

2)選擇所有安裝包,然后NextNext安裝向?qū)崾具M行下載并安裝。

3)安裝完后,系統(tǒng)會提示重啟Eclipse。然后在進入圖2.7點擊Archive按鈕選擇

ADT-0.9.7.zip即可其他步驟類似上面。在此不再詳述。

4)Eclipse重啟后,選擇Window>Preferences...,在打開的屬性框,選擇Android,

在SDKlocation中輸入你的AndroidSDK所在的目錄,然后按Apply按鈕即

可看到你安裝SDk包,如下圖

5)選擇window-AndroidSDKandAVDManager在彈出的AndroidSDKand

AVDManager對話框,選擇VirtualDevices,按new按鈕創(chuàng)建虛擬設(shè)備

今CreatenewAndroidVirtualDevice(AVD)

選擇SDK

SD卡(內(nèi)存卡)

大小

顯示屏大小

6)至此開發(fā)環(huán)境配置完成。

2.2開發(fā)AndroidHelloWorld程序

2.2.1任務(wù)說明

基于已搭建完成的Android開發(fā)環(huán)境,完成HelloWorld程序的開發(fā)。

2.2.2知識點簡介

?Android的項目結(jié)構(gòu)。

一個Android項目會包括java源文件,資源文件如圖片,基于xml的布局文件等,第

三方的jar包等。這些文件最終會被編譯成一個.apk文件即Android應(yīng)用程序可執(zhí)行文件

Androidpackagefile,.apk文件可以安裝在模擬設(shè)備或者真機上。

看一下前一篇我們創(chuàng)建的HelloAndroid項目的結(jié)構(gòu)圖:

/提HelloAndroid

/謖src

,田com.benjamin.helloandroid

0mHelloAndroid.java

J當gen[GeneratedJavaFiles]

<田com.benjamin.helloandroid

t>團R.java

>9Android2.1

assets

,四res

?&drawable-hdpi

>&drawable-ldpi

>&drawable-mdpi

<0layout

因main.xml

/0values

.strings.xml

@AndroidManifestxml

[ildefaultproperties

可以看到Android項目主要包括:

目錄說明

src/存放java源文件

gen/存放由Android編譯工具生成的java源文件,這些文件不

能手動修改。如R.java就定義了一些常量,這些常量是對

資源文件的索引,以便我們很方便的引用這些資源文件

assets/存放一些靜態(tài)文件并將會被一起打包成.apk文件

res/存放資源文件

res/drawable存放圖片如PNG,JPEG等

res/drawable-ldpi/存放低分辨率的圖片

res/drawable-mdpi/存放中等分辨率的圖片

res/drawable-hdpi/存放高分辨率的圖片

res/layout存放基于xml的布局文件

res/menu存放基于xml的菜單文件

res/values存放字符串等資源文件,如多語言的文件

AndroidManifest.xml是一個當前應(yīng)用程序的組件清單,它列出了應(yīng)用程序包含的

各種activities,services,權(quán)限等,下面看一下

HelloAndroid項目中的AndroidManifest.xml文件

<?xmlversion=M1.0,'encoding='*utf-8**?>

02<manifestxmlns:android=Mhttp://schemas./apk/res/androidM

03package=Mcotn.benjamin.helloandroid**

04android:versionCode=wl"

android:versionF,lame=',1.0M>

(applicationandroid:icons'^drawable/icon',android:label="(0string/app_name">

Octivityandroid:name='*.HelloAndroid'*

android:label="@string/app__name,*>

<intent-filter>

<actionandroid:name=uandroid.intent.action.MAIN'1/>

<categoryandroid:name=**ent.category.LAUNCHER'*/>

</intent-filter>

</activity>

</application>

</manifest>

可以看到根元素manifest的定義,首先聲明了命名空間,指定了包名。

android:versionCode是Android應(yīng)用程序的版本號,一個整形的數(shù)字,在應(yīng)用程序升級

的時候會進行比較是否決定要更新。android:versionName是你自己為你應(yīng)用程序定義一

個版本代號,不必一定是數(shù)字,如〃Tiger2000〃,"SystemX"等。如果你的應(yīng)用程序要

發(fā)布在AndroidMarket的話,都需要指定android:versionCode和

android:versionName這兩項。

android:icon表示你的應(yīng)用程序顯示的圖標,”@drawable/icon〃表示讀取

res/drawable下面icon這個圖片,androidJabel表示應(yīng)用程序的名稱,

"@string/app_namen表示讀取res/values/strings.xml中app_name的值。activity的

兩個屬性androidmame和androidJabel分別表示這個activity的類名,activity的顯示

名稱。intent-filter表示在什么條件下這個activity會顯示。

2.2.3實施步驟

?Hell。World項目開發(fā)步驟

1)新建項目

打開Eclipse選擇File>New>Project>AndroidProject

2)異常提示的解決

創(chuàng)建后出現(xiàn)異常,主要某些jar包找不到,解決辦法:project>properties,在order

AndExport選項中選中Android2.2按確定即可!

3)代碼編輯

圖3.5代碼編輯

4)運行和測試

運行,右鍵項目文件夾選擇RunAs>AdroidApplication運行,注意:菜單綠色的運

行按鈕可能找不到AdroidApplication,不知道是否是ADT的Bug。

MeEditRefactorRunSourceNavigateSearchProjectWindowHelp

n-自豆▼《第(3-9右。-?丁3DOMS圖J?va

:PackageEjbrterarchy

0

(

?

結(jié)

法OvtiirwE

,I,0<?7?"

3com.exampl?.android

“importdecUrctiont

0ApiDemos

?*ofiCreate(Bundle)

l?'?

.▼?0

RunAs—1AndroKlAppticationlocationType

DebugAsjJ2AndfoldJUnAlei^

ProfileAsW1JavaAUPMAh-Shift-X,A

Validate丁4JavaAppGcationAlt+Shift+X.J

TeamJi5JUnitTe?tAh,S帥+X.T

Comp?r?With

RunConfigurations.,?dro?dSOKCofrtentLoader

RestorefromLocalHistory...

AndroidTools

Configur*

5)運行效果圖如下,運行可能有的慢

留加?8:19AM

ApiDemos

HelloWorld,ApiDemos!

2.3手機閱讀器主界面開發(fā)

2.3.1任務(wù)說明

完成手機閱讀器主界面開發(fā)

2.3.2知識點簡介

?Android應(yīng)用程序布局之線性布局(LinearLayout)

線性布局:是一個ViewGroup以線性方向顯示它的子視圖(view)元素,即垂直地或水平

地。之前我們的HelloWorld!程序中view的布局方式就是線性布局的,一定不陌生!如

res/layour/main.xml:

<?xmlversion="1.0Hencoding=nutf-8n?>

<LinearLayoutxmlns:android="/apk/res/android"

android:layout_width="HII_parent”

android:layout_height="fill_parentn

androidzorientations^horizontarSc!-haveaneyeon!->

<Buttonandroid:id=M@+id/button1"

android:layout_width="wrap_content"

android:layout_height=',wrap_contentn

android:text="Hello,IamaButton1"

android:layout_weight=n1"/>

<Buttonandroid:id=H@+id/button2H

android:layout_width="wrap_contentn

android:layout_height="wrap_contentM

android:text="Hello,IamaButton2"

android:layout_weight=*'1"/>

<Buttonandroid:id="@+id/button3H

android:layout_width="wrap_contentH

android:layout_height=',wrap_contentH

android:text=nHello,IamaButton3"

android:layout__weight=n1"/>

<Buttonandroid:id="@+id/button4M

android:layout_width="wrap_content”

android:layout_height="wrap_content"

android:text="Hello,IamaButton4"

android:layout_weight=n1"/>

<Buttonandroid:id=',@+id/button5n

android:layout_width="wrap_contentn

android:layout_height=nwrap_contenr

android:text="Hello,IamaButton5"

android:layout_weight=*'1”/>

</LinearLayout>

從上面可以看出根LinearLayout視圖組(ViewGroup)包含5個Button,它的子元

素是以線性方式(horizontal,水平的)布局,運行效果如下圖所示:

圖2、線性布局(水平或者說是橫向)

如果你在androi&orientation="horizontal”設(shè)置為vertical,則是是垂直或者說是

縱向的,如下圖所示:

晴5554:avd_apiLevel7

圖3、線性布局(垂直或者說是縱向)

layout_weight這個屬性很關(guān)鍵,如果你沒有顯示設(shè)置它,它默認為0。把上面布局文

件(水平顯示的那個)中的這個屬性都去掉,運行會得出如下結(jié)果:

圖4>layout_weight屬性

沒有了這個屬性,我們本來定義的5個Button運行后卻只顯示了2個Button,為什

么呢??

"weight"顧名思義是權(quán)重的意思,layout_weight用于給一個線性布局中的諸多視圖

的重要程度賦值。所有的視圖都有一個layout_weight值,默認為零,意思是需要顯示多

大的視圖就占據(jù)多大的屏幕空間。這就不難解釋為什么會造成上面的情況了:

Buttonl-Button5都設(shè)置"Tlayout_height和layout_width屬性為wrap_content即包

住文字內(nèi)容,他們都沒有設(shè)置layout_weight屬性,即默認為0.這樣Buttonl和Button2

根據(jù)需要的內(nèi)容占據(jù)了整個屏幕,別的就顯示不了啦!

若賦一個高于零的值,則將父視圖中的可用空間分割,分割大小具體取決于每一個視圖

的layout_weight值以及該值在當前屏幕布局的整體layout_weight值和在其它視圖屏幕

布局的layout_weight值中所占的比率而定。舉個例子:比如說我們在水平方向上有一個

文本標簽和兩個文本編輯元素。該文本標簽并無指定layout_weight值,所以它將占據(jù)需

要提供的最少空間。如果兩個文本編輯元素每T的layout_weight值都設(shè)置為1,則兩

者平分在父視圖布局剩余的寬度

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論