2013年6月28日 星期五

Android程式的執行

再了解android程式的架構完後,就可以開始來執行程式,用模擬器來看程式的直行結果。在執行程式時,有幾個地方需要注意。

1. 在執行程式時有兩個方式
一個是在上方的工具列,有個PLAY鍵
按下之後會出現要執行的程式類型,這邊選Android Application
不過這個方式是比較屬於開發一個專案來執行,在學習的時候,總不能學一個元件就開一個專案,這樣太浪費資源了。

所以,我是建議另一個執行方式
在它的旁邊有一過向下箭頭,按一下之後,選 Run Configuration
或是,在程式檔按滑鼠右鍵,選Run As --->Run Configuration
之後都會進入到它的啟動設定畫面
在這邊有些重點要講解一下
一、Project: 這邊可以選擇你要執行的專案
二、Launch Action: 要啟動的程式檔
* 這邊要注意一下,要選擇第2個 Launch ,後面選項則是在 Android Manifest.xml 檔案的位置有關聯(如下圖)
之後就按Apply 再按 Run 就可以執行程式了。

模擬器啟動的畫面

在第一次執行程式時,會跳出一個對話框(如下圖)
這是看要不要顯是一些執行中的一些訊息
選Yes 按OK 就會多出一個頁籤 LogCat

之後等到模擬器進入解鎖畫面,按住鎖,用拖曳的拉到旁邊就可以解鎖了。
之後再等一下就會啟動APP了(如下圖)
題外話
在編輯器下方,Console頁籤,可以看模擬器是否正常的執行
出現 Waiting for HOME ..... 這表示模擬器正在執行中

出現 Starting: Intent ..... 這表示程式在模擬器正常的啟動


要離開時,可以按ESC或是右邊的首頁按鈕,就可以回到主畫面

要再次的執行剛剛的APP,可以到下方中間那邊點進去
就可以看到你專案名稱的APP,點擊之後又可以再次啟動。


2013年6月22日 星期六

Android 基礎架構

在要開始學習程式之前,一定要了解這程式的架構,這樣可以在撰寫程式時可以清楚的知道程式的整體流程,遇到BUG也可以快速的找到問題點並解決,所以,下面的幾個架構一定要去了解,在這架構中也常常會發生BUG。

1.程式與介面原件的關聯
下圖是關係圖
在這邊有個很重要的檔案 R.java 
它是關聯著程式與原件之間的溝通橋樑,
所有程式要去驅動元件功能都一定要透過它。
它的位置在於下圖
它有幾個重要的類別
Class attr : 屬性檔的識別碼
Class drawable : 圖片原件的識別碼
Class id : 各原件的ID的識別碼
Class layout : 版面檔案的識別碼
Class menu : 自定義menu檔案的識別碼
Class string : 一般字串檔的識別碼

2.主程式的整體架構
主程式Activity的基本執行流程圖如下

再來是程式碼的基本架構有幾個重點區塊

標示1. 這是宣告引入函數庫,程式的一些指令都需要透過引入函數庫才能正常執行。
import android.app.Activity : 引入主程式Activity的流程。
import android.os.Bundle : 引入介面資訊的處理。

標示2. android主類別並不是獨立的,它本身是透過繼承(extends)Activity父類別,所以才要引入android.app.Activity。*這邊要注意Class類別名稱要和檔名相同。

標示3. 這是函數區,一個類別裡面可以有很多函數,主要就是onCreate函數。
下面另一個函數onCreateOptionsMenu 可以先不用管它(目前還用不到)。

在onCreate函數裡面有幾個重點:
一、super.onCreate() : 因為是繼承關係,所以要用super來找尋父類別Activity的onCreate()
二、setContentView(R.layout.版面名稱) : 引入版面,透過R.java去找尋要引入的版面。

3.版面架構
程式的一些架構知道後,再來就是版面的解說
版面在這邊有2個地方要注意:

(1) 版面視覺UI的排版 (如下圖)
第1區 : 各個UI原件的地方,要使用就直接拖出來。
第2區 : 就是整體畫面的布局地方。
第3區 : UI原件與layout之間的樹狀關係,當面板太亂可以看這個樹狀圖來了解和移動。
第4區 : 各個UI原件和layout版面的屬性設定。

(2)版面的原始程式碼(如下圖)
版面的排版是透過XML來撰寫,通常很少需要切換到原始程式碼來編輯,大多還是透過視覺版面來排版比較快。

整體的amdroid基本架構大概就是這幾個重點,了解之後才開始慢慢的深入。

*Tip 如何顯示程式碼的行數
寫程式,最主要的就是要有程式碼的行數,因為在尋找錯誤系統都會告訴你在哪一行有錯誤,所以這很重要的。
操作如下圖
在紅色的框框區點選滑鼠右鍵

之後就會顯示行數了

2013年6月19日 星期三

AVD模擬器設定

