求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
要资料
 
 
 

Android开发教程
Android 开发环境配置
Android 架构
Android 应用组件
Android Hello World示例
Android 资源组织和访问
Android Activity
Android Service
Android 广播接收器
Android 内容提供者
Android 碎片/片段
Android Intent过滤器
Android UI布局
Android UI控件
Android 事件处理
Android 样式和主题
Android 自定义组件
Android 拖放
Android 通知
Android 基于位置服务
Android 发送电子邮件
Android 发送短信/SMS
Android 拨打电话
发布Android应用
ndroid Alertdialog
Android Animation实例
Android音频捕获
Android音频管理器实例
Android
Android最佳实践
Android Bluetooth实例
Android Camera
Android Clipboard
Android自定义字体
Android数据备份
Android Gestures/手势
Android图片效果
Android图片切换
Android内部存储
Android JetPlayer实例
Android JSON解析器
Android加载Spinner
Android本地化
Android登录实例
Android MediaPlayer
 
 

Android Activity
813 次浏览
39次  

活动(activity)表示一个单一屏幕上的用户界面。例如,电子邮件应用程序可能是一个活动,显示新的电子邮件列表是另一个活动,撰写电子邮件,阅读电子邮件可能又是其它的活动。如果应用程序有一个以上的活动,那么应该将其中的一个活动标记为活动启动应用程序。

如果曾使用C,C++或Java编程语言,那么可以知道一般程序是从 main() 函数开始。相似地,Android系统是一个Activity 的 onCreate() 方法调用开始启动程序。一个回调方法 - 启动一个活动,以及其它回调方法,如销毁一个活动,活动的生命周期如下图所示序列:

Activity类定义了以下的回调方法,即事件。并不需要实现所有的回调方法。然而重要的是了解每一个变化以及实现,以确保应用程序如用户所期望的行为或方式。

例子

这个例子通过简单的步骤,显示Android应用程序活动的生命周期。按照下面的步骤来修改Android应用程序,在创建的 Hello World 范例章节:

以下是修改主要活动文件src/com.example.helloworld/MainActivity.java后的内容,该文件包含了每个基本生命周期方法。 Log.d() 方法是用来生成日志消息:

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");
     }
  }

活动类加载UI组件,使用在项目的 res/layout 文件夹的XML文件。下面的语句从 res/layout/activity_main.xml 文件加载UI组件:

setContentView(R.layout.activity_main);

应用程序可以有一个或多个活动受任何限制。每个活动定义为应用程序必须在AndroidManifest.xml文件中声明,必须声明应用程序的主要活动列表,包括如下MAIN 操作和 LAUNCHER 类:

 

<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 动作或LAUNCHER类不声明一个活动,那么应用程序图标将不会出现在应用程序列表的主屏幕上。

现在尝试运行修改后的 Hello World!应用程序。假设已经创建了AVD,同时做环境设置。从Eclipse运行应用程序,打开一个项目的活动文件,并单击“Run” 图标。

Eclipse 在 AVD上安装应用程序,并启动它,如果设置和应用都没有问题,它会显示仿真器窗口中,也应该看到以下日志消息在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模拟器上的红色按钮,它会在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菜单按钮在Android模拟器中,它会在Eclipse IDE 的 LogCat窗口中生成以下事件消息:

07-19 15:01:13.995: D/Android :(866): The onStart() event
    07-19 15:01:14.705: D/Android :(866): The onResume() event

接下来,就让我们再次尝试点击后退按钮 - Android后退按钮在Android模拟器,它会生成以下事件消息在Eclipse IDE LogCat窗口中,以上完成Android应用程序Acitivity?的生命周期。?

07-19 15:33:15.687: D/Android :(992): The onPause() event
    07-19 15:33:15.525: D/Android :(992): The onStop() event
   07-19 15:33:15.525: D/Android :(992): The onDestroy() event

您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



813 次浏览
39次
 捐助