Android Day06四大组件之Activity多页面跳转和数据传递

1.什么是Activity

  官方文档是这么说的:An Activity is an application component that provides a screen     with which
users can interact in order to do something, such as dial the phone,     take a photo, send an email, or
view a map. Each activity is given a window in     which to draw its user interface. The window
typically fills the screen, but may be     smaller than the screen and float on top of other
windows.

大致意思是说:Activity是一个应用程序组件,给用户提供一个屏幕让用户可以与之交互做一些事

情。

2.Activity的生命周期

  下面这张图是官方文档提供的Activity的生命周期的图:

·onCreate 方法    当Activity启动的是调用

·onDestroy方法    当Activity销毁的时候调用

·onStart 方法    当Activity可见的时候调用

·onStop 方法     当Activity
不可见的时候调用

·onResume 方法    当Activity上的按钮 获得焦点 可以被点击的时候调用

·onPause 方法    当Activity 上的按钮 失去焦点 按钮不可以被点击的时候调用

·onRestart 方法   当界面被重新加载的时候调用
注意这个方法

■手机按键对应的Activity生命周期的回调方法

如果点击BACK键,会调用Activity的onPause()、onStop()、onDestroy()方法,Activity

会注销掉。

如果点击HOME键,会调用Activity的onPause()、onStop()方法,但不会执行onDestroy()   方法,程序会运行在后台。如果应用程序没有被系统杀死,那么再点击应用程序图标会调用Activity的onRestart()、onStart()、OnResume()方法。

■特殊的回调方法组合

如果打开第一个Activity之后,不关闭它,开启另外一个Activity(非透明的),会调用第一个Activity的onPause()、onStop()方法。

如果打开第一个Activity之后,不关闭它,开启另外一个Activity(透明的),会调用第一个

Activity的onPause()方法,而不会去调用onStop()方法,因为第一个Activity还是可见的。如果关

闭透明的Activity,第一个Activity只会回调onResume()方法。

3.Activity的清单配置

如果想让Activity成为应用程序的入口,需要将activity的意图过滤器配置如下:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

Android允许程序有多个activity作为应用程序的入口,只要activity配置了以上的意图过滤器,就会在手机桌面上创建多个应用程序图标,点击图标会进入对应的activity界面。

如果activity节点没有设置自己的label和icon,会默认使用application节点的label和icon。

4.Activity的页面跳转及数据传递

■启动Activity传数据和取数据

本Activity:传数据,通过Intent对象的setData()和putExtra()方法封装数据至Intent对象。

被调用的的Activity:取数据,通过Activity类的getIntent()方法先得到开启这个Activity的

Intent对象,也就是本Activity里传数据用到的Intent对象,然后通过

Intent对象的getXxxExtra()方法得到数据。

■启动Activity的2种方式

第一种:不需要被启动的Activity返回数据

                startActivity(intent);

第二种:需要被启动的Activity返回数据

                startActivityForResult(intent, int类型的请求码);

对于第二种Activity的启动方式,需要思考的两个问题?

1)被调用的Activity怎么返回数据?

首先,调用者Activity启动被调用的Activity的方式是

                    startActivityForResult(intent, int类型的请求码);

其次,在被调用的Activity里面,创建Intent对象,将要返回的数据封装进Intent对

象,调用Activity类的setResult(int resultCode, Intent data)方法返回Intent对象。

如:

            //将数据返回
		Intent intent = new Intent();
		intent.putExtra("phone", phone);
		setResult(10, intent);

2)调用者Activity怎么获取被调用的Activity所返回的数据?

时间: 2024-10-13 16:38:39

Android Day06四大组件之Activity多页面跳转和数据传递的相关文章

安卓笔记五--四大组件之Activity(页面跳转,不同窗体传递数据)

安卓四大组件都是非常重要的知识,今天来说Activity .老规矩,用一张图来介绍今天的内容. 图片看不清的话可以右键新窗口打开 一,概述 Activity 是 Android 四大组件之一,它用于展示界面. Activity 是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务. Activity 中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过 setContentView(View)来显示指定控件. 在一个 android 应用中,一个 Activity 通常

Android页面跳转和数据传递

Android应用开发-页面跳转和数据传递 Activity Android四大组件之一 可以理解为Android中的界面,每一个界面都是一个Activity Activity的使用必须在清单文件中进行配置 在清单文件中, 创建第二个Activity 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> <action android:name="android.intent.action.M

iOS页面跳转及数据传递

iOS页面跳转: 第一种 [self.navigationController pushViewController:subTableViewController  animated:YES]; //描述:通过 NSNavigationBar 进行跳转 [self.navigationController popViewControllerAnimated:YES]; //描述:在子视图返回到上级视图 第二种 UIViewController *control = [[UIViewControl

Android基础笔记(七)-页面跳转和数据传递

Activity简介 Activity的简单使用 Activity之间的跳转 意图传递数据 创建Activity获取返回数据 如何调用系统发送短信的页面 如何发送短信 Activity简介 Activity是Android的四大组件之一,它用于展示界面.它提供一个屏幕,用户可以用来交互,可以通过setContentView(View)来显示指定的控件. 在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应.Activit

Android应用开发-页面跳转与数据传递(重制版)

Android四大组件:Activity,Service,Broadcast Receiver,Content Provider 创建Activity 定义Java类,继承Activity类 在清单文件中配置activity标签 activity标签下如果带有下面这部分代码,则会在系统中多创建一个快捷图标 <intent-filter> <action android:name="android.intent.action.MAIN" /> <catego

从零开始学android开发-四大组件之一 Activity

1.Activity是Android四大组件(Application Components)之一,简单来说Activity就是平常所见到的用户界面,一般情况下,一个Activity所占的窗口是满屏的,但也可以是一个小的位于其它Activity之上的浮动窗口.一个Android工程至少有一个Activity,Activity上面可布有多个view的实例,如文本框.进度条.复选框.按钮等等.多个Activity之间通过Intent来实现跳转. 注:每新建一个activity,就要继承(extends

Android activity之间的跳转和数据传递

1.Activity之间的跳转 并且 传递数据 A Activity进行的操作 Intent intent = new Intent(context, B.class); intent.putExtra("tn",tn); intent.putExtra("payMode",payMode); context.startActivity(intent); B activity接收数据 protected void onCreate(Bundle savedInsta

页面跳转与数据传递

#创建第二个Activity 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter

第六天 页面跳转和数据传递

1.  横竖屏切换是时候 会调用 oncreate , onstart  , 重建 . 在清单中 activity 中添加    .重建为横竖屏 适配  加载不同的 布局文件. android:configChanges="keyboardHidden|orientation|screenSize"     就不会重建. 2 .显示启动 Intent intent = new Intent(); intent.setClass(this, second.class);  //启动本应用