zoukankan      html  css  js  c++  java
  • 安卓学习进度_8

    实例

    这个实例通过简单地步骤展示 Android 应用程序活动的生命周期。按照下面的步骤来修改我们在 Hello World 实例章节中创建的 Android 应用程序。

    步骤描述
    1 使用eclipse IDE来创建一个Android应用程序,并命名为HelloWorld放在com.example.helloworld包下。如之前Hello World Example章节中介绍。
    2 按照下面修改主要活动文件MainActivity.java。保持其他部分不变。
    3 运行应用程序来打开Android模拟器,并检查应用程序的修改结果。

    下面是主要活动文件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 : ";
    
       /** 当活动第一次被创建时调用 */
       @Override
       public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          Log.d(msg, "The onCreate() event");
       }
    
       /** 当活动即将可见时调用 */
       @Override
       protected void onStart() {
          super.onStart();
          Log.d(msg, "The onStart() event");
       }
    
       /** 当活动可见时调用 */
       @Override
       protected void onResume() {
          super.onResume();
          Log.d(msg, "The onResume() event");
       }
    
       /** 当其他活动获得焦点时调用 */
       @Override
       protected void onPause() {
          super.onPause();
          Log.d(msg, "The onPause() event");
       }
    
       /** 当活动不再可见时调用 */
       @Override
       protected void onStop() {
          super.onStop();
          Log.d(msg, "The onStop() event");
       }
    
       /** 当活动将被销毁时调用 */
       @Override
       public void onDestroy() {
          super.onDestroy();
          Log.d(msg, "The onDestroy() event");
       }
    }

    活动类从项目的res/layout中的XML文件加载所有的UI组件。下面的语句从res/layout/activity_main.xml文件中加载UI组件:

    setContentView(R.layout.activity_main);

    一个应用程序可以有1个或多个活动,而没有任何限制。每个为应用程序所定义的活动都需要在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="22" />
    
       <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 类别没有在活动中声明,那么应用程序的图标将不会出现在主屏幕的应用列表中。

    让我们运行起刚刚修改的 "Hellow World!" 应用程序。假设你在环境搭建的时候已经创建了 AVD 。从 Eclipse 运行应用,打开一个项目中的活动文件,并从工具栏点击运行图片图标。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窗口中产生如下的事件消息:

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

    让我们再次点击 Android 模拟器上的菜单按钮图片,它将在 Eclipse IDE 的 LogCat 窗口中产生如下的事件消息:

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

    接下来,让我们点击Android模拟器上的返回按钮图片,它将在Eclipse IDE的LogCat窗口中产生如下的事件消息,Android 应用程序上活动的整个生命周期完成。

    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
  • 相关阅读:
    OC字符串处理
    用 map 表达互斥逻辑
    iOS之LLDB调试器
    iOS 线程安全 锁
    OC实现 单向链表
    iOS读取info.plist中的值
    SQLite 如何取出特定部分数据
    UIView常用的一些方法setNeedsDisplay和setNeedsLayout
    xCode常用快捷键
    oppo7.0系统手机(亲测有效)激活Xposed框架的流程
  • 原文地址:https://www.cnblogs.com/blog-wangke/p/14454832.html
Copyright © 2011-2022 走看看