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

下載本文檔

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

文檔簡介

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

智能的機(jī)操作系統(tǒng)經(jīng)過多盤廝殺,到現(xiàn)在形成了三足鼎立之勢:Android、iOS、Windowsphone8三者一統(tǒng)天下。

而其他的諸如SymbianS60,UIQ,WindowsMobile,Linux,Brew,Blackberry...則成為了過眼煙云。

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

有人說:上一個十年是互聯(lián)網(wǎng)時代;這個十年就是移動互聯(lián)時代!

你還在等什么?

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

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

1875年6月2日,貝爾做實驗的時候,不小心把硫酸濺到「自己的腿上。他疼得對另一個房間的同事喊到”

活,快來幫我啊!”而這句話通過實驗中的電話傳到了在另一個房間接聽電話的活特耳里,成為人類通過電話傳送

的第一句話。

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

把電磁感應(yīng)理論推廣到了空間。而60多年后赫茲在實驗中證實了電磁波的存在。

電磁波的發(fā)現(xiàn),成為"有線電通信”向"無線電通信”的轉(zhuǎn)折點,也成為整個移動通信的發(fā)源點。正如?位科學(xué)

家說的那樣”手機(jī)是踩著電報和電話等的肩膀降生的,沒有前人的努力,無線通信無從談起。”

1973年4月的一天,一名男子站在紐約的街頭,掏出一個約有兩塊磚頭大的無線電話,并開始通話。這個人

就是手機(jī)的發(fā)明者馬丁庫泊。當(dāng)時他還是摩托羅拉公司的工程技術(shù)人員。這是當(dāng)時世界上第?部移動電話。

1975年,美國聯(lián)邦通信委員會(FCC)確定了陸地移動電話通信和大容量蜂窩移動電話的頻譜。為移動電話投

入商用做好了準(zhǔn)備。

1979年,日本開放了世界上第一個蜂窩移動電話網(wǎng)。

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

1985年,第一臺現(xiàn)代意義上的可以商用的移動電話誕生。它是將電源和天線放置在?個例子里,重量達(dá)3公

斤。與現(xiàn)代形狀接近的手機(jī),則誕生于1987年。其重量仍有大約750克,與今天僅重60克的手機(jī)相比,象一塊

大磚頭。此后,手機(jī)的"瘦身”越來越迅速。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ī),它同時還是第一部中文手寫識別輸入的

手機(jī),但最重要的是A6188采用了摩托羅拉公司自主研發(fā)的龍珠(DragonballEZ)16MHzCPU,支持WAP1.1無線

上網(wǎng),采用了PPSM(PersonalPortableSystemsManager)操作系統(tǒng)。龍珠(DragonballEZ)16MHzCPU也成

為了第一款在智能手機(jī)上運(yùn)用的處理器,雖然只有16MHz,但它為以后的智能手機(jī)處理器奠定了基礎(chǔ),有著里程

碑的意義。

三、認(rèn)識Android

Android最早由安迪?羅賓(AndyRubin)創(chuàng)辦,于2007年被Google公司收購,Google公司憑借Android操

作系統(tǒng)在智能手機(jī)上取得了巨大的成功。

如果以前你對智能機(jī)了解不多也沒有關(guān)系,你能感覺到現(xiàn)在的手機(jī)除了能夠打電話、發(fā)短信之外,越來越像

一臺功能強(qiáng)大的小電腦就0K了!

四、修煉之道

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

對于我們菜鳥級別,初學(xué)的時候很多朋友聽了網(wǎng)上傳言的“學(xué)編程要六級以上英語、高等數(shù)學(xué)更是要過硬”

以致于很多朋友只能“高山仰止”!而實際上初學(xué)者經(jīng)驗不足,初入此道,程序可能存在種種錯誤和BUG,但是

這都不能影響我們學(xué)習(xí)的決心和勇氣,就像學(xué)開車,即使你從駕校出來有了駕照,剛上路仍然感覺手忙腳亂,眼

