行政院經建會、法規會委託專案研究計畫期 末報告 建立行政機關 … · 行政院經建會、法規會委託專案研究計畫期 末報告 建立行政機關管制性法規影響分析機制暨
建立 Android 新專案
-
Upload
janna-pierce -
Category
Documents
-
view
75 -
download
0
description
Transcript of 建立 Android 新專案
建立 Android 新專案
建國科技大學 資管系饒瑞佶
2012/4 V1
2012/8 V2
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 Project
3
版面會因 ADT 不同而不同
建立新專案步驟步驟 3 :設定專案參數
3Project name
4
選擇 platform
5
建立新專案步驟步驟 3 :設定專案參數
新的 ADT 畫面可能不同!!
建立新專案步驟步驟 3 :設定專案參數
8
Application name7 Package name
6
建立新專案步驟• Project name :專案名稱, Eclipse 中使用• Application name :應用程式名稱,未來安裝到
手機上時的顯示名稱• Package name : APK ( Android Package )安
裝套件名稱(使用網域名稱的命名方式,只要符合應用程式意涵就可以)– Google play 不接受 com.android.xx 或 com.sample.xx
• Create Activity :動作類別名稱,未來 OS 以這個名稱判別程式處於活動、暫停或關閉狀態
建立新專案步驟• Min SDK Version : SDK API Level 版
本2=1.1 版3=1.5 版4=1.6 版5=2.0 版…( 更多的請參考 Android SDK 一節 )
Android 程式目錄架構• Package explorer
Java 原始檔案
R.java 版面與資源設定檔(自動產生,不要輕易更改)
程式介面主檔案 main.xml內容檔案 strings.xml
AndroidMainfest.xml 定義應用程式整體內容與資源定義 Android SDK 版本的檔案 default.properties
Android.jar 指出 Android SDK 存放的目錄
多數時間都與其打交道
可以存放一些資源檔案的目錄
Android 程式目錄架構• Eclipse 內的 workspace 目錄• 實際檔案目錄
先不更改任何程式下執行看看本專案的結果
步驟 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
先來講講兩個檔案main.xml 與 strings.xml
• 為何沒寫程式會出現 hello world ?
UI 主介面關連到 strings.xml 內的hello 標記內容
main.xml 與 strings.xml
主要顯示內容
hello 標記內容
整個原始專案內容
看到這個有什麼感覺?
找找看 Java 程式在那?
專案內兩大檔案類型.java.xml
整個原始程式內容Package name( 代表這支程式,未來要找到它就靠這個 )
預設的兩個 class
Activity 名稱
啟動 Activity 的事件 儲存 Activity 狀態
畫面上顯示之內容
連結到 main.xml
覆載
繼承自 Activity
執行原 class 中的方法
R.java
定義所有的 res 資源,自動產生,不要隨便去更改
另一個很重要的檔案AndroidManifest.xml
Package name
目標 SDK
預設啟動的 Activity
預告:所有 Activity 都要在這註冊
AndroidManiFest.xml
• 還可以做:– 專案 icon 設定– 匯出 APK– 設定 Activity 顯示方式 ( 例如螢幕旋轉 )– 設定專案啟動時的 Activity– 設定專案的權限 ( 例如是否可以使用 sdcard)– 版本控管–…
這些東西將陸續在後面章節提到
先畫個圖
R.java
Java 程式
Java 程式
Res資源
layout
drawable
…
變動自動註冊
透過 package name互相串連
使用方法:• R.id. 名稱• R.layout. 名稱• R.string. 名稱• getResources().getString(
R.string.receiving)
• @string/名稱
values
開始來修改程式
修改程式
1 開啟 java 原始檔
原始程式碼內容Package name
預設的兩個 class
Activity 名稱
啟動 Activity 的事件 儲存 Activity 狀態
畫面上顯示之內容
修改 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>
新加入的內容
新程式執行結果
從模擬器取出 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 安裝檔案
安裝 APK 套件
• 可以透過廠商提供的 Sync軟體,例如 HTC Sync• 透過 SDK tool 的 adb install
安裝 APK 套件到手機HTC Sync
• Sync 同步軟體
安裝 APK 套件到手機
安裝 APK 套件到手機
安裝 APK 套件到手機
Android 手機畫面
手機上安裝完成畫面
手機上程式集畫面
安裝 APKadb install
adb install com.android.hello.apk .
ddms 管理軟體Android SDK tools
• ddms.bat
這裡一樣可以看模擬器上面的檔案
專案轉移
• 專案在 Eclipse 的 workspace 目錄中
專案轉移
• workspace 目錄中每個目錄名稱就是一個專案
專案轉移
這些都是專案
• 直接複製這個目錄就可以轉移
• 透過 Eclipse 的 import 匯入專案專案轉移
• 透過 Eclipse 的 import 匯入專案專案轉移
選擇專案目錄所在位置就可以
New class 或 XML
New class
1
2
New class
3
4
New class
5
6
7
New class
8
New class
New XML1
2
New XML
New XML
New 檔案• 其實不用那麼麻煩…• 我們常常用的都是 Copy Paste
幾個小技巧
Project Clean
重新 compile Project
Refresh
重新建立專案內檔案連結
Android Tools Fix Project Properties
修復專案內某些參數連結與設定
Properties
所有專案相關設定
預設執行的 SDK Level
加入外部 jar 檔案
使用的 Java compiler
還有嗎?當然有
… .碰到再說!
補充
解決Application 與 Activity Label屬性衝突問題
方法一• 多設定 intent-filter 內的 android:label屬性• 移除 application 內的 android:label屬性• intent-filter 的 label屬性將取代
application ,同時與 activity 的不同
方法二• 移除 activity 內的 android:label屬性• 重新用程式定義 activity 標題–加入 layout/my_title.xml
– onCreate 中加入程式碼