• 鍍金池/ 教程/ Android/ Android Activity
    Android 應用組件
    使用布局文件自定義Android組件
    Android通知
    Android主題示例
    Android JetPlayer實(shí)例
    Android MediaPlayer(多媒體播放)
    Android AbsoluteLayout
    Android FrameLayout
    Android Gestures/手勢
    Android AutoCompleteTextView(自動(dòng)完成)實(shí)例
    Android 資源組織和訪(fǎng)問(wèn)
    Android ListView
    Android GridView
    Android數據備份
    Android撥打電話(huà)
    Android發(fā)送短信/SMS
    Android ProgressDialog
    SimpleCursorAdapter
    Android發(fā)送電子郵件
    Android Activity
    Android TextView
    Android事件處理
    Android TableLayout
    Android加載Spinner
    Android內容提供者
    Android自定義字體
    Android Service
    Android CheckBox
    Android Intent過(guò)濾器
    Android LinearLayout
    Android登錄實(shí)例
    Android RadioButton
    Android樣式和主題
    Android自定義組件及屬性
    Android UI控件
    Android Animation(動(dòng)畫(huà))實(shí)例
    Android Camera(攝像頭)
    Android ToggleButton
    Android Clipboard(復制/剪貼板)
    Android音頻捕獲(錄音)
    發(fā)布Android應用
    Android Alertdialog(警告對話(huà)框)
    Android圖片效果
    Android內部存儲
    Android基于位置服務(wù)
    Android RadioGroup
    Android AutoCompleteTextView
    Android Bluetooth(藍牙)實(shí)例
    Android RelativeLayout
    Android最佳實(shí)踐
    Android本地化
    Android自定義組件
    Android教程
    Android 架構
    Android UI布局
    Android Button
    Android Hello World示例
    Android音頻管理器實(shí)例
    ArrayAdapter
    Android拖放
    Android碎片/片段
    Android圖片切換
    Android JSON解析器
    Android開(kāi)發(fā)環(huán)境搭建
    Android Spinner
    Android樣式示例
    使用活動(dòng)代碼自定義Android組件
    Android ImageButton
    Android EditText
    Android廣播接收器

    Android Activity

    活動(dòng)(activity)表示一個(gè)單一屏幕上的用戶(hù)界面。例如,電子郵件應用程序可能是一個(gè)活動(dòng),顯示新的電子郵件列表是另一個(gè)活動(dòng),撰寫(xiě)電子郵件,閱讀電子郵件可能又是其它的活動(dòng)。如果應用程序有一個(gè)以上的活動(dòng),那么應該將其中的一個(gè)活動(dòng)標記為活動(dòng)啟動(dòng)應用程序。

    如果曾使用C,C++或Java編程語(yǔ)言,那么可以知道一般程序是從 main() 函數開(kāi)始。相似地,Android系統是一個(gè)Activity 的 onCreate() 方法調用開(kāi)始啟動(dòng)程序。一個(gè)回調方法 - 啟動(dòng)一個(gè)活動(dòng),以及其它回調方法,如銷(xiāo)毀一個(gè)活動(dòng),活動(dòng)的生命周期如下圖所示序列:

    Android Activity lifecycle

    Activity類(lèi)定義了以下的回調方法,即事件。并不需要實(shí)現所有的回調方法。然而重要的是了解每一個(gè)變化以及實(shí)現,以確保應用程序如用戶(hù)所期望的行為或方式。

    回調方法 描述
    onCreate() 這是第一次回調,活動(dòng)在第一次創(chuàng )建時(shí)調用。
    onStart() 這個(gè)回調被稱(chēng)為活動(dòng)時(shí)變成對用戶(hù)可見(jiàn)。
    onResume() 這就是所謂的啟動(dòng),當用戶(hù)與應用程序交互。
    onPause() 暫?;顒?dòng)不接收用戶(hù)輸入并不執行任何代碼并調用時(shí),當前的活動(dòng)被暫停,恢復以前的活動(dòng)。
    onStop() 這個(gè)回調被稱(chēng)為活動(dòng)時(shí)不再可見(jiàn)
    onDestroy() 活動(dòng)前由系統被銷(xiāo)毀,調用此回調
    onRestart() 活動(dòng)重新啟動(dòng)時(shí),停止后調用此回調

    例子

    這個(gè)例子通過(guò)簡(jiǎn)單的步驟,顯示Android應用程序活動(dòng)的生命周期。按照下面的步驟來(lái)修改Android應用程序,在創(chuàng )建的 Hello World 范例章節:

    步驟 描述
    1 我們將使用Eclipse IDE中創(chuàng )建一個(gè)Android應用程序,并將其命名在 HelloWorld 的包下,如:com.example.helloworld的Hello World范例章節解釋。
    2 修改Main活動(dòng)文件MainActivity.java,其余文件保持不變。
    3 運行該應用程序啟動(dòng)Android模擬器并驗證應用程序中所做的更改結果。

    以下是修改主要活動(dòng)文件src/com.example.helloworld/MainActivity.java后的內容,該文件包含了每個(gè)基本生命周期方法。 Log.d() 方法是用來(lái)生成日志消息: 

    package com.example.helloworld;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.util.Log;
    
    public class MainActivity extends Activity {
       String msg = "Android : ";
       
       /** Called when the activity is first created. */
       @Override
       public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          Log.d(msg, "The onCreate() event");
       }
    
       /** Called when the activity is about to become visible. */
       @Override
       protected void onStart() {
          super.onStart();
          Log.d(msg, "The onStart() event");
       }
    
       /** Called when the activity has become visible. */
       @Override
       protected void onResume() {
          super.onResume();
          Log.d(msg, "The onResume() event");
       }
    
       /** Called when another activity is taking focus. */
       @Override
       protected void onPause() {
          super.onPause();
          Log.d(msg, "The onPause() event");
       }
    
       /** Called when the activity is no longer visible. */
       @Override
       protected void onStop() {
          super.onStop();
          Log.d(msg, "The onStop() event");
       }
    
       /** Called just before the activity is destroyed. */
       @Override
       public void onDestroy() {
          super.onDestroy();
          Log.d(msg, "The onDestroy() event");
       }
    }

    活動(dòng)類(lèi)加載UI組件,使用在項目的 res/layout 文件夾的XML文件。下面的語(yǔ)句從 res/layout/activity_main.xml 文件加載UI組件:

    setContentView(R.layout.activity_main);

    應用程序可以有一個(gè)或多個(gè)活動(dòng)受任何限制。每個(gè)活動(dòng)定義為應用程序必須在A(yíng)ndroidManifest.xml文件中聲明,必須聲明應用程序的主要活動(dòng)列表<intent-filter>,包括如下MAIN 操作和 LAUNCHER 類(lèi):

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
       package="com.example.helloworld"
       android:versionCode="1"
       android:versionName="1.0" >
       <uses-sdk
          android:minSdkVersion="8"
          android:targetSdkVersion="15" />
       <application
           android:icon="@drawable/ic_launcher"
           android:label="@string/app_name"
           android:theme="@style/AppTheme" >
           <activity
               android:name=".MainActivity"
               android:label="@string/title_activity_main" >
               <intent-filter>
                   <action android:name="android.intent.action.MAIN" />
                   <category android:name="android.intent.category.LAUNCHER"/>
               </intent-filter>
           </activity>
       </application>
    </manifest>

    如果 MAIN 動(dòng)作或LAUNCHER類(lèi)不聲明一個(gè)活動(dòng),那么應用程序圖標將不會(huì )出現在應用程序列表的主屏幕上。 

    現在嘗試運行修改后的 Hello World!應用程序。假設已經(jīng)創(chuàng )建了AVD,同時(shí)做環(huán)境設置。從Eclipse運行應用程序,打開(kāi)一個(gè)項目的活動(dòng)文件,并單擊“Run” Eclipse Run Icon 圖標。Eclipse 在 AVD上安裝應用程序,并啟動(dòng)它,如果設置和應用都沒(méi)有問(wèn)題,它會(huì )顯示仿真器窗口中,也應該看到以下日志消息在Eclipse IDE LogCat 窗口:

    07-19 15:00:43.405: D/Android :(866): The onCreate() event
    07-19 15:00:43.405: D/Android :(866): The onStart() event
    07-19 15:00:43.415: D/Android :(866): The onResume() event
    Android LotCat Window

    點(diǎn)擊紅色按鈕Android Red Button - 在A(yíng)ndroid模擬器上的紅色按鈕,它會(huì )在Eclipse IDE窗口LogCat中生成以下事件消息:  

    07-19 15:01:10.995: D/Android :(866): The onPause() event
    07-19 15:01:12.705: D/Android :(866): The onStop() event

    讓我們再次嘗試單擊菜單按鈕Android Menu Button - Android菜單按鈕在A(yíng)ndroid模擬器中,它會(huì )在Eclipse IDE 的 LogCat窗口中生成以下事件消息: 

    上一篇:Android音頻捕獲(錄音)下一篇:Android自定義組件及屬性
    草莓视频在线观看视频6_免费草莓视频_草莓视频在线下载免费官网_草莓视频黄色在线观看