睛不夠用一樣,隨著你的車技嫻熟,你會變得從容起來,編程一樣。

不要怕錯,學(xué)編程比開車要好得多,無論如何你都不會“闖車禍”,大不了重來,怕什么,誰不是從1、2、

3開始學(xué)起的!

2、規(guī)范有序

有了一定的經(jīng)驗就不能像初始階段,程序逐漸開始規(guī)范,無論變量的命名還是各種文檔,并且注重程序的運(yùn)

行效率等等。我們都講:細(xì)節(jié)決定成敗,但往往是“嚴(yán)于律人,寬以待己”,這樣不好!細(xì)節(jié)不是喊一聲就會出

現(xiàn)在你面前的,這是一個需要不斷學(xué)習(xí)和實踐。這個過程有長有短,要看個人的學(xué)習(xí)能力,領(lǐng)悟能力。

做到內(nèi)外兼修,內(nèi),指的是需求把握,設(shè)計思想,設(shè)計模式等。外,指的是寫代碼時的規(guī)范,做界面時的嚴(yán)

謹(jǐn)?shù)取?/p>

3、用戶體驗

因為我們設(shè)計的程序最終是給用戶用的,要注意用戶體驗。

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

4、學(xué)無止境

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

冰凍三尺,非一日之寒。

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

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

五、準(zhǔn)備工作

我們開發(fā)Android手機(jī)App程序需要準(zhǔn)備兩樣寶貝:Java.JDK^AndroidSDK(ADT即AndroidDevelopTools

縮寫)。

1、JavaJDK

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

下載地址:

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

OverviewDownloadsDocumentationCommunityTechnologiesTraining

JavaSEDownloads

LatestReleaseNextRelease(EarlyAccess)EmbeddedUsePreviousReleases

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

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

JavaSEDevelopmentKit7u9

YoumustaccepttheOracleBinaryCodeLicenseAgreementforJavaSEtodownloadthis

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)是?位,很

簡單,選擇桌面“計算機(jī)”單擊右鍵,查看屬性一看就明白了?。?/p>

2、AndroidSDK

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

卜'載地址:

DownloadtheSDK

ADTBundleforWindows4

六、軟件安裝

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

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

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

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

(1)解壓adl-bundle-windo\vs-x86.zip文件至合適的位置,會生成adt.-bundle-windo\vs-x86文件夾,在

adt-bund1e-windows-x86文件夾又有兩個子文件夾:eclipse和sdk。

(2)打開adt-bundle-windows-x86/eclipse文件夾,然后啟動eclipse,exe程序。

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

至此,我們環(huán)境己經(jīng)全部安裝好了,就這么簡單!EclipseIDE集成開發(fā)已經(jīng)幫我們準(zhǔn)備好了開發(fā)環(huán)境,而

且SDK也已經(jīng)自動準(zhǔn)備就緒,萬事俱備!就等著你開始開發(fā)第?個AndroidApp了!

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

最為經(jīng)典的“Hello,world!”之AndroidApp應(yīng)用程序即將在你自己的手機(jī)上運(yùn)行,你是不是心潮澎湃呢?

稍安勿躁,你馬上就可以實現(xiàn)!

附:

網(wǎng)上比較流行的Android的開發(fā)環(huán)境常常為JDK+Eclipse+SDK三大利器進(jìn)行配置,如果你喜歡,你可以百度

一下!而Google現(xiàn)在非常推薦你采用本文的方式,尤其你如果是一名新手!

我一直猶豫如何講解這個開篇之作,但發(fā)現(xiàn)的IDE開發(fā)環(huán)境做得越來越智能,

基本上一路回車就可以搞定一個簡單的應(yīng)用。

一、第一步,啟動Eclipse

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

二、第二步,建立Android項目

選擇菜單file->new->androidapplicationproject

