android真正入門(mén)不坑的教程-基礎(chǔ)的基礎(chǔ)_第1頁(yè)
android真正入門(mén)不坑的教程-基礎(chǔ)的基礎(chǔ)_第2頁(yè)
android真正入門(mén)不坑的教程-基礎(chǔ)的基礎(chǔ)_第3頁(yè)
android真正入門(mén)不坑的教程-基礎(chǔ)的基礎(chǔ)_第4頁(yè)
android真正入門(mén)不坑的教程-基礎(chǔ)的基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩164頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一篇、提綱挈領(lǐng)

智能的機(jī)操作系統(tǒng)經(jīng)過(guò)多盤(pán)廝殺,到現(xiàn)在形成了三足鼎立之勢(shì):Android、iOS、Windowsphone8三者--統(tǒng)天卜;而其他的諸如SymbianS60,UIQ,

WindowsMobile,Linux,Brew、Blackberry...則成為了過(guò)眼煙云。

今天,Android更是在市場(chǎng)上有75%的占有率;在國(guó)內(nèi)比例更甚,達(dá)到90%之多。

有人說(shuō):上一個(gè)十年是互聯(lián)網(wǎng)時(shí)代;這個(gè)十年就是移動(dòng)互聯(lián)時(shí)代!

你還在等什么?

一、手機(jī)的發(fā)展史

1844年5月24日。莫爾斯的電報(bào)機(jī)從華盛頓向巴爾的摩發(fā)出人類(lèi)歷史的第一份電報(bào)”上帝創(chuàng)造了何等奇跡!”

1875年6月2日,貝爾做實(shí)驗(yàn)的時(shí)候,不小心把硫酸濺到了自己的腿上.他疼得對(duì)另一個(gè)房間的同事喊到”活,快來(lái)幫我啊!”而這句話(huà)通過(guò)實(shí)

驗(yàn)中的電話(huà)傳到了在另一個(gè)房間接聽(tīng)電話(huà)的活特耳里,成為人類(lèi)通過(guò)電話(huà)傳送的第一句話(huà)。

1831年,英國(guó)的法拉第發(fā)現(xiàn)了電磁感應(yīng)現(xiàn)象,麥克斯韋進(jìn)?步用數(shù)學(xué)公式闡述了法拉第等人的研究成果,并把電磁感應(yīng)理論推廣到了空間。

而60多年后赫茲在實(shí)驗(yàn)中證實(shí)了電磁波的存在。

電磁波的發(fā)現(xiàn),成為"有線電通信”向"無(wú)線電通信”的轉(zhuǎn)折點(diǎn),也成為整個(gè)移動(dòng)通信的發(fā)源點(diǎn)。正如一位科學(xué)家說(shuō)的那樣"手機(jī)是踩著電報(bào)和電

話(huà)等的肩膀降生的,沒(méi)有前人的努力,無(wú)線通信無(wú)從談起?!?/p>

1973年4月的一天,一名男子站在紐約的街頭,掏出一個(gè)約有兩塊磚頭大的無(wú)線電話(huà),并開(kāi)始通話(huà)。這個(gè)人就是手機(jī)的發(fā)明者馬丁庫(kù)泊。當(dāng)

時(shí)他還是摩托羅拉公司的工程技術(shù)人員。這是當(dāng)時(shí)世界上第一部移動(dòng)電話(huà)。

1975年,美國(guó)聯(lián)邦通信委員會(huì)(FCC)確定了陸地移動(dòng)電話(huà)通信和大容量蜂窩移動(dòng)電話(huà)的頻譜。為移動(dòng)電話(huà)投入商用做好了準(zhǔn)備。

1979年,日本開(kāi)放了世界上第一個(gè)蜂窩移動(dòng)電話(huà)網(wǎng)。

1982年歐洲成立了GSM(移動(dòng)通信特別組)

1985年,第一臺(tái)現(xiàn)代意義I:的可以商用的移動(dòng)電話(huà)誕生。它是將電源和天線放置在一個(gè)例子里,重量達(dá)3公斤。與現(xiàn)代形狀接近的手機(jī),則

誕生于1987年。其重量仍有大約750克,與今天僅重60克的手機(jī)相比,象一塊大磚頭。此后,手機(jī)的"瘦身"越來(lái)越迅速。1991年,手機(jī)重量為

250克左右。1996年秋出現(xiàn)了體積為100立方厘米,重量為100克的手機(jī)。此后又進(jìn)一步小型化,輕型化,到1999年就輕到了60克以下。

二、智能手機(jī)發(fā)展史

世界上第一部智能手機(jī)是摩托羅拉在2000年生產(chǎn)的名為天拓A6188的手機(jī)。

該手機(jī)是全球第一部智能手機(jī),也是第一部具有觸摸屏的PDA手機(jī),它同時(shí)還是第一部中文手寫(xiě)識(shí)別輸入的手機(jī),但最重要的是A6188采用

