【Android開發筆記】2.第一個Demo


前言

上一節已經完成了Android開發環境的搭建,在這一節,將會新建一個Demo,以熟悉Eclipse。包括詳細的開發步驟、如何使用模擬器、如何連接手機、如何生成安裝包等。

聲明

本系列文章不是教程,僅為筆記,如有不當之處請指正。

歡迎轉載,轉載請保留原出處:http://www.cnblogs.com/rayee

正文

新建一個Demo並運行。

一、新建工程

打開Eclipse,File –> New –> Project

image

選擇Android Project

image

選擇Android SDK版本(這將決定程序能運行在哪些版本的設備上。Android程序支持向下兼容,也就是說Android4.0.3的設備能運行基於Android1.6 SDK開發的程序,反過來則不能運行。你可以選擇最低的Android1.6以兼容更多的設備,但在程序中不能使用更高版本中的特性,所謂魚和熊掌不能兼得,根據實際情況選擇才是王道。)

image

選擇Android2.2,點擊Next

image

█ 標注1處填寫程序名稱,即運行程序時顯示在頂部的名稱。

█ 標注2處填寫包的名稱,學過JAVA的同學都明白何為“包”,對於還沒接觸“包”的同學,我就個人的理解說一下:

Package(包),為了防止同名的class產生沖突而把他們分到不同的組,這個組就是“包”,具體表現形式為文件夾,如com.android.demo,在工程的下src下可看到com/android/demo,三個依次包含的文件夾。>>點此查看詳細資料

注意:1.包名中不能包含中文字符,2.不能以分隔符“.”結尾,3.不能少於兩層。

█ 標注3處為主Activity的名稱,自動生成,無需修改。

Activity是Android組件中最基本也是最常用的一種組件。在一個Android應用中,一個Activity表現為一個單獨的屏幕(功能類似於wml里面的card)。每一個Activity都被實現為一個獨立的類,並且繼承於Activity這個基類。>>點此查看詳細資料

█ 標注4處,支持的最低版本,即為上一步選擇的SDK版本。

點擊Finish,可看到工程就新建好了。

二、工程文件介紹

image

上圖為一個工程的目錄結構,下面將依次介紹:

src文件夾

此文件夾下存放着程序的JAVA程序源碼,可以看到已存在包com.android.demo、DemoActivity.java,這是新建工程時自動生成的。以后的編碼工作主要在此文件夾下進行。

gen文件夾

可看到這個文件夾下存在包com.android.demo,包里面有一個R.java文件,里面保存了用到的資源的相關信息,由IDE自動維護,不需要手動修改。以后用到會詳細講解。

Android 2.2

這個為SDK包,如果選擇其它的SDK這里會有所不同。

█  assets文件夾

存放資產文件的文件夾。

bin文件夾

編譯生成的apk程序會存放到此文件夾下。

res文件夾

也是資源文件夾,但和assets文件夾有所不同:加入此文件夾的資源會被自動添加到gen下的R.java文件夾中,在程序中可通過R.java訪問資源,而assets文件夾下的資源需自行維護。

res文件夾下主要放圖片、文字、布局等文件。

AndroidManifest.xml文件

此文件為程序的配置文件,包含全局變量、應用組件、應用組件用到的類等信息。此文件相當重要,必不可少!

三、采用模擬器運行程序

接下來我們在模擬器中讓程序跑起來看看…

什么?你說我還什么都沒寫,怎么運行?IDE創建工程的時候不是自動創建了一系列文件嗎?是的,這些自動創建的程序不需要修改就已經能運行起來了,簡單吧

左側工程Demo上點右鍵 –> Run As –> Android Application

image

等等,出錯了…看看是怎么回事(如果沒出錯,說明你之前配置好了模擬器,或者,你的手機正連接到電腦上?)

image

看控制台日志,沒找到合適的AVD!(AVD即Android Vitual Device,Android虛擬設備,即模擬器)

對了,還沒有模擬器,點“Yes”新建一個:

image

在模擬器管理界面點擊標注1,彈出添加界面,如上圖所示:

█ 標注2處填寫名稱,隨便填,你自己能理解就行。

█ 標注3處選擇Android版本,跟你的程序匹配。

█ 標注4處選擇模擬器的外觀,主要是屏幕大小,這里我選HVGA。

點擊"Create AVD”添加,在模擬器管理界面可以看到已經有2.2版本的模擬器了

image

在這里補充說一下之前點擊“Run As Android Application”后都發生了些什么:

Eclipse自動查找是否有合適的設備(手機或模擬器),如果沒找到會提示添加模擬器。如果找到多個符合條件(設備版本等於或高於程序版本)的設備會優先選擇在線狀態的設備,如果存在多個在線的設備會彈出選擇窗口然你手動選擇,然后自動將程序安裝到選擇的設備上並運行。