[FilejEditRunSourceNavigateSearchProjectRefactorWindowHelp

NewAlt+Shift+N>廖JavaProject

OpenFile...AndroidApplicationProject

Project...

CloseCtrl+W門

CloseAllCtrl+Shift+W第Package

Ctrl+S?Class

Save

Interface

SKVPA?!?

1、選擇workspace(Selectaworkspace)

Eclipse第一次建立AndroidProject會讓你選擇workspace(workspace

通俗地講就是把你的項目存到哪個文件夾內(nèi)),在本案例中我存放到D:\Apps,

如果勾選「復(fù)選框,下一次建立AndroidProject就不會再出同這個對話框了。

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

我們在窗口中輸入:

ApplicationName:Hello

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

PackageName:com.genwoxue.hello(你可以使用別的包名,習(xí)慣用這個

域名倒寫的方式)

TargetSDK:如果你采用真機(jī)測試,看看你的真機(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”按鈕,打開項目主界面。

6、Hello項目主界面

你可能一下子被整個界面弄暈了,太復(fù)雜了,這么多文件夾,實際上將來

我們所有關(guān)心的東西并不多,別害怕,我們只要知道①②③都是干什么的就夠

了。

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

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

如果你還沒有一臺運(yùn)行Android的設(shè)備(手機(jī)),那么我們需要建立一個

虛擬設(shè)備。

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

1、選擇菜單window->AndroidVirtualDeviceManager

|Window)Help

NewWindow

NewEditor

OpenPerspective?

ShowView?

CustomizePerspective...

SavePerspectiveAs...

ResetPerspective-

ClosePerspective

CloseAllPerspectives

Navigation

AndroidSDKManager

AndroidVirtualDeviceManager

團(tuán)

RunAndroidLint

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

單擊"New…”按鈕。

6AndroidVirtualDeviceManager[CJ|

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

我們在窗口輸入:

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

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

然后單擊“OK”按鈕。

4、虛擬設(shè)備管理器(AndroidVirtualDeviceManager)就多出來了一款

“HTC”設(shè)備。

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

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

Run]NavigateSearchProjectWindowHelp

%Run,Ctrl+Fll

DebugFil

2、選擇AndroidDevice設(shè)備

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

真機(jī)。)

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

中國移動3G0購dll15:37

*1Hello

Helloworld!

至此,我們第一個AndroidApp正式誕生了,舉杯慶賀一下吧!你也正式

進(jìn)入移動開發(fā)的行列,未來的十年“移動互聯(lián)”有你!

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

盡管經(jīng)典之中的經(jīng)典Hello,world!已經(jīng)悄然運(yùn)行在我們的手機(jī)上了,但如果現(xiàn)

在讓你告訴別人你會Android開發(fā),估計你自己都心虛,讓我們一起再會

Hello,world!項目,揭開廬山真面目。

第一次在Eclipse中看Android項目工作區(qū)估計眼都花了,頭都暈了,你

一定會想:這么復(fù)雜!

但事實上,可能會比你想得簡單,而且我們采取循序漸進(jìn)方式,你很快就

會掌握的。

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

,Hello

,0src

/田com.genwoxue.hello

[j]MainActivity.java

/落gen[GeneratedJavaFiles]

/田com.genwoxue.hello

(2)t>團(tuán)BuildConfig.java

>由R.java

,&Android4.2

@androidjar

咻AndroidDependencies

assets

t>冬bin

.libs

/&res

>0drawable-hdpi

>&drawable-ldpi

&drawable-mdpi

t>&drawable-xhdpi

&layout

④Qactivity_main.xml

>除menu

t>6values

>0values-vll

6values-vl4

^5)@AndroidManifest.xml

囪icjauncher-web.png

,_Jproguard-prqject.txt

昌project,properties

新建一個Android項目,Eclipse會自動幫我們建立諸多文件,我們看一

下:

其中:

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

第②部分:代表系統(tǒng)資源ID,類似于C語言的*.h文件,請千萬不要手工