了摩托羅拉公司自主研發(fā)的龍珠(DragonballEZ)16MHzCPU,支持WAPI.1無(wú)線上網(wǎng),采用了PPSM(PersonalPortableSystemsManager)操

作系統(tǒng)。龍珠(DragonballEZ)16MHzCPU也成為了第一款在智能手機(jī)上運(yùn)用的處理器,雖然只有16MHz,但它為以后的智能手機(jī)處理器奠定了

基礎(chǔ),有著里程碑的意義。

三、認(rèn)識(shí)Android

Android最早由安迪?羅賓(AndyRubin)創(chuàng)辦,于2007年被Google公司收購(gòu),Google公司憑借Android操作系統(tǒng)在智能手機(jī)上取得了巨大

的成功。

如果以前你對(duì)智能機(jī)了解不多也沒(méi)有關(guān)系,你能感覺(jué)到現(xiàn)在的手機(jī)除了能夠打電話(huà)、發(fā)短信之外,越來(lái)越像一臺(tái)功能強(qiáng)大的小電腦就0K了!

四、修煉之道

1、不論章法,實(shí)現(xiàn)就好

對(duì)于我們菜鳥(niǎo)級(jí)別,初學(xué)的時(shí)候很多朋友聽(tīng)了網(wǎng)I:傳言的“學(xué)編程要六級(jí)以上英語(yǔ),高等數(shù)學(xué)更是要過(guò)硬”以致于很多朋友只能“高山仰

止”!而實(shí)際上初學(xué)者經(jīng)驗(yàn)不足,初入此道,程序可能存在種種錯(cuò)誤和BUG,但是這都不能影響我們學(xué)習(xí)的決心和勇氣,就像學(xué)開(kāi)車(chē),即使你從駕

校出來(lái)有了駕照,剛上路仍然感覺(jué)手忙腳亂,眼睛不夠用一樣,隨著你的車(chē)技嫻熟,你會(huì)變得從容起來(lái),編程一樣。

不要怕錯(cuò)?,學(xué)編程比開(kāi)車(chē)要好得多,無(wú)論如何你都不會(huì)“闖車(chē)禍”,大不了重來(lái),怕什么,誰(shuí)不是從1、2,3開(kāi)始學(xué)起的!

2、規(guī)范有序

有了一定的經(jīng)驗(yàn)就不能像初始階段,程序逐漸開(kāi)始規(guī)范,無(wú)論變量的命名還是各種文檔,并且注重程序的運(yùn)行效率等等。我們都講:細(xì)節(jié)決

定成敗,但往往是“嚴(yán)于律人,寬以待己”,這樣不好!細(xì)節(jié)不是喊一聲就會(huì)出現(xiàn)在你面前的,這是一個(gè)需要不斷學(xué)習(xí)和實(shí)踐。這個(gè)過(guò)程有長(zhǎng)有

短,要看個(gè)人的學(xué)習(xí)能力,領(lǐng)悟能力。

做到內(nèi)外兼修,內(nèi),指的是需求把握,設(shè)計(jì)思想,設(shè)計(jì)模式等。外,指的是寫(xiě)代碼時(shí)的規(guī)范,做界面時(shí)的嚴(yán)謹(jǐn)?shù)取?/p>

3、用戶(hù)體驗(yàn)

因?yàn)槲覀冊(cè)O(shè)計(jì)的程序最終是給用戶(hù)用的,要注意用戶(hù)體驗(yàn)。

人性化則顯得至關(guān)重要。

4、學(xué)無(wú)止境

入門(mén)也許是容易的,但是想達(dá)到大師級(jí)別真不是一件容易的事。

冰凍三尺,非一日之寒。

良好的開(kāi)端,等于成功了一半。工欲善其事,必先利其器。

如何搭建Android的開(kāi)發(fā)環(huán)境?讓我們今天一探究竟!

五、準(zhǔn)備工作

我們開(kāi)發(fā)Android手機(jī)App程序需要準(zhǔn)備兩樣寶貝:JavaJDK、AndroidSDK(ADT即AndroidDevelopTools縮寫(xiě))。

1、JavaJDK

如果你電腦上沒(méi)有安裝Java環(huán)境或者你想使用最新版本,請(qǐng)從下面地址下載最新版本:

卜載地址:!-iIH.?a/jvase/downloads/index.html

(1)第一步、單擊下圖中的①的DOWNLOAD,BPJavaPlatform(JDK)7u9

OverviewDownloadsDocumentationCommunityTechnologiesTraining

JavaSEDownloads

LatestReleaseNextRelease(EarlyAccess)EmbeddedUsePreviousReleases

JavaPlatform(JDK)7u9JavaFX2.2.3JDK7u9?NetBeansJDK7?JavaEE

(2)第二步、單.選AcceptLicenseAgreement,然后選擇Windowsx86下載。

JavaSEDevelopmentKit7u9

YoumustaccepttheOracleBinaryCodeLicenseAgreementforJavaSEtodownloadthis

