`
dyllove98
  • 浏览: 1384612 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
73a48ce3-d397-3b94-9f5d-49eb2ab017ab
Eclipse Rcp/R...
浏览量:38392
4322ac12-0ba9-3ac3-a3cf-b2f587fdfd3f
项目管理checkList...
浏览量:78754
4fb6ad91-52a6-307a-9e4f-816b4a7ce416
哲理故事与管理之道
浏览量:131941
社区版块
存档分类
最新评论

Android学习笔记-Activity的生命周期

阅读更多

wKioL1RpZyCQrWqoAACkJvLzHVo606.jpg

wKiom1RpZqyCR_IAAAB7HdIdDEc995.jpg

界面activity_main.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.activity_05.MainActivity" >
 
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
 
    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="22dp"
        android:text="启动第二个Activity" />
 
</RelativeLayout>

界面second.xml

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

MainActivity.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package com.example.activity_05;
 
import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;
 
public class MainActivity extends ActionBarActivity {
    private Button button;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        System.out.println("MainActivity onCreate:第一次调用Activity的时候执行");
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.button1);
        button.setOnClickListener(new OnClickListener() {
             
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setClass(MainActivity.this, SecondActivity.class);
                MainActivity.this.startActivity(intent);
            }
        });
    }
     
    @Override
    protected void onResume() {
        System.out.println("MainActivity onResume");
        super.onResume();
    }
     
       //以上三个方法执行完毕之后这个Activity就可以使用了 
     
    @Override
    protected void onStart() {
         System.out.println("MainActivity onStart:Activity处于可见状态的时候调用");
        super.onStart();
    }
     
    @Override
    protected void onRestart() {
        System.out.println("MainActivity onRestart:Activity又可以得到用户焦点的时候调用");
        System.out.println("当从第二个Activity又回到第一个Activity时调用此方法");
        System.out.println("然后调用onResume方法就可以显示出来");
        System.out.println("然后调用第二个Activity的onStop、onDestroy。第二个Activity就被销毁掉了");
        super.onRestart();
    }
     
    @Override
    protected void onPause() {
        System.out.println("MainActivity onPause");
        System.out.println("如果在执行当前Activity的时候又启动了一个Activity就会调用当前Activity的此方法");
        System.out.println("然后依次调用新启动的Activity的onCreate、onStart、onResume");
        System.out.println("然后调用第一个Activity的onStop方法");
        super.onPause();
    }
     
    @Override
    protected void onStop() {
        System.out.println("MainActivity onStop");
        //如果第二个Activity把第一个Activity完全遮挡住就调用这个函数
        super.onStop();
    }
     
    @Override
    protected void onDestroy() {
        System.out.println("MainActivity onDestroy");
        super.onDestroy();
    }
}

SecondActivity.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.example.activity_05;
 
import android.app.Activity;
import android.os.Bundle;
 
public class SecondActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
    }
     
    @Override
    protected void onStart() {
        System.out.println("SecondActivity onStart");
        super.onStart();
    }
     
    @Override
    protected void onRestart() {
        System.out.println("SecondActivity onRestart");
        super.onRestart();
    }
     
    @Override
    protected void onResume() {
        System.out.println("SecondActivity onResume");
        super.onResume();
    }
     
    @Override
    protected void onPause() {
        System.out.println("SecondActivity onPause");
        super.onPause();
    }
     
    @Override
    protected void onStop() {
        System.out.println("SecondActivity onStop");
        super.onStop();
    }
     
    @Override
    protected void onDestroy() {
        System.out.println("SecondActivity onDestroy");
        super.onDestroy();
    }
}

 

AndroidManifest.xml

1
<activity android:name=".SecondActivity" android:label="第二个Activity"/>

 


 


日志输出如下

wKiom1RpZ0zAZVjeAAiNlG_UNMA234.jpg

每次显示栈顶Activity的内容

wKiom1RplyPCRCpkAAHyBxisZwA237.jpg

 

欢迎大家访问我的个人网站 萌萌的IT人
2
1
分享到:
评论

相关推荐

    Android学习笔记-Activity篇

    Android学习笔记-Activity篇 Contents Android学习笔记-Activity篇 1 一、activity创建: 1 二、在manifest.xml中声明activity: 1 三、启动activity 1 3.1 启动不带返回结果的Activity 1 3.2 启动带有返回结果的...

    android学习笔记

    3.android学习笔记--activity生命周期&handler使用 4.android学习笔记--HandlerThread和Bundle 5.android学习笔记--SQLite 6.android学习笔记--下载文件 7.android学习笔记--Content Provider 8.android学习笔记--...

    android 学习笔记7-页面跳转 Activity启动 生命周期 activity数据传递

    1、创建一个自己的Activity 2、启动activity-显示启动和隐式启动: 3、隐式启动自己的activity 4、获取隐启动传递过来的data数据 5、显示启动传递数据 6、禁用掉横竖屏切换 7、开启activity获取返回值-...

    Android Activity学习笔记

    本文的是深入重点讲解Activity,主要Activity生命周期、Activity之间数据交互、Activity启动模式、Task和BackStack。

    Android学习笔记

    Android学习笔记(1)-永远不变的Hello World Android学习笔记(2)-初识Activity Android学习笔记(3)-Activity的生命周期 Android学习笔记(4)-学习Intent的使用,

    Android 学习笔记(1)--永远不变的Hello World

    让button来说hello word 、让菜单say hello、初识Activity、Activity的生命周期

    Activity生命周期

    Android初学者的学习笔记。Activity的生命周期的简要了解。

    java8集合源码分析-AndroidLearn:Android学习笔记

    生命周期 启动模式 ActivityManagerService PMS Art/Dalvik Http Http WebSocket Udp Kotlin 算法 快速排序 链表 重新排版 RxJava2 Glide GreenDao 其他 反编译 Hook 动态加载 编译构建 设计模式 代理模式 装饰者...

    移动开发Android学习(one)

    新建项目 这里选择基本的模板empty activity ...activity的生命周期 所有的布局文件都是写在xml里的(展开layout文件夹后,有个activity_main.xml) 运行 新建一个布局文件 新建一个LinearLayout(线性布局)

    NeverNote:一个简单的印象笔记 API 消费者应用

    从不注意开发步骤文档1.- 使用 Android .gitignore 和 MIT 许可证作为默认值创建了 GitHub 存储库。 2.- 通过阅读文档检查测试要求。 3.- 学习印象笔记 SDK 依赖和文档。... 我们也将注册 Activity 生命周期

    java安卓仿微信聊天软件源码-AndroidDemo:整理一份自己学习android的合集

    Activity启动模式、生命周期; 2018/1/30 动画(补间动画、帧动画、属性动画)、动画监听; 2018/1/31 Android多线程、异步任务(AsycTask); 2018/2/1 网络、Http协议; 3/11将此前网络这里的部分熟悉下,关于网络部分有...

Global site tag (gtag.js) - Google Analytics