修改R.java文件;

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

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

第⑤部分:每一個Android項目都包含一個清單(Manifest)文件

一AndroidManifest.xml,它存儲在項目層次中的最底層。清單可以定義應(yīng)用程

序及其組件的結(jié)構(gòu)和元數(shù)據(jù)。

如果你想了解更多AndroidManifest.xml,請單擊了解更多>>

Android項目中主要文件及文件夾的作用:

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

(2)gen:為ADT插件自動生成的代碼文件保存路徑,其中的R.java文件

將保存所有的資源IDo

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

(4)assets:可以存放項目中一些較大的資源文件,如圖片、音樂、字體

等。

(5)res:可以存放項目中所有的資源文件,如圖片(*.png、*.jpg)、

網(wǎng)頁(*.html)、文本等。

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

(7)res'drawableTdpi:保存低分辨率圖片資源。

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

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

在Android程序要讀取此配置。

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

夾中有一些約定的文件名稱。(具體內(nèi)容待以后詳解)

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

式。

(12)res\xml:用戶自定義的XML文件,所有的文件在程序運(yùn)行時編譯到

應(yīng)用程序中。

(13)res\anim:用于定義動畫對象。

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

(15)R.java:此文件為自動生成并自動維護(hù)的,用戶添加的控件會自動

在此文件中生成一個唯一的ID,以供程序使用。

(16)AndroidManifest.xml:主要配置文件,用于配置各個組件或一些訪

問權(quán)限等。

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

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

八、Android項目分析

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

雙擊"res\layout\activity_main.xml”打開布局文件。注意①代表布局

文件圖形界面;②代表布局文件代碼界面。

Bffll國囪TE)&

工GraphicalLayout尋activitymain.xml

@activity_mainjcml0日

<RelativeLayoutxmlns:android=Mhttp://schemas.android.com/apk/res/android11▲

xmlnsitools^^http://schemas,android.com/tooLs11

android:layout_width=o/natch_parentM

android:layout_height=M/natch_parentM

tools:context=M.Ataln4ctivity,r>

<TextView

android:layout_width=°wrap_contentM

rM

android:layout_height=*wrap-content

android:layout_centerHorizontal=Mtrue0

android:layout_centerVertical=Mtrue0

android:text=*r^string/heLLq_wortd0/>

</RelativeLayout>

____一___①@

司GraphicalLayout犯activitymain.xml

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

題欄,①為標(biāo)題欄的圖標(biāo),②為標(biāo)題;③代表標(biāo)簽<TextViw》,類似于眾多程序

的Label。

我們再來看一下代碼:

TextCopytoclipboardPrint

|1.

2.<RelativeLayoutxmlns:android="/apk/

res/android"

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

4.android:layout_width="match_parentn

5.android:layout__height="match_parent"

6.tools:context=".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文件的概念,如果沒有請

了解這后再來繼續(xù)學(xué)習(xí)。