你可以在工程屬性中指定為手動選擇,這樣每次運行都需要手動選擇設備。設置步驟如下圖所示:

image

標注1處點右鍵 –> Proterties打開工程屬性窗口。

標注4處選擇手動或自動,若選自動,可在標注4處選擇首選設備。

把模擬器管理窗口關掉,再次運行程序(左側工程Demo上點右鍵 –> Run As –> Android Application)

等待模擬器啟動…(機器配置較差的同學可以先去泡個面)

image

可以看到,模擬器啟動后自動安裝程序,並且自動運行了!是否小小的激動了一下?(話說當初第一次用VB編寫拖出個窗口生成exe程序並運行起來時,真是興奮不已,因為之前自己搗鼓html,直接就能看到源碼,沒什么奇妙的,能弄出個二進制的exe覺得好神奇…)

不熟悉Android的同學可以搗鼓一下這個模擬器,看看Android手機都是什么樣子。

在模擬器中退出程序,在程序列表中可以看到程序:

image

模擬器不用關閉,讓它閑着,下次調試還會用到,否則又可以泡面了…

四、連接手機運行程序

經過模擬器運行后再用手機運行就輕車熟路了,Eclipse都幫你搞定了,你等着看結果就是。

把手機用USB線連接到電腦,左側工程Demo上點右鍵 –> Run As –> Android Application

在彈出的設備選擇窗口選擇手機:

image

點擊“OK”,等待程序安裝到手機上后,就可在手機上看到運行中的程序了。

在這一步,很多同學會遇到找不到手機的問題,表現為不彈出設備選擇窗口,自動在模擬器中運行(話說我第一次運行也遇到這個問題),搜索了一番,可能的原因如下:

1.未安裝手機驅動。

對,沒錯!需要安裝手機驅動!不然電腦只是個充電器,不認識手機。在此需要根據自己的手機型號安裝不同的驅動,安裝好驅動插上手機后,可在手機的通知欄看到“USB已連接”字樣,這時候再運行就行了。

2.未開啟調試模式

手機上,設置 –> 應用程序設置 –> 開發,USB調試勾上。

3.連上電腦手機沒反應

換個USB插口或USB線試試

五、程序打包和簽名

很遺憾,這一節沒能接觸到代碼的編寫,時間都花在熟悉IDE上了,將就這個空的Demo程序練習一下打包、簽名吧。

工程Demo上點右鍵 –> Export…

image

標注2處選擇Export Android Application,點擊“Next”,讓選擇需要打包的工程,直接“Next”,到keystone頁面

image

選擇”Create new keystore”,因為我們還沒keystore。如果有,直接選擇。

選擇生成keystore后存放的位置,設置密碼(這個密碼很重要)。

補充說明一下keystore:

keystore實際上是一個數字證書,用來對Android程序進行簽名。如果有不知道數字證書的同學,>>請到此查看相關資料

Android通過數字證書確定程序包的唯一性,與程序建立信任關系,在使用者的認可下使用預先申報的資源,這個數字證書並不需要權威的數字證書簽名機構認證。

建議開發者使用同一個數字證書對你的作品進行簽名,有如下好處:

  1. 有利於程序升級,當新版程序和舊版程序的數字證書相同時,Android系統才會認為這兩個程序是同一個程序的不同版本。如果新版程序和舊版程序的數字證書不相同,則Android系統認為他們是不同的程序,並產生沖突,會要求新程序更改包名。
  2. 有利於程序的模塊化設計和開發。Android系統允許擁有同一個數字簽名的程序運行在一個進程中,Android程序會將他們視為同一個程序。所以開發者可以將自己的程序分模塊開發,而用戶只需要在需要的時候下載適當的模塊。
  3. 可以通過權限(permission)的方式在多個程序間共享數據和代碼。Android提供了基於數字證書的權限賦予機制,應用程序可以和其他的程序共享概功能或者數據給那那些與自己擁有相同數字證書的程序。如果某個權限(permission)的protectionLevel是signature,則這個權限就只能授予那些跟該權限所在的包擁有同一個數字證書的程序。

接下來填寫證書信息:

image

根據自己的情況填寫,點擊“Next”,生成keystore,到下一頁面:

image

選擇APK文件生成的位置,點擊Finish,完成。

把Demo.apk手動安裝到手機上運行看是否正常運行。

結尾

這一節主要是熟悉Eclipse以及Android開發的一些東西,沒有編碼。基礎比較差,只能一步一步來。

下一節將動手編碼,熟悉Android SDK以及JAVA。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM