Activity 是Android的基本處理單元,絕大多數的Activity都會有一個對應的頁面
在這裡所謂的頁面就是User在行動裝置上所看到的畫面(View)。
回顧上一章的 Hello World程式:【Android】Hello World 範例
我們在 /src 的org.sample.android.activity目錄下有一個Activity 為HelloWorldActivity.java
它所對應的View即是 /res/layout/main.xml
在 AndroidManifest.xml 中可以看到如下這一段的XML標籤
<activity
android:name=".HelloWorldActivity"
android:label="@string/app_name"
> <!— app_name 會註冊在 /res/values/strings.xml -->
<intent-filter>
<action android:name="android.intent.action.MAIN"
/>
<!— 以下這行指定此Activity為預設執行的主要Activity
所以當你啟動虛擬機的時候一定會看到這支Activity所對應的View-->
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
接著來稍微改寫 HelloWorldActivity以及它所對應的 main.xml,如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<!- 如果要在此View的Activity中找到該元件,需要給它一個id
android:id=”@+id/<name>” 如此會在R.java中產生一個對應的程式
R.id.<name> 透過這行程式就可以找到你要的元件-->
<TextView android:id="@+id/TextView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_text"
/>
</LinearLayout>
fill_parent:意指將該元件填滿它的父元件
wrap_content:意指該元件會完全包住它的所有內容(元件)
接著來看看 HelloWorldActivity.java
package org.sample.android.activity; import android.app.Activity; import android.os.Bundle; public class HelloWorldActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //透過 findViewById(R.id.) 找出你要的元件 Button button01 = (Button)findViewById(R.id.Button01) } }
接著可以看下一篇
Activity 的生命週期
沒有留言:
張貼留言