^2^software.

。AcceptLicenseAgreementDeclineLicenseAgreement

Product/FileDescriptionFileSizeDownload

Linuxx86120.63MB±jdk-7u9-linux-i586.rpm

Linuxx8692.85MB±jdk-7u9-linux-i586.tar.gz

Linuxx64118.82MB*jdk-7u9-linux-x64.rpm

Linuxx6491.59MB±jdk-7u9-linux-x64.tar.gz

MacOSX143.47MB±Jdk-7u9-macosx-x64.dmg

Solarisx86135.14MB±jdk-7u9-solaris-i586.tar.Z

Solarisx8691.51MB?jdk-7u9-solaris-i586.tar.gz

SolarisSPARC135.7MB±jdk-7u9-solaris-sparc.tar.Z

SolarisSPARC95.15MB<jdk-7u9-solaris-sparc.tar.gz

SolarisSPARC64-bit22.8MB?jdk-7u9-solaris-sparcv9.tar.Z

SolarisSPARC64-bit17.51MB±jdk-7u9-solaris-sparcv9.tar.gz

Solarisx6422.48MB±jdk-7u9-solaris-x64.tar.Z

Solarisx6414.94MB±jdk-7u9-solaris-x64.tar.gz

Windowsx8688.35MB>jdk-7u9-windows-i586.exe卜

Windowsx6490.03MB?jdk-7u9-windows-x64.exe弋

(注:windowsX86代表32位操作系統(tǒng);windowsX64代表64位操作系統(tǒng)。如果你不知道你的操作系統(tǒng)是?位,很簡(jiǎn)單,選擇桌面“計(jì)算機(jī)”單擊

右鍵,查看屬性一看就明白了?。?/p>

2、AndroidSDK

AndroidSDK為我們提供了API鏈接庫(kù)以及用于建立、測(cè)試與調(diào)試android應(yīng)用的開(kāi)發(fā)工具的集合。

卜載地址:http://developer,android,com/sdk/index.html

DownloadtheSDK

ADTBundleforWindows⑴

六、軟件安裝

如果你的網(wǎng)速不夠快,那么就請(qǐng)你倒杯茶,邊下載邊看以下安裝步驟。

1、第一步,安裝jdk7u9(jdk-7u9-windows-i586.exe)

雙擊jdk-7u9-windows-i586.exe安裝,單擊下一步下一步,直到完成即可,無(wú)需配置環(huán)境變量。

2、第二步,安裝SDK和EclipseIDE(adt-bund1e-windows-x86.zip)

(1)解壓adt-bund1e-windows-x86.zip文件至合適的位置,會(huì)生成adt-bundle-windows-x86文件夾,在adt-bund1e-windows-x86文件夾

又有兩個(gè)子文件夾:eclipse和sdko

(2)打開(kāi)adt-bund1e-window&-x86/eclipse文件夾,然后啟動(dòng)eclipse,exe程序。

當(dāng)然你也可以把eclipse,exe程序發(fā)送到桌面建立一個(gè)快捷方式。

至此,我們環(huán)境已經(jīng)全部安裝好了,就這么簡(jiǎn)單!EclipseIDE集成開(kāi)發(fā)已經(jīng)幫我們準(zhǔn)備好了開(kāi)發(fā)環(huán)境,而且SDK也已經(jīng)自動(dòng)準(zhǔn)備就緒,萬(wàn)事

俱備!就等著你開(kāi)始開(kāi)發(fā)第一個(gè)AndroidApp了!

注:不要從adt-bundle-\vindows-x86文件夾中移走任何文件,否則你將要進(jìn)行手動(dòng)配置環(huán)境或者以后的升級(jí)。

最為經(jīng)典的“Hello,world!”之AndroidApp應(yīng)用程序即將在你自己的手機(jī)上運(yùn)行,你是不是心潮澎湃呢?稍安勿躁,你馬上就可以實(shí)現(xiàn)!

附:

網(wǎng)上比較流行的Android的開(kāi)發(fā)環(huán)境常常為JDK+Eclipse+SDK三大利器進(jìn)行配置,如果你喜歡,你可以百度?下!而Google現(xiàn)在非常推薦你

采用本文的方式,尤其你如果是一名新手!

我一直猶豫如何講解這個(gè)開(kāi)篇之作,但發(fā)現(xiàn)的IDE開(kāi)發(fā)環(huán)境做得越來(lái)越智能,基本上一路回車(chē)就可以

搞定一個(gè)簡(jiǎn)單的應(yīng)用。

一、第一步,啟動(dòng)Eclipse

單擊桌面Eclipse快捷方式,啟動(dòng)EclipseIDE開(kāi)發(fā)環(huán)境。

二、第二步,建立Android項(xiàng)目

選擇菜單file->new->androidapplicationproject

西EditRunSourceNavigateSearchProjectRefactorWindowHelp

NewAlt+Shift+N?JavaProject

OpenFile...AndroidApplicationProject1

Project...

CloseCtrl+W

CloseAllCtrl+Shift+W第Package

Class

SaveCtrl+S

Interface

Vv,At…

1、選擇workspace(Selectaworkspace)

Eclipse第一次建立AndroidProject會(huì)讓你選擇workspace(workspace通俗地講就是把你的項(xiàng)

目存到哪個(gè)文件夾內(nèi)),在本案例中我存放到D:\Apps,如果勾選了復(fù)選框,下一次建立Android

Project就不會(huì)再出同這個(gè)對(duì)話(huà)框了。

2、新建Android應(yīng)用程序(NewAndroidApplication)

我們?cè)诖翱谥休斎耄?/p>

