- Android經典應用
- 趙書蘭編著
- 1394字
- 2018-12-30 05:22:48
1.5 Android應用實例
下面首先來介紹一個Android應用實例,讓讀者領略Android的應用。Android編程就是面向應用程序框架API編程——這種開發方式與編寫普通Java SE應用程序并沒有太大的區別,只是Android新增了一個API而已。
使用Eclipse開發Android應用非常方便,因為Eclipse會為我們自動完成許多工作。使用Eclipse開發Android應用大致需要以下3步驟:① 創建一個Android項目;② 在XML布局文件中定義應用程序的用戶界面;③ 在Java代碼中編寫業務實現。
以上3步驟只是最粗粒度的歸納,下面以開發一個Hello World來介紹Android開發,實現步驟如下。
(1)在Eclipse主菜單下單擊“文件”菜單下的“其他”選項,或單擊工具條中的新建快捷鍵來創建一個Android應用項目。Eclipse彈出“選擇向導”界面,如圖1-31所示。

圖1-31 “選擇向導”界面
(2)選擇圖1-31中的“Android Application Project”選項,單擊“下一步”按鈕,彈出如圖1-32所示的“New Android App”界面。

圖1-32 “New Android App”界面
(3)單擊圖1-32中的“下一步”按鈕,彈出如圖1-33所示的配置發射器的圖標顏色設置界面。

圖1-33 配置發射器的圖標顏色設置界面
(4)在圖1-33中,選擇默認值,然后單擊“下一步”,彈出如圖1-34所示的創建活動界面。

圖1-34 創建活動界面
(5)在圖1-34中選擇默認值,單擊“下一步”按鈕,彈出如圖1-35所示的新的空白活動界面,將“Layout Name”命名改為“main”,其他采用默認值,單擊“完成”按鈕,即可完成Android項目的創建。

圖1-35 新的空白活動界面
Android項目創建完成后將看到如圖1-36所示的項目結構。

圖1-36 Android項目結構
Android項目的Layout目錄下有一個main.xml文件,該文件用于定義Android的應用用戶界面。在Eclipse工具中打開該文件,將看到如圖1-37所示的界面。

圖1-37 ADT提供的界面設計工具
在圖1-37所示的界面的控件面板中向程序中拖入一個“Button”控件(按鈕),再切換到源代碼編寫界面,main.xml文件代碼修改為:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="@string/hello_world" tools:context=".MainActivity" /> <Button android:id="@+id/OK" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginTop="82dp" android:text="單擊這" /> </RelativeLayout>
上面XML文檔的根元素為:RelativeLayout,其代表了一個相對布局,在該界面布局中包含兩個UI控件。
● TextView:代表一個文本框。
● Button:代表一個普通按鈕。
在Android用戶界面設計中,各種界面布局元素將會在后面進行詳細介紹,不同UI組件也會在后面進行詳細介紹。此處只說明UI組件上的幾個通用屬性。
● android:id:指定該控件的唯一標識,在Java程序中可通過findViewById("id")來獲取指定的Android界面組件。
● android:layout_width:指定該界面組件的寬度。如果該屬性值為fill_parent,則說明該組件與其父容器具有相同的寬度;如果該屬性值為wrap_content,則說明該組件的寬度取決于它的內容——基本能包裹它的內容即可。
● android_height:指定該界面組件的高度。如果該屬性值為fill_parent,則說明該組件與其父容器具有相同的高度;如果該屬性值為wrap_content,則說明該組件的高度取決于它的內容——基本能包裹它的內容即可。
Android把用戶界面放在XML文檔中定義是因為:這樣做可以讓XML文檔專門負責用戶UI設置,而Java程序則專門負責業務實現,這樣可以降低程序的耦合性。
Android項目的src目錄是Android項目的源代碼,該目錄下有一個HelloWorld.java文件,其是Android項目的Java文件。打開該文件,代碼修改為:
package com.example.helloworld; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { //當第一次創建該Activity時回調該方法 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //設置使用main.xml文件定義的頁面布局 setContentView(R.layout.main); //獲取UI界面中ID為R.id.ok的按鈕 Button bn=(Button)findViewById(R.id.OK); //為按鈕綁定一個單擊事件的監聽器 bn.setOnClickListener(new OnClickListener() { public void onClick(View v) { //獲取UI界面中ID為R.id.show的文本框 final TextView show=(TextView)findViewById(R.id.textView1); //改變文本框的文本內容 show.setText("Hello Android~"+new java.util.Date()); } }); } }
以上程序十分簡單,其只做了3件事,即:①以該Activity使用main.xml文件定義的界面布局文件作為用戶界面;②獲取ID為R.Id.OK的按鈕;③為第二步獲得的按鈕綁定事件監聽器——在事件監聽器的處理器方法中改變ID為R.id.textView1的文本框內容。
單擊Eclipse界面中的“運行”按鈕,或按F11鍵即可運行HelloWorld項目,效果如圖1-38所示。

圖1-38 運行程序效果