建立 android 新專案
DESCRIPTION
Android 智慧型手機程式設計. 建立 Android 新專案. 建國科技大學 資管系 饒瑞佶 2012/4 V1 2012/8 V2 2013/2 V3. 建立新專案步驟 使用 Eclipse. 步驟 1 :啟動 Eclipse 步驟 2 : File New Project Android Project 步驟 3 :設定專案參數 ( 主要 4 個 ) Project name Application name Package name Create activity 步驟 4 :編輯程式 步驟 5 :執行程式. 建立新專案. - PowerPoint PPT PresentationTRANSCRIPT
建立 Android 新專案
建國科技大學 資管系饒瑞佶
2012/4 V12012/8 V22013/2 V3
Android 智慧型手機程式設計
建立新專案步驟使用 Eclipse
• 步驟 1 :啟動 Eclipse• 步驟 2 : File New Project Android
Project• 步驟 3 :設定專案參數 ( 主要 4 個 )– Project name– Application name– Package name– Create activity
• 步驟 4 :編輯程式• 步驟 5 :執行程式
建立新專案本範例設定如下:• Project name : Hello Android
• Application name : Hello Android App
• Package name : com.android.hello
• Create Activity : HelloAndroid
建立新專案步驟步驟 1 :啟動 Eclipse
Eclipse.exe Eclipse啟動畫面
1
2
建立新專案步驟步驟 1 :啟動 Eclipse
指定工作空間3
放置原始碼位置請指定您自己需要的目錄來存放新專案
建立新專案步驟步驟 2 :建立新專案
1
建立新專案步驟步驟 2 :建立新專案
2
選擇 Android Android Application Project
3
版面會因 ADT 不同而不同
建立新專案步驟步驟 3 :設定專案參數
3 填寫 Application 、 project & package name
4選擇 platform
5
建立新專案步驟步驟 4 :設定專案參數
新的 ADT 畫面可能不同!!
建立新專案步驟步驟 5 :設定專案 icon
新的 ADT 畫面可能不同!!
建立新專案步驟步驟 6 :設定專案 Activity
建立新專案步驟步驟 7 :設定 Activity 參數
建立新專案步驟完成畫面
建立新專案參數意義• Project name :專案名稱, Eclipse 中使用• Application name :應用程式名稱,未來安裝到手機上時的顯示名稱
• Package name : APK ( Android Package )安裝套件名稱(使用網域名稱的命名方式,只要符合應用程式意涵就可以)– Google play 不接受 com.android.xx 或
com.sample.xx
• Create Activity :動作類別名稱,未來 OS 以這個名稱判別程式處於活動、暫停或關閉狀態
Android 程式目錄架構• Eclipse 內的 workspace 目錄• 實際檔案目錄
整個原始專案內容
看到這個有什麼感覺?
找找看 Java 程式在那?
專案內兩大檔案類型.java.xml
Android 專案目錄架構• Package explorer
Java 原始檔案
R.java 版面與資源設定檔(自動產生,不要輕易更改)
程式介面主檔案 main.xml內容檔案 strings.xml
AndroidMainfest.xml 定義應用程式整體內容與資源定義 Android SDK 版本的檔案 default.properties
Android.jar 指出 Android SDK 存放的目錄
多數時間都與其打交道
可以存放一些資源檔案的目錄但不會在 R 中出現
先不更改任何程式下執行看看本專案的結果
步驟 5 :執行專案程式• 如果有設定好 AVD ,會自動啟動模擬器• 會將 APK ( com.android.hello )安裝到模擬器( data/app/ 目錄)上面
• 模擬器上顯示 Application name ( Hello Android App )的名稱
步驟 5 :執行專案程式
1
如果沒有設定,請設定專案對應的 AVD
步驟 5 :執行專案程式
2
設定專案對應的 AVD
步驟 5 :執行專案程式
3
4
設定專案對應的 AVD
步驟 5 :執行專案程式
5 確定模擬器
6
設定專案對應的 AVD
步驟 5 :執行專案啟動模擬器 I
啟動模擬器執行需時較久,請耐心等候
步驟 5 :執行專案啟動模擬器 II
步驟 5 :執行專案啟動模擬器 III
這個畫面長怎樣,要看你選的 SDK 版本
步驟 5 :執行專案模擬器結果
模擬器上程式畫面
模擬器不用關閉,等待下次執行
如何看模擬器上面的 data/app 目錄(I)
• 執行程式會將 APK 套件( com.android.hello )安裝到模擬器( data/app/ 目錄)上面
• 透過 android-sdk-windows\tools\adb.exe
如何看模擬器上面的 data/app 目錄(II)
• 模擬器要開啟執行
adb shell1
如何看模擬器上面的 data/app 目錄(III)
cd data/app2
如何看模擬器上面的 data/app 目錄(IV)
ls3
Android 專案目錄架構• Package explorer
Java 原始檔案
R.java 版面與資源設定檔(自動產生,不要輕易更改)
程式介面主檔案 main.xml內容檔案 strings.xml
AndroidMainfest.xml 定義應用程式整體內容與資源定義 Android SDK 版本的檔案 default.properties
Android.jar 指出 Android SDK 存放的目錄
多數時間都與其打交道
可以存放一些資源檔案的目錄但不會在 R 中出現
先來講講兩個檔案main.xml 與 strings.xml
• 為何沒寫程式會出現 hello world ?
UI 主介面關連到 strings.xml 內的hello 標記內容
main.xml 與 strings.xml
主要顯示內容
hello 標記內容
修改 strings.xml
改成:這是我的第一個 Android 程式
修改 strings.xml
再重新執行一次程式
重新執行程式
修改 main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/content" /> </LinearLayout>
新加入的程式
連結到 strings.xml
修改 strings.xml
<?xml version="1.0" encoding="utf-8"?><resources> <string name="hello">Hello World, 這是我的第一個 Android程式 !</string>
<string name="content">這一段是屬於內容的部分 \n 請大家指教 </string>
<string name="app_name">Hello Android App</string>
</resources>
新加入的內容
新程式執行結果
R.java
定義所有的 res資源,自動產生,不要隨便去更改assests內的不會出現在 R 中
另一個很重要的檔案AndroidManifest.xml
Package name
目標 SDK
預設啟動的 Activity
預告:所有 Activity 都要在這註冊
AndroidManiFest.xml
• 還可以做:–專案 icon 設定–匯出 APK
–設定 Activity 顯示方式 ( 例如螢幕旋轉 )
–設定專案啟動時的 Activity
–設定專案的權限 ( 例如是否可以使用 sdcard)
–版本控管–…
這些東西將陸續在後面章節提到
先畫個圖
R.java
Java 程式
Java 程式
Res資源除了 assests
layout
drawable
…
變動自動註冊
透過 package name互相串連
使用方法:• R.id. 名稱• R.layout. 名稱• R.string. 名稱• getResources().getString(
R.string.receiving)
• @string/名稱 (直接設定 )
values
產出 APK
從模擬器取出 APK• 方法 1 : adb pull 指令 (Android SDK tools)
adb pull /data/app/com.android.hello.apk .
com.android.hello.apk
產出 APK• 方法 2 :透過 AndroidMainfest.xml
產出 APK方法 2 :透過 AndroidMainfest.xml
• Use the Export Wizard to export and sign an APK
產出 APK方法 2 :透過 AndroidMainfest.xml
產出 APK方法 2 :透過 AndroidMainfest.xml
至少填到這裡
產出 APK方法 2 :透過 AndroidMainfest.xml
實際存檔 apk 名稱
產出 APK方法 2 :透過 AndroidMainfest.xml
產出 APK方法 2 :透過 AndroidMainfest.xml
APK 套件
類似於 Windows 系統的 setup.exe 安裝檔案
安裝 APKadb install
adb install com.android.hello.apk .
專案轉移
• 專案在 Eclipse 的 workspace 目錄中
專案轉移
• workspace 目錄中每個目錄名稱就是一個專案
專案轉移
這些都是專案
• 直接複製這個目錄就可以轉移
• 透過 Eclipse 的 import 匯入專案專案轉移
• 透過 Eclipse 的 import 匯入專案專案轉移
選擇專案目錄所在位置就可以
開始來修改程式
整個原始程式內容Package name(代表這支程式,未來要找到它就靠這個 )
預設的兩個 class
Activity 名稱
啟動 Activity 的事件 儲存 Activity 狀態
畫面上顯示之內容
連結到 main.xml
覆載
繼承自 Activity
執行原 class 中的方法
先跳出來看一下物件導向程式設計與 JAVA
修改程式
1 開啟 java 原始檔
原始程式碼內容Package name
預設的兩個 class
Activity 名稱
啟動 Activity 的事件 儲存 Activity 狀態
畫面上顯示之內容
補充
解決 Application 與 Activity Label屬性衝突問題
方法一• 多設定 intent-filter 內的 android:label屬性• 移除 application 內的 android:label屬性• intent-filter 的 label屬性將取代 application ,同時與 activity 的不同
方法二• 移除 activity 內的 android:label屬性• 重新用程式定義 activity 標題–加入 layout/my_title.xml
– onCreate 中加入程式碼