ApplicationName:Hello

ProjectName:默認(rèn)會(huì)自動(dòng)與應(yīng)用程序名稱(chēng)一樣,你也可以起不同的名字。

PackageName:com.genwoxue.hello(你可以使用別的包名,習(xí)慣用這個(gè)域名倒寫(xiě)的方式)

TargetSDK:如果你采用真機(jī)測(cè)試,看看你的真機(jī)所支持的Android版本。

CompileWith:編譯可以選擇最新版本

然后單擊“Next〉”按鈕,進(jìn)入下一步。

3、配置Project(ConfigureProject)

采用默認(rèn)設(shè)置就可以了。

然后單擊“Next〉”按鈕,進(jìn)入下一步。

4、配置應(yīng)用圖標(biāo)Icon(ConfigureLauncherIcon)

然后單擊“Next〉”按鈕,進(jìn)入下一步。

5、新建空白Activity(NewBlankActivity)

然后單擊“Finish”按鈕,打開(kāi)項(xiàng)目主界面。

6>Hello項(xiàng)目主界面

你可能一下子被整個(gè)界面弄暈了,太復(fù)雜了,這么多文件夾,實(shí)際上將來(lái)我們所有關(guān)心的東西并

不多,別害怕,我們只要知道①②③都是干什么的就夠了。

其中①表示項(xiàng)目文件管理區(qū);②表示控件區(qū);③表示界面預(yù)覽區(qū)。

三、第三步,建立虛擬設(shè)備

如果你還沒(méi)有一臺(tái)運(yùn)行Android的設(shè)備(手機(jī)),那么我們需要建立一個(gè)虛擬設(shè)備。

當(dāng)然你最好有一臺(tái)真正能夠運(yùn)行Android的設(shè)備,你也可以跳過(guò)這一步。

1、選擇菜單window->AndroidVirtualDeviceManager

Window]Help

NewWindow

NewEditor

OpenPerspective?

ShowView?

CustomizePerspective...

SavePerspectiveAs...

ResetPerspective...

ClosePerspective

CloseAllPerspectives

Navigation?

AndroidSDKManager

AndroidVirtualDeviceManager,

1

RunAndroidLint

Preferences

2、打開(kāi)Android虛擬設(shè)備管理器(AndroidVirtualDeviceManager)

單擊“New…”按鈕。

AndroidVirtualDeviceManager

AndroidVirtualDevicesDeviceDefinitions

UstofexistingAndroidVirtualDeviceslocatedatC:\Users\IBM\.android\Avd

AVDNameTargetNamePlatformAPILevelCPU/A8I

-NoAVDavailable——|E&L.

>Delete-

1Repair-

jDetailj

Start-

Refresh

2AvalidAndroidVirtualDevice.ArepairableAndroidVirtualDevice.

XArAndroidVirtualDevicethatfailedtoload.Clide'Details'toseetheerror.

3、新建Android虛擬設(shè)備(CreateAndroidVirtualDevice)

我們?cè)诖翱谳斎耄?/p>

AVDName:HTC(你可以高興輸入別的任何名稱(chēng))

Device:選擇一-款合適的屏(包括尺寸與分辨率)

然后單擊“0K”按鈕。

4、虛擬設(shè)備管理器(AndroidVirtualDeviceManager)就多出來(lái)了一款"HTC"設(shè)備。

四、第四步,運(yùn)行程序

1、選擇菜單Run->Run(Ctrl+Fl1)

Run]NavigateSearchProjectWindowHelp

%Run氐Ctrl+Fil

DebugFil

2、選擇AndroidDevice設(shè)備

我們有兩種選擇:使用真機(jī)或者虛擬設(shè)備。(在本案例中采用華為9200真機(jī)。)

3、運(yùn)行結(jié)果

中國(guó)移動(dòng)3GQS也..ill15:37

「爭(zhēng)Hello

Helloworld!

至此,我們第一個(gè)AndroidApp正式誕生了,舉杯慶賀一下吧!你也正式進(jìn)入移動(dòng)開(kāi)發(fā)的行列,

未來(lái)的十年“移動(dòng)互聯(lián)”有你!

當(dāng)然,我們僅僅是一個(gè)開(kāi)始!

