iT邦幫忙

DAY 5
4

Android 學習手札系列 第 5

Day 5 - Android - 世界的元素

  • 分享至 

  • xImage
  •  

Android 的世界是非常皓翰的,一如我們這個真實世界一般,他可以分為好幾個層面,從核心的 Linux 中間層的虛擬機器跟裝置的接軌,一直到最外層的應用面。
若要開設一所大學的話,每一層原則上還可以再分成幾個學院後,再依學院分成好幾個系所都不是問題。
而今天就來為各位應用層的四大元素!
這幾天各位勇者所闖盪是 Android 世界的應用層,也就是我們所熟知的 APP 環境,而在這一層,我們還需要知道他是由四大元素-風、水、火、地所組成(大誤),是Activity、Service、Content Providers以及Broadcast receivers四大應用元件(Application Components)。

Activity
這也是我們前兩天一直所接觸的元素,是開發app的過程中最被頻繁使用的元素,而他要備齊兩樣東西,一個是主要的.java程式(動作)、另外一個是.xml(外型),在主程式的java檔中我們都有會有個起手式

public class MainActivity extends Activity {
    //activity code
}

嗯,就是這另之繼承Activity,而他不似一般的JAVA程式是由main()開始的,activity有屬於自己的生命週期,他的起始點是由onCreate()開始,這也就是為什麼我們前兩天的程式碼幾乎都是寫onCreate()中的原因。那另外剛剛所說的皮是在那裡被掛上去的呢~嗯!就是在onCreate()裡面的一行指令

//掛上這個activity的皮
setContentView(R.layout.activity_main);

括號裡的名字就是我們的皮,有覺得那個名字很眼熟嗎,就是我們在建立一個activity的最後一步中有填入的那個"layout name"^_^

在過去,我們建立好一個activity時,有個動作一定不能少-要在 AndroidManifest.xml 裡面的application區段裡加入一段activity的動作名稱簡介

<application ...>
    <activity android:name=".MainActivity" />
    ...
</application>

這樣這個怪才知道有這個招式/動作可以用。而在 SDK R20.X版之後,只要是經由"正常管道"新增一個 activity 時,SDK 會自動為我們加入。

謎之音:想當年(喂!聽說你寫Android也不過…毆飛)因為自己的蠢,老是忘了這件事,而常常除錯除了半天哭

不過,當然!Activity 也不是這麼簡單地三言兩語就能說完,之後會逐步的為各位說明這個我們需要長時間跟他共處的元素。

Services
這個元素和 activity 最大的不同在於,他沒有皮,他就是只有動作而已,就是像[strike]背後靈[/strike]守護神一般,也許是默默的做某件事,或是做完某事就給個回應,像是播放音樂或是下載檔案時,大家總不會希望我們畫面切掉之後就停止播放或是斷線吧!要是有這樣的 app 應該會被使用者罵到翻過去。這個元素最適合幫我們做一些長時間或是希望在背面默默執行的工作,很像[strike]背後靈[/strike]守護神吧(會不會遭天譴汗)

所以他也有屬於他的生命週期以及寫法,起手式如下

public class MainService extends Service {
    //Service code
}

就是繼承 Service,也一樣是從onCreate() 開始,只是生命週期有些執行區段會跟 activity 不同,一樣也是要記得到 AndroidMainfest.xml 裡面為他登記一下哦!

Content Providers
第三個元素-內容提供者,顧名思意,就是提供我們在執行 app 的過程中,所需要的內容,這個內容可能是文字、圖片、影像,從存在裝置上中實體檔案、SQLite。常被使用的方式通常較小的會直接使用 Preference,大的就用 File,有結構又好管理的就採用 SQLite。

Broadcast receivers
這個元素最主要的動作就是做"通知",有型的也就是要讓使用者看到的,大部份就是直接利用notifications,或是像電話來時的畫面,快沒電時就會[strike]哭餓[/strike]發出快沒電的警告,或是裝置附近有無線網路這一類的通知動作~

以上是應用層的四大元素介紹,不知道大家有否概念了呢開心

《修練的旅途「巴特與吐司」 串連》


上一篇
Day4 - Android - 修練的旅途「巴特與吐司」
下一篇
Day 6 - Android - 串連
系列文
Android 學習手札30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
pantc328
iT邦高手 1 級 ‧ 2012-09-29 22:01:12

還有Application 去 Host 這四個元素

mosil iT邦新手 4 級 ‧ 2012-09-30 17:14:59 檢舉

疑惑
抱歉沒看懂您的意思Orz

我要留言

立即登入留言