本段代碼包含了兩個重要標(biāo)簽:<RelativeLayout4(KTextView>,

<RelativeLayout>代表線性布局管理器;(TextView〉代表標(biāo)簽組件。其它的皆

為兩個標(biāo)簽的屬性。

我們著重來看一下:android:text="/@string/hello_world//,我們的運(yùn)行

結(jié)果是"Helloworld!n而不是"hel是_world"!

Why?

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

雙擊“res\values\strings.xml”打開文本資源文件。與布局文件一樣:

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

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

<stringname=〃helloworld,z>Helloworld!</string>

前面的疑慮應(yīng)該頓消,原來如此啊!hello_world是文本資源文件中的一

個標(biāo)簽而已,其真正的內(nèi)容是“Hell。world!”。

你可以通過圖形界面或者字符界面添加一個字符串資源,究竟你選擇哪種,

隨你高興!

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

雙擊gen/Com.genwoxue.hello/R.java”打開資源ID文件。

[j]Rjava

碘/*AUTO-GENERATEDFILE.DONOTMODIFY.

packagecom.genwoxue.hello;

publicfinalclassR{

publicstaticfinalclassattr{

}

publicstaticfinalclassdrawable{

publicstaticfinalintic_Launcher=0x7f0200^0;

)

publicstaticfinalclassid{

publicstaticfinalint/nenu_settings=0x7f070000;

}

publicstaticfinalclasslayout{

publicstaticfinalintactivity_/wain=0x7f03^000;

)

publicstaticfinalclassmenu(

publicstaticfinalintactivin=0x7f060000;

}

publicstaticfinalclassstring{

publicstaticfinalintapp_name=0x7f04^000;

publicstaticfinalinthetLo^world=0x7f040^01;

publicstaticfinalint/nenu_settings=0x7f040002;

R.java資源文件保存所有資源的ID,譬如前面所講的hello_world,在這

里就是一個整數(shù)0x7f040001而已。

如果你感覺這個文件很奇怪也很正常,除非你曾經(jīng)學(xué)習(xí)或者寫過Cfor

windows應(yīng)用程序就早已習(xí)以為常了。

這個文件你最好只是看看,不要動它!??!

雙擊“AndroidManifest.xml”項目配置文件。

HelloManifest區(qū)

<?xmlversion=*rl.encoding="utf-8”?>

-<manifestxmlns:android-^http://schemas.android.com/apk/res/android"

package=Mcon?.genwoxue.heLLou

android:versionCode=*rlM

android:versionName=*rl.0M>

<uses-sdk

android:minSdkVer$ion="8"

android:targetSdkVersion=*,15M/>

二opplication

android:a1lowBackup=11true0

android:icon=t,^drawabLe/ic_Launcher>,

android:label=n^string/app_name°(2)

android:theme='^styLe/AppTheme”>

€?octivity

android:name=genwoxue,heLLo.frlainActivityu

android:label-^'^string/app_nameM>(3)

J<intent-filter>

<actionandroid:name=**androtd.intent,action.^1AINM/>

<categoryandroid:name=^ent.category.LAUNCHERS/>

</intent-filter>

</activity>

</application>

</manifest>

雪Manifest|⑥Application@Permissions(T]InstrumentationFlAndroidManifestJcml

所有的Activity程序都在AndroidManifest.xml文件中進(jìn)行注冊,故該文

件是整個Android項目的核心配置文件。

在〈application〉節(jié)點中配置的

android:icon=,/@drawable/ic_launcher/,,表示弓I用drawable

(drawable-hdpi>drawable-1dpi>drawablerndpi三個文件夾中導(dǎo)入)資源

配置的圖標(biāo),引入圖標(biāo)的名稱為icjauncher?,F(xiàn)在你可以更換應(yīng)用程序圖標(biāo)

了,你知道了它在哪!

在<application>節(jié)點中酉己置的android:label=,/@string/app_name//,表

示此應(yīng)用程序的標(biāo)簽名稱從strings.xml文件中讀取,內(nèi)容為app_name對應(yīng)的

內(nèi)容。現(xiàn)在你也可以更換應(yīng)用程序標(biāo)題了,你知道了它在哪!

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

Activity就是一個活動的窗體,一個項目應(yīng)用程序可以包含多個

Activityo

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

雙擊“src/com.genwoxue.hello/MainActivity.java^程序文件。

MainActivity.]ava區(qū)

packagecom.genwoxue.hello;

importandroid.os.Bundle;

importandroid.app.Activity;

publicclassMainActivityextendsActivity(

d(gOverride

protectedvoidonCreate(BundlesavedlnstanceState){

super.onCreate(savedlnstanceState);

setContentView(R.layout

)

)

本程序是Android整個項目的主程序,Activity是項目的基本組成部分。

MainActivity繼承Activity類,onCreate()方法是啟動Activity地默認(rèn)

調(diào)用的方法。

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

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

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

的Android程序發(fā)布為Android應(yīng)用,以便讓別人使用呢?

1、選擇File—>Export命令,在打開的界面中選擇Android—>Export

AndroidApplication文件。

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

2、可以通過“Browse.”按鈕選擇Hello這個項目,如果項目處于打開

狀態(tài),會默認(rèn)當(dāng)前項目。

?ExportAndroidApplicationg回toad

ProjectChecks

Performsasetofcheckstomakesuretheapplicationcanbeexported.e

Selecttheprojecttoexport:

Project:Hello①Browse...

Noerrorsfound.ClickNext.

Cancel

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

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

我們選擇"Createnewkeystorev。

在此,我們輸入:

Location:D:\Hello(我們可以起一個不同于項目的名稱)

Password^0Confirm:123456

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

界面。

4、填寫完整的證書信息。

①部分為證書別名與有效年限;

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

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

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

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

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

單擊“Finish”按鈕完成整個項目發(fā)布過程。

現(xiàn)在,你可以采取你喜歡的任意方式(可以通過數(shù)據(jù)線、藍(lán)牙)或者發(fā)布

到Android應(yīng)用商店供別人下載使用。

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

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

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

習(xí)Android中的基本控件:⑴EditText編輯框、(2)Button按鈕。

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

打開"res/layout/activity_main.xml"文件。

1、分別從工具欄向activity拖出2個EcHtText(來自TextFields),1個按鈕(來自

FormWidgets)。

<:Palette

但.▼QNexusOne▼0▼

■Palette

:—FormWidgets;AppTheme▼QMainActivity▼

—VfLargeMediumsm*i

ButtonSmallOFFM?▼麻17▼

i

JCheckBox?RadioButlonl

C^eckedTextViewEEJi國?q0|a?|

Spinner

SubItem$EditTextButton

Button

1-2―3

usef@domam

(555)0100

Other

Custom&LibraryViews

2、打開activity_main.xml文件。

代碼自動生成如下:注意①和②雖同為EditText,但②要輸入密碼,故

u

android:inputType="textPassword0

<EditText

android:id=M^-id/editfextl*rQ)

android:layout__width=Mwrap_content0

android:layout_height=°wrap__contentM

android:layout_alignParentLeft=°true”

android:layout_alignParentTop=,rtrue”

android:layout_marginTop="34dp"

android:ems=*r100>

<requestFocus/>

</EditText>

<EditText

android:id="^id/editText2"

android:layout_width=Mwrap_content*r

android:layout_height=°wrap^contentM

android:layout_alignParentLeft=Mtrue”

android:layout_below=^^id/editTextl,r

android:layout_marginTop=n18dpM

android:ems=M10M

android:inputType=MtextPassword0^/>

<Button

android:id="能id/buttonZ"Q)

android:layout__width=*,wrap__content,r

android:layout_height=Mwrap^content0

android:layout_alignRight=*r^-id/editlextlM

android:layout_below="|^+id/editText2”

android:layout_marginTop="36dp”

android:text-"Buttonn/>

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

為password;buttionl變?yōu)閘ogin。登錄按鈕的文本:android:text="Button"變?yōu)?登錄"。

<EditText

android:id-M^+id/userName11Q)

android:layout_width=Mwrap__contentM

android:layout_height=Mwrap_contentM

android:layout_alignParentLeft=otrue”

android:layout_alignParentTop=Mtruew

android:layout_marginTop=034dpM

android:ems=M10M>

<requestFocus/>

</EditText>

<EditText

android:id="斛id/passhtord"G)

android:layout_width=Mwrap^contentM

android:layout_height=*rwrap^contentw

android:layout_alignParentLeft=MtrueM

android:layout__belw='^id/userName”

android:layout_marginTop=*f18dp°F\

android:ems=M10M"

android:inputType=MtextPass^vordM/>

<Button

android:id=t,^id/Login,1(3)

android:layout_width="wrap_uonterTt”

android:layout_height=*rwrap_contentM

android:layout_alignRight=*,^fid/userA/a/we”

android:layout_below=*,^fid/passlVdrdO

android:layout_marginTop=036dp°R

android:text=,r^^°/>

4、界面如下:

<EditTextButton

度錄

現(xiàn)在運(yùn)行程序,已經(jīng)在手機(jī)上看起來很像一個登錄窗口了。但是,我們單擊“登錄”按鈕,

卻沒有什么反應(yīng)。我們下面學(xué)習(xí)如何在“登錄”按鈕上添加單擊事件。

二、單擊事件

打開"src/com.genwoxue.edittextbutton/MainActivity.java"文件。

然后輸入以下代碼:

packagecom.genwoxue.edittextbutton;

importandroid.os.Bundle;

importandroid.app.Activity;

importandroid.widget.EditText;

importandroid,widget.Button;

importandroid.view.View;QI)

importandroid.view.View.OnClickListener;

importandroid.widget.Toast;

publicclassMainActivityextendsActivity{

privateEditTexttvUserName=null;

privateEditTexttvPassword=null;(2J

privateButtonbtnLogin=null;

@Override

protectedvoidonCreate(BundlesavedlnstanceState){

super.onCreate(savedlnstanceState);

setContentView(R.layout.activity_main);

tvUserName=(EditText)super.findViewByld(R.id.userName);

tvPass\9ord=(EditText)super.findViewByld(R.id.passlVord);zrx

btnLogin=(Button)super.findViewById(R.id.Login);x-/

btnLogin.setOnClickListener(newLoginOnClickListener());

}

privateclassLoginOnClickListenerimplementsOnClickListener{

publicvoidonClick(Viewv){

Stringusername=tvUserName.getText().toString();

Stringpassword=tvPassword.getText().toString();

Stringinfo="毛Q名:率石:"+password;

Toast./?afeeText(getApplicationContext(),info,Toast.LENGTH_SHORT).show();

)

}

在以上代碼中,我們著重分析一下帶有淺藍(lán)色背景部分,其它是最簡單的基礎(chǔ)代碼,如

果不明白,請參考上一章內(nèi)容。

1、第①部分

導(dǎo)入5個包。

2、第②部分

聲明三個控件變量。

3、第③部分

這一部分findViewByld()方法是一個關(guān)鍵,這個方法表示從R.java文件中找到一個View

(注意:我們可以把控件和Acitivity都當(dāng)成一個View)。例如,

tvUserName=(Ed讓Text)super.findViewByld(R.id.userName)表示我們從R文件中找到

userName代表的控件最后返給tvlIserName,下一步我們可以通過tvUserName.getText()

方法進(jìn)一步獲取到它的值。

另一個關(guān)鍵是就是給"登錄"按鈕添加單擊監(jiān)聽事件:btnLogin.setOnClickListener(new

LoginOnClickListener())。

4、第④部分

我們新建一個類LoginOnClickListener繼承接口OnClickListener用以實現(xiàn)單擊事件監(jiān)

聽。

Toast.makeText(getApplicationContext(),info,Toast.LENGTH_SHORT).show()ffl以提

示輸入的用戶名和密碼。

效果如下:

中國移動3G<1?中力中<23:17

EditTextButton

hello

登錄

用戶名:hellosa★歷碼:123456

第2章、單選按鈕RadioGroup與復(fù)選框

CheckBox

在AndroidApp應(yīng)用中,單選按鈕和復(fù)選框也是經(jīng)常使用的,下面我們一起學(xué)習(xí)一下。我們

需要學(xué)習(xí)Android中的基本控件:⑴單選按鈕RadioGroup、⑵復(fù)選框CheckBox。

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

打開"res/layout/activity_main.xml"文件。

1、分別從工具欄向activity拖出1個單選按鈕列表RadioGroup(注意自動包含3

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論