盡管經(jīng)典之中的經(jīng)典Hell。,world!已經(jīng)悄然運(yùn)行在我們的手機(jī)上了,但如果現(xiàn)在讓你告訴別人你會(huì)

Android開(kāi)發(fā),估計(jì)你自己都心虛,讓我們一起再會(huì)Hello,world!項(xiàng)目,揭開(kāi)廬山真面目。

第一次在Eclipse中看Android項(xiàng)目工作區(qū)估計(jì)眼都花了,頭都暈了,你一,定會(huì)想:這么復(fù)雜!

但事實(shí)上,可能會(huì)比你想得簡(jiǎn)單,而一旦我們采取循序漸進(jìn)方式,你很快就會(huì)掌握的。

七、Android項(xiàng)目工作區(qū)概覽

」退Hello

,&src

/田com.genwoxue.hello

t>?MainActivity.java

/落gen[GeneratedJavaFiles]

/田com.genwoxue.hello

>團(tuán)BuildConfig.java

>團(tuán)R.java

/KAndroid4.2

叵^(>@android.jar

r>0AndroidDependencies

雷assets

0邑bin

t>也libs

/四res

t>6drawable-hdpi

t>&drawable-ldpi

t>Bdrawable-mdpi

r>&drawable-xhdpi

0layout

④id,activity_main.xml

t>6menu

0values

>&values-vll

>0values-vl4

⑤口AndroidManifestxml

Micjauncher-web.png

,jproguard-project.txt

管project,properties

新建一個(gè)Android項(xiàng)目,Eclipse會(huì)自動(dòng)幫我們建立諸多文件,我們看一下:

其中:

第①部分:表示Java源程序;

第②部分:代表系統(tǒng)資源ID,類(lèi)似于C語(yǔ)言的*.h文件,請(qǐng)千萬(wàn)不要手工修改R.java文件;

第③部分:八期!'01€14.2表示當(dāng)前5口1(是4.2,是目前最新版本;

第④部分:表示資源文件,其中l(wèi)ayout布局你可以認(rèn)為就是界面;

第⑤部分:每一個(gè)Android項(xiàng)目都包含--個(gè)清單(Manifest)文件一AndroidManifest.xml,它存

儲(chǔ)在項(xiàng)目層次中的最底層。清單可以定義應(yīng)用程序及其組件的結(jié)構(gòu)和元數(shù)據(jù)。

如果你想了解更多AndroidManifest.xml,請(qǐng)單擊了解更多>>

Android項(xiàng)目中主要文件及文件夾的作用:

(1)src:存放所有的*.java源程序。

(2)gen:為ADT插件自動(dòng)生成的代碼文件保存路徑,其中的R.java文件將保存所有的資源ID。

(3)Android4.2:表示現(xiàn)在使用的AndroidSDK的版本是4.2。

(4)assets:可以存放項(xiàng)目中--些較大的資源文件,如圖片、音樂(lè)、字體等。

(5)res:可以存放項(xiàng)目中所有的資源文件,如圖片(*.png、*.jpg)、網(wǎng)頁(yè)(*.html)>文本

等。

(6)res\drawable-hdpi:保存高分辨率圖片資源。

(7)res\drawable-ldpi:保存低分辨率圖片資源。

(8)res\drawable-mdpi:保存中等分辨率圖片資源。

(9)res\layout:存放所有布局文件,主要是用于排列不同的顯示組件,在Android程序要讀

取此配置。

(10)res\values:存放一些資源文件信息,用于讀取文本資源,在文件夾中有一些約定的文件

名稱(chēng)。(具體內(nèi)容待以后詳解)

(11)res\raw:自定義的一些原生文件所在目錄,如音樂(lè)、視頻等文件格式。

(12)res\xml:用戶(hù)自定義的XML文件,所有的文件在程序運(yùn)行時(shí)編譯到應(yīng)用程序中。

(13)res\anim:用于定義動(dòng)畫(huà)對(duì)象。

(14)activity_main:配置所有的控件。

(15)R.java:此文件為自動(dòng)生成并自動(dòng)維護(hù)的,用戶(hù)添加的控件會(huì)自動(dòng)在此文件中生成一個(gè)唯

一的ID,以供程序使用。

(16)AndroidManifest.xml:主要配置文件,用于配置各個(gè)組件或--些訪問(wèn)權(quán)限等。

總之,看著真的夠復(fù)雜,你先有個(gè)印象就可以了。至少,你應(yīng)該知道源文件是放在src文件夾;

布局文件在res/layout文件夾,其他以后了解也ok。

八、Android項(xiàng)目分析

7、布局文件(res\layout\activity_main.xml)

雙擊"res\layout\activity_main.xml”打開(kāi)布局文件。注意①代表布局文件圖形界面;②代表

布局文件代碼界面。

@activity_mainjcml0日、

<RelativeLayoutxmlns:android=,rhttp://schemas.android,com/apk/res/android11

xmlns:tools=,rhttp://schemas.android,com/tooLs”

android:layout_yiidth="match_parentM

android:layout_height=

tools:context=M.Alain4ctivity,r>

(Textview

android:layout_width=,,wrap^contentM

android:layout_height=Mwrap_content°

android:layout_centerHorizontal=ntrue”

android:layout_centerVertical=Mtrt/ew

android:text=M^string/heLLq_worLdM/>

遨</RelativeLayout>

口GraphicalLayout三Iactivitymain.xml

AndroidApp應(yīng)用程序類(lèi)似于.net的Winform程序,其中①和②相當(dāng)于標(biāo)題欄,①為標(biāo)題欄的圖

標(biāo),②為標(biāo)題;③代表標(biāo)簽<TextViw>,類(lèi)似于眾多程序的Label。

我們?cè)賮?lái)看一下代碼:

