官术网_书友最值得收藏!

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 運行程序效果

主站蜘蛛池模板: 成安县| 乐陵市| 花莲县| 金坛市| 内黄县| 宁晋县| 施甸县| 铁力市| 赤水市| 滦南县| 广饶县| 平舆县| 留坝县| 科技| 开平市| 綦江县| 云林县| 徐水县| 临汾市| 水富县| 和政县| 诏安县| 黄骅市| 翁牛特旗| 华容县| 红原县| 秀山| 抚宁县| 竹北市| 阳原县| 揭西县| 翁源县| 怀仁县| 临潭县| 伊通| 清流县| 图木舒克市| 错那县| 江山市| 贡嘎县| 九台市|