android主程式和layout面板都弄好了之後,再來就是要如何的去執行,所以這時就要用到AVD模擬器。它就像電腦裡裝了一台智慧型手機,裡面幾乎包含了智慧手機的功能,只是不能打電話(電話錢誰附啊?),所以,下面就大概講解一下如何建立和設定AVD。


1.一開始打開Eclipse之後,看到左上方有一個小圖示(紅色框框)
2.點選之後會出現下面的視窗,點選New
因為我之前就有設定過,所以會有一個AVD檔案

3.再來就是AVD的一些設定了
裡面紅色框框就是要注意的選項,設定完後再按OK。

AVD Name: AVD的名子,建議開頭為英文(大小寫沒差)。
Device: 模擬器的尺寸,我是都用5.1吋的,其他沒試過XD。
Keyboard: 螢幕鍵盤,看個人習慣要不要用(打勾的話,可以用電腦鍵盤輸入)。
Skin: 右邊的功能按鈕,建議是打勾,會比較方便。
SD Card: 記憶體,之後會有記憶體的存取,所以先建立好(容量看各人電腦設備,越大跑越慢)。
其它的設定可以不用去管它,手癢也可以去試試看,大不了在Delete。

4.之後會跑一下,大概是看你SD Card的大小,之後就會出現你建立的AVD。
這邊講解一下
Edit: 修改AVD的設定。
Delete: 刪除AVD。
Details: AVD的詳細資料。
Start: 啟動AVD。

5.之後按Start後,會出現下面的視窗,這是可以讓你再設定它顯示的大小
建議不用去理它,按Launch。

6.按完之後會看你的電腦速度來決定了,建議CPU雙合心以上,記憶體DDR3 2G

7. 有些跑到一半就會進入AVD模擬器了(速度夠快),如下圖。
這也是要再等它跑,通常第一次執行(指開啟Eclipse),都會跑比較慢。

8.有些可能等很久,不過最後都會進入這個畫面,
剛建立的AVD都會有一些教學,先按照它的步驟來完成教學(按OK)。
如果跑不進來建議把SD Card降低,或是升級電腦。
右方的功能扭,是在設定理面的Skin打勾
在點進去中間那個MENU(紅色框框)
之後會進入選單的教學,一樣把它完成(其實也只是按個OK而已)
這樣AVD的模擬器就完成了。
要回到主頁可以按ESC 或是右邊的房子按鈕


2013年6月16日 星期日

建立第一個android程式



可以開啟Eclipsc之後,就可以開始建立android程式
android的程式是屬於一個package封裝檔,像是javabean的寫法,只不過比java更進階,所以,最好還是有java的基礎來學習會更快。

1. 建立新專案
按步驟 File ---> New ---> Android Application Project



2. 專案的名稱
這邊只要真對Application Name 來命名,名稱隨便,但是要記得你命名的名稱
之後按Next。
下面SDK 是屬於SDK的版本,可以不用管,後面可以去修改。



3.專案的一些設定
這邊要注意Location 這邊是你專案的資料夾路徑,其它的不用去動,直接Next。



4.Icon的設定
右手邊的Preview 是顯示各dpi圖片的大小,
這邊也可以不用去管它,事後也可以做相關設定,直接Next



5.版面設定
這邊還是建議用第一個,版面越簡單越好,之後再Next。



6.*重點  檔案命名
這邊的命名跟上面的專按命名不一樣,這是建立一個主程式的名稱,(像是JAVA的Class檔名一樣)。

只不過 Android 的檔案一次至少要有2個
一個是Activity主程式(專門寫程式的JAVA檔),另一個是 Layout檔(介面排版用的XML檔)
所以,這邊可以命名Activity Name(注意,開頭要大寫)  和  Layout Name 
如果不想自己命名,也可以不用理它,用它預設的。
之後按 Finish 完成。



完成之後可以先看到畫面是在   Layout 排版畫面。
左邊樹狀圖 android1(你的專案名稱) ---> res(這都固定的資料夾) ---> layout(資料夾) ---> 你命名的Layout檔名(XXXXX.xml)

之後要找Layout就按照這路徑去找。



再來是如何打開主程式
一樣左邊樹狀圖
  android1(你的專案名稱) ---> src(資料夾) ---> 你的Packagea名稱(com.example.android1) --->你命名的檔名.java之後要找主程式就照這路徑





*最後的重點
啟動設定檔
一樣在左手邊的柱狀圖
開啟 AndroidManifest.xml, 注意下面的書籤點到.xml
這檔案非常重要,所有程式都會透過這檔案來啟動模擬器,
這裡面包含檔按讀取權限、連上網路的權限、資料庫的使用、版本大小設定,還有指定要執行的主程式....等等。等有用到會再繼續探討。

下圖反藍的是你目前要執行的主程式檔的檔名

以後要執行其他主程式就可以改 com.example.android1.XXXXX(你要執行的主程式)
*不過要在同一個專按下