TextCopytoclipboardPrint

1.

2,<RelativeLayoutxmlns:android="/apk/res/android"

3.xmlns:tools="http://schemas./tools"

4.android:layout_width="match_parent"

5.android:layout_height=Hmatch_parent"

6.tools:context=H.MainActivity',>

7.<TextView

8.android:layout_width="wrap_content"

9.android:layout_height="wrap_content,,

10.android:layout__centerHorizontal="true"

11.android:layout__centerVertical="true"

12.android:text="@string/hello_world"/>

13.</RelativeLayout>

希望你在探討本段代碼之前,至少至少要有XML文件的概念,如果沒(méi)有請(qǐng)了解這后再來(lái)繼續(xù)學(xué)習(xí)。

本段代碼包含了兩個(gè)重要標(biāo)簽:<RelativeLayout>和<TextView>,〈RelativeLayout》代表線性布

局管理器;<TextView>代表標(biāo)簽組件。其它的皆為兩個(gè)標(biāo)簽的屬性。

我們著重來(lái)看一下:android:text="@string/hello_worId”,我們的運(yùn)行結(jié)果是"Helloworld!

而不是"hello_world"!

Why?

2、strings文本資源文件(res\values\strings.xml)

雙擊"res\values\strings.xml”打開(kāi)文本資源文件。與布局文件一樣:①代表文本資源圖形界

面;②代表文本資源代碼界面。

JGLstrings.xml漢一

黨AndroidResources(default)

ResourcesElements⑤?◎⑥國(guó)①?lài)?guó)用回AN

(S)app_name(String)

Add...

(S)hello_world(String)

⑤menu_settings(String)Remove...

Up

Down

---------(?)----------------

置Resources可strings.xml

我們打開(kāi)文本資源strings,xml文件之后,當(dāng)我們看到:

<stringname=/,hello_world//>Helloworld!</string>

前面的疑慮應(yīng)該頓消,原來(lái)如此??!hello_world是文本資源文件中的一個(gè)標(biāo)簽而已,其真正的

內(nèi)容是“Helloworld!”。

你可以通過(guò)圖形界面或者字符界面添加一個(gè)字符串資源,究竟你選擇哪種,隨你高興!

3、R?java文件(gen/com.genwoxue.hello/R.java)

雙擊agen/com.genwoxue.hello/R.java”打開(kāi)資源ID文件。

笆Rjava

