Activity生命周期(一)

1. 如何在一个应用程序中定义多个Activity

2. 启动一个Activity的方法

3. Android当中的back stack(历史栈)

1. 如何在一个应用程序中定义多个Activity

如果将一个Android程序看成一个网站, 一个Activity就是一个网页

定义多个Activity的方法:

OnCreate是Activity运行的入口

Manifest文件是Android的主配置文件, 所有的控件都要在此注册

新建多个Activity在代码中实现的过程

新建一个叫MultiActivity, 继承Activity, 并选择复写Activity的OnCreate方法

新建此Activity成功后, 为此Activity新建一个布局文件

选择普通的 LinearLayout 即可 , 加入一个简单的 TextView 在里面

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6
 7     <TextView
 8         android:id="@+id/firstMultiActivity"
 9         android:layout_width="match_parent"
10         android:layout_height="wrap_content"
11         android:text="Hello Mirror"
12         />
13
14 </LinearLayout>

在MultiActivity.java里面选择加载此布局文件

 1 package first.pack;
 2
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5
 6 public class MultiActivity extends Activity{
 7
 8     @Override
 9     protected void onCreate(Bundle savedInstanceState) {
10         // TODO Auto-generated method stub
11         super.onCreate(savedInstanceState);
12         setContentView(R.layout.multi_main);  //加载
13     }
14
15 }

最后要在Manifest.xml文件中进行注册

点开后出现如下信息

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="first.pack"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="first.pack.MainActivity"  //Activity的名字:包名+类名
            android:label="@string/app_name" >  //程序运行界面的Label名称
            <intent-filter>  //这一段放在哪就使该Activity成为默认Activity
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

添加代码后如下

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="first.pack"
 4     android:versionCode="1"
 5     android:versionName="1.0" >
 6
 7     <uses-sdk
 8         android:minSdkVersion="8"
 9         android:targetSdkVersion="19" />
10
11     <application
12         android:allowBackup="true"
13         android:icon="@drawable/ic_launcher"
14         android:label="@string/app_name"
15         android:theme="@style/AppTheme" >
16         <activity
17             android:name="first.pack.MainActivity"
18             android:label="@string/FirstMirror" >
19             <intent-filter>
20                 <action android:name="android.intent.action.MAIN" />
21
22                 <category android:name="android.intent.category.LAUNCHER" />
23             </intent-filter>
24         </activity>
25
26         <activity
27             android:name="first.pack.MultiActivity"  //包名+类名
28             android:label="@string/SecondMirror" >  //跟主Activity区别开来
29         </activity>
30
31     </application>
32
33 </manifest>

2. 启动一个Activity的方法

成功定义一个Activity之后就要学会如何启动

Intent --- 意图

目标: 在默认Activity中设置一个按钮,点击就跳到第二个界面

 1 public static class PlaceholderFragment extends Fragment {
 2
 3         private Button button;
 4
 5         public PlaceholderFragment() {
 6         }
 7
 8         @Override
 9         public View onCreateView(LayoutInflater inflater, ViewGroup container,
10                 Bundle savedInstanceState) {
11             View rootView = inflater.inflate(R.layout.fragment_main, container, false);
12
13             button = (Button)rootView.findViewById(R.id.firstButton);
14
15             ButtonListener buttonListener = new ButtonListener();
16             button.setOnClickListener(buttonListener);
17
18             return rootView;
19         }
20
21         class ButtonListener implements OnClickListener{
22
23             @Override
24             public void onClick(View v) {
25                 // TODO Auto-generated method stub
26                 Intent intent = new Intent();
27                 //第一个参数是context参数,activity类是Context类的子类,Activity都可向上转型为context
28                 //第二个参数是要启动的activity
29                 intent.setClass(getActivity(),MultiActivity.class); //重要!!!!
30                 startActivity(intent);
31             }
32         }
33     }

程序默认运行主界面FirstMirror

点击之后,跳转到第二个页面SecondMirror

3. Android当中的back stack(历史栈)

只显示最上的一个Activity, 按后退键会依次显示栈里面的Activity

Activity生命周期(一)

时间: 2024-08-29 16:55:16

Activity生命周期(一)的相关文章

android学习笔记 activity生命周期&amp;任务栈&amp;activity启动模式

activity生命周期 完整生命周期 oncreate->onstart->onresume->onpause->onstop->ondestory 使用场景:应用程序退出自动保存数据 ondestory oncreate 可视生命周期 onstart->onresume->onpause->onstop 使用场景:应用程序最小化 暂停的操作 onstop onstart 前台生命周期 onresume->onpause 界面用户仍然可见,但是失去焦

Activity生命周期详解

我们来看一下这一张经典的生命周期流程图: 相信不少朋友也已经看过这个流程图了,也基本了解了Activity生命周期的几个过程,我们就来说一说这几个过程. 1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态. 2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行. 3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onRe

安卓activity生命周期

相信不少朋友也已经看过这个流程图了,也基本了解了Activity生命周期的几个过程,我们就来说一说这几个过程. 1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态. 2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行. 3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态. 4.当前

Android——Activity生命周期(转)

Activity生命周期 子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精髓. 近来回顾了一下关于Activity的生命周期,参看了相关书籍和官方文档,也有了不小的收获,对于以前的认知有了很大程度上的改善,在这里和大家分享一下. 熟悉javaEE的朋友们都了解servlet技术,我们想要实现一个自己的servlet,需要继承相应的基类,重写它的方法,这些方

Android 第六课——Activity生命周期

声明:本文转载自 http://blog.csdn.net/liuhe688/article/details/6733407 , 感觉读了这篇文章之后,对Activity又是一个更深层次的理解,所以果断手贱转载了!希望自己以后能多看看这篇文章,提升自己! 熟悉javaEE的朋友们都了解servlet技术,我们想要实现一个自己的servlet,需要继承相应的基类,重写它的方法,这些方法会在合适的时间被servlet容器调用.其实android中的Activity运行机制跟servlet有些相似之处

Android Activity 生命周期

生命周期流程图: 相信不少朋友也已经看过这个流程图了,也基本了解了Activity生命周期的几个过程,我们就来说一说这几个过程. 1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态. 2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行. 3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运

转:基础总结篇之一:Activity生命周期

熟悉javaEE的朋友们都了解servlet技术,我们想要实现一个自己的servlet,需要继承相应的基类,重写它的方法,这些方法会在合适的时间被servlet容器调用.其实android中的Activity运行机制跟servlet有些相似之处,Android系统相当于servlet容器,Activity相当于一个servlet,我们的Activity处在这个容器中,一切创建实例.初始化.销毁实例等过程都是容器来调用的,这也就是所谓的“Don't call me, I'll call you.”

activity之间参数传递&amp;&amp;获取activity返回值&amp;&amp;activity生命周期

Activity之间参数传递 A activity想将参数传给B activity时可以利用Intent将消息带过去 Intent intent = new Intent(this,BActivity.class); intent.putExtra("xxxx", "xxxx"); 数据量多的话可以使用 Bundle bundle = new Bundle(); intent.putExtras(bundle); 获取activity返回值 A activity调用

Activity生命周期方法的调用顺序工程与测试日志

下面为测试activity的方法的执行顺序   工程与测试资源地址 android工程 AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.finalizetest"

05 Activity 生命周期

protected void onCreate(Bundle savedInstanceState); protected void onStart(); protected void onRestart(); protected void onResume(); protected void onPause(); protected void onStop(); protected void onDestroy(); 主Activity要程序结束之后Finish(); 一般覆盖用onResum