4/*AUTO-GENERATEDFILE.DONOTMODIFY.

packagecom.genwoxue.hello;

publicfinalclassR{

publicstaticfinalclassattr{

)

publicstaticfinalclassdrawable{

publicstaticfinalintic_Launcher=0x7f020000;

}

publicstaticfinalclassid{

publicstaticfinalint/wenu_settings=0x7f070000;

}

publicstaticfinalclasslayout{

publicstaticfinalintactivity_/nain=0x7f030000;

}

publicstaticfinalclassmenu{

publicstaticfinalintactivity_WGin=0x7f060000;

}

publicstaticfinalclassstring{

publicstaticfinalintapp_name=0x7f040000;

publicstaticfinalintheLLo^worLd=0x7f?40001;

publicstaticfinalint/wenu_settings=0x7f^40002;

}一

R.java資源文件保存所有資源的ID,譬如前面所講的hello_world,在這里就是一個(gè)整數(shù)

0x7f040001而已。

如果你感覺(jué)這個(gè)文件很奇怪也很正常,除非你曾經(jīng)學(xué)習(xí)或者寫(xiě)過(guò)Cforwindows應(yīng)用程序就早已

習(xí)以為常了。

這個(gè)文件你最好只是看看,不要?jiǎng)铀。。?/p>

4、AndroidManifest.xml文件

雙擊"AndroidManifest.xml”項(xiàng)目配置文件。

@HelloManifest陽(yáng)

<?xmlversion=M1.00encoding=Mut/-8M?>

-<manifestxmlns:android=n/apk/res/android11

package=°com.genwoxue.

android:versionCode=Ml"

android:versionName=Ml.0°>

<uses-sdk

android:minSdkVersion=*r8M

android:targetSdkVersion=015a,/>

O〈application

android:allowBackup=ntrue"

android:icon="^drawabLe/ic_Launcherf,

android:label='f^string/app_nameM(2)

android:theme=tyLe/AppTheme0>

0octivity

android:name=Mcow?.genwoxue.heLLo.AJainActivity0

android:label=u^string/app_namen>(3)

-<intent-filter>

<actionandroid:name=*1android.intent,action./>

<categoryandroid:name=°ent.category,LAUNCHERn/>

</intent-filter>

</activity>

</application>

〈/manifest)

4,

菖Manifest因Application回Permissions|T)Instrumentation,F|AndroidManifestxml

所有的Activity程序都在AndroidManifest.xml文件中進(jìn)行注冊(cè),故該文件是整個(gè)Android項(xiàng)

目的核心配置文件。

在<application>節(jié)點(diǎn)中配置的android:icon=z/@drawable/ic_launcherz/,表示引用drawable

(drawable-hdpi>drawableTdpi、drawable-mdpi三個(gè)文件夾中導(dǎo)入)資源配置的圖標(biāo),引入圖標(biāo)

的名稱(chēng)為ic」auncher?,F(xiàn)在你可以更換應(yīng)用程序圖標(biāo)了,你知道了它在哪!

在<application>節(jié)點(diǎn)中配置的android:label=,?@string/app_namez/,表示此應(yīng)用程序的標(biāo)簽名

稱(chēng)從strings.xml文件中讀取,內(nèi)容為app_name對(duì)應(yīng)的內(nèi)容?,F(xiàn)在你也可以更換應(yīng)用程序標(biāo)題了,

你知道了它在哪!

當(dāng)然,你還可以更改Activity的標(biāo)題,什么是Activity?

Activity就是一個(gè)活動(dòng)的窗體,-個(gè)項(xiàng)目應(yīng)用程序可以包含多個(gè)Activity。

5、MainActivity.java(src/com.genwoxue.hello/MainActivity.java)

雙擊"src/com.genwoxue.hello/MainActivity.java,,程序文件。

MainActivity.java漢x.

packagecom.genwoxue.hello;

importandroid.os.Bundle;

importandroid.app.Activity;

publicclassMainActivityextendsActivity{

一@Override

protectedvoidonCreate(BundlesavedlnstanceState){

super.onCreate(savedlnstanceState);

setContentView(R.layout.activity_main);

)

)

本程序是Android整個(gè)項(xiàng)目的主程序,Activity是項(xiàng)目的基本組成部分。

MainActivity繼承Activity類(lèi),onCreate()方法是啟動(dòng)Activity地默認(rèn)調(diào)用的方法。

super.onCreate(savedlnstanceState):調(diào)用父類(lèi)的onCreate()方法;

setContentView(R.layout.activity_main):調(diào)用布局文件。

我相信你的Android手機(jī)上一定安裝了不少Android應(yīng)用,那么如果把我們的Android程序發(fā)布為

Android應(yīng)用,以便讓別人使用呢?

1、選擇File—>Export命令,在打開(kāi)的界面中選擇Android—>ExportAndroidApplication文

件。

單擊“Next〉”按鈕,選擇要導(dǎo)出的項(xiàng)目。

2、可以通過(guò)“Browse...”按鈕選擇Hell。這個(gè)項(xiàng)目,如果項(xiàng)目處于打開(kāi)狀態(tài),會(huì)默認(rèn)當(dāng)前項(xiàng)目。

單擊“Next〉”按鈕,進(jìn)入創(chuàng)建證書(shū)界面。

3、導(dǎo)出項(xiàng)目,必須要有證書(shū),我們可以選擇已經(jīng)存在的證書(shū)或者創(chuàng)建證書(shū),我們選擇“Createnew

keystorev。

在此,我們輸入:

Location:D:\Hello(我們可以起一個(gè)不同于項(xiàng)目的名稱(chēng))

Password和Confirm:123456

則在D盤(pán)根目錄下創(chuàng)建了Hello證書(shū)。單擊“next〉”按鈕,進(jìn)入證書(shū)完整界面。

4、填寫(xiě)完整的證書(shū)信息。

①部分為證書(shū)別名與有效年限;

②部分為開(kāi)發(fā)者相關(guān)信息。

單擊“Next〉”按鈕,進(jìn)入導(dǎo)出AndroidApplication界面。

5、導(dǎo)出項(xiàng)目(ExportAndroidApplication)

輸入D:\HeHo.apk,發(fā)布到D盤(pán)根目錄。

你也可以保存到別的文件夾,但注意該文件夾一定要存在。

單擊“Finish”按鈕完成整個(gè)項(xiàng)目發(fā)布過(guò)程。

現(xiàn)在,你可以采取你喜歡的任意方式(可以通過(guò)數(shù)據(jù)線、藍(lán)牙)或者發(fā)布到Android應(yīng)用商店供

別人下載使用。

第二篇、幾個(gè)有用的程序帶你進(jìn)入這個(gè)android世界

第1章、編輯框EditText與按鈕Button

在一個(gè)應(yīng)用中,登錄是經(jīng)常使用的,下面我們學(xué)習(xí)一下如何開(kāi)發(fā)一個(gè)登錄窗口。我們需要學(xué)習(xí)Android中的基本控件:

(1)EditText編輯框、⑵Button按鈕。

一、設(shè)計(jì)登錄窗口

打開(kāi)"res/layout/acMvity_main.xml"文件。

1、分別從工具欄向activity拖出2個(gè)EditText(來(lái)自TextFields)、1個(gè)按鈕(來(lái)自FormWidgets)。

Palette

◎▼QNexusOne▼@▼

3Palette

uFormWidgets★AppTheme▼QMainActivity▼

LargeMediumsman

ButtonSmallOFFe▼麻17▼

JCheckfiox?RadioButton

CheekedTextEEJI國(guó)IB

Spinner

SubItem

TextFields

>

abc

FirstnameLastname

】???2…3

usef(5>domain

(555)0100

Other

Custom&LibraryViews

HGraphicalLayoutAiactivitymain.xml

2、打開(kāi)activity_main.xml文件。

代碼自動(dòng)生成如下:注意①和②雖同為EditText,但②要輸入密碼,故android:inputType="textPassword"。

<EditText

android:id-^^+id/editTextl°Qy

android:layout_width=Mwrap_contentM

android:layout_height=*rwrap^contentM

android:layout_alignParentLeft=,rtrt/eM

android:layout_alignParentTop=Mtrue”

android:layout_marginTop=034dp*f

android:ems=M100>

<requestFocus/>

</EditText>

<EditText

android:id=M^+id/editText20⑷

android:layout_width=*rwrap_contentM

android:layout_height=°wrap_contentM

android:layout_alignParentLeft=°true”

android:layout_below=0^-id/ecfitTextl0

android:layout_marginTop=n18dp,r

android:ems=*,10*r

android:inputType=MtextPassword°V>

<Button

android:id=M^-id/buttonlM(3J

android:layout_width=uwrap_content11

android:layout_height=Mwrap_contentM

android:layout_alignRight=M|?+id/editfextl0

android:layout_below=°|?+id/editfext2M

android:layout_marginTop=M36dp11

android:text=Buttonn/>

3、我們把以上代碼修改成如下代碼,具體為:editTextl變?yōu)閡serName;eidtText2變?yōu)閜assword;buttion1變

為login..登錄按鈕的文本:android:text="Button"變?yōu)?登錄"。

<EditText

android:id=n^f-id/userNameM

android:layout_width=*,wrap^_contentM

android:layout_height=Mwrap_content11

android:layout_alignParRntLeft="trae"

android:layout_alignParentTop=°trueM

android:layout_marginTop="34dp"

android:ems=010°>

<requestFocus/>

</EditText>

<EditText廠、

android:id=,r§+id/passlylordlfG)

android:layout_width=,rwrap^contentM

android:layout_height=°wrap_content0

android:layout_alignRarentLeft=*ftrueM

android:layout_below="斛id/aserNa/we”

android:layout_marginTop=015dp,r1

android:ems=o10M

android:inputsype=ntextPassword*1/>

<Button

android:id=^id/Login0Q)

android:layout_width=^wrap_contentn

android:layout_height=*rwrap^contentM

android:layout_alignRight=*,^fid/userNa/ne°

android:layout_below=tt^id/passly/ordt,

android:layout_marginTop=*r36dp*rR

android:text=°/>

4、界面如下:

?EditTextButton

現(xiàn)在運(yùn)行程序,已經(jīng)在手機(jī)上看起來(lái)很像一個(gè)登錄窗口了。但是,我們單擊“登錄”按鈕,卻沒(méi)有什么反應(yīng)。我們下

面學(xué)習(xí)如何在“登錄”按鈕上添加單擊事件。

二、單擊事件

打開(kāi)"src/com.genwoxue.ecHttextbutton/MainActMty.java''文件。

然后輸入以下代碼:

packagecorn.genwoxue.edittextbutton;

importandroid.os.Bundle;

importandroid.app.Activity;

importandroid.widget.EditText;

importandroid.widget.Button;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Toast;

publicclassMainActivityextendsActivity{

privateEditTexttvUserName=null;

privateEditTexttvPassword=null;(2)

privateButtonbtnLogin=null;

@Override

protectedvoidonCreate(BundlesavedlnstanceState){

super.onCreate(savedlnstanceState);

setContentView(R.layout.activity_main);

tvUserNa<ne=(EditText)super,findViewByld(R.id.userName);

tvPassword=(EditText)super.findViewByld(R.id.password);

btnLogin=(Button)super.findViewById(R

溫馨提示

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

評(píng)論

0/150

提交評(píng)論