一,Activity:
一个Activity通常就是一个单独的屏幕。
每创建一个Activity都必须在androidManifest.xml配置文件中声明。
Activity和Activity之间通过Intent通信,包括跳转。
Activity通过栈来管理,Activity的跳转及存储遵循栈先进先出的特点。屏幕显示的Activity总是处于栈顶,程序的初始界面处于栈底。
二,Activity的四种基本状态:
1,Active,是完全呈现给用户的界面,此时Activity处于栈最顶端。
2,Paused, 仍然可见,但是已经失去焦点,不可交互。 被一个透明Activity或者Dialog样式的Activity覆盖。
3,Stopped, 完全失去焦点,完全被另一个Activity覆盖。
4,Killed, 没有启动或者被系统杀死。
三,Activity的生命周期:
1,onCreate: 创建(每个Activity必须实现)
2,onStart:界面可见
3,onRestart:Activity重新启动
4,onResume:界面可以交互
5,onPause:界面暂停,开始失去焦点(在stop之前)
6,onStop:界面完全不可见
7,onDestory:销毁
举例:
第一个Activity启动:
onCreate() -> onStart() -> onResume
第一个Activity跳转到第二个Activity:
onPause()(第一个) -> onCreate()(第二个) -> onStart()(第二个) -> onResume()(第二个) -> onStop()(第一个)
按返回键后:
onPause()(第二个) -> onRestart()(第一个) -> onStart()(第一个) -> onResume()(第一个) -> onStop()(第二个) -> onDestory()(第二个)
四,Activity的四种加载方式:
在androidManifest.xml中配置Activity时可以设置,属性为launchMode。
1,standard:标准模式,每次跳转到另一个Activity都会创建一个新实例。
2,singleTop:如果之前已经创建过这个Activity的实例,就不会再次创建另一个新的Activity,而是直接调用newInstance()来入栈。
3,singleTask:会在一个新的task中产生这个实例。每次再使用该Activity时,都会使用该Activity,不会再去创建新的。
4,singleInstance:与singleTask基本一样。只有一个区别:在這个模式下的Activity实例所处的task中,只能有這个activity实例,不能有其他的实例。
五,Activity之前的简单通信:
使用Intent装取信息。
Intent intent = new Intent(xxxxx.this, xxxxx.class); Bundle bundle = new Bundle(); bundle.putString("string", "I am a String"); bundle.putInt("int", 20); bundle.putBoolean("boolean", true); intent.putExtra("key", bundle); startActivity(intent);
其中xxxx.this中的xxxx为需要跳转到另一个界面的Activity,xxxx.class的xxxx为跳转的Activity。
创建Bundle保存信息,每个信息都有一个key,bundle存入intent时,也需要一个key。
下面是在另一个Activity中的读取:
Intent intent = getIntent(); Bundle bundle = intent.getBundleExtra("key"); String s = bundle.getString("string"); int i = bundle.getInt("int"); boolean b = bundle.getBoolean("boolean");
上面的方法比较复杂,下面是稍简单的方法:
Intent intent = new Intent(xxxx.this, xxxx.class); intent.putExtra("string", "I am a string"); intent.putExtra("boolean", true); intent.putExtra("int", 20); startActivity(intent);
另一个界面接受结果:
Intent intent = getInten(); String s = intent.getStringExtra("string"); int i = intent.getIntExtra("int", 0); boolean b = intent.getBooleanExtra("boolean", false);
getIntExtra和getBooleanExtra中的第二个参数是如果没有这个key获取的默认值。
相关推荐
详解 Android 的 Activity 组件,详解 Android 的 Activity 组件
ActivityFuzzer:检测Android Activity组件的安全漏洞
Android核心组件之一 Activity的相关介绍的源码练习
详解讲解了 Android开发中的Activity 组件
android组件Activity 的生命周期
android各组件详解-activity
android四大组件详细介绍,activity,service等从基础到应用开发,熟练的掌握android 组件的应用。
Android四大组件简述demo用例。
android listview实例eclipse Version: Kepler Release Build id: 20130614-0229下调试通过
Android 滑动关闭Activity组件可以设置上下左右滑动关闭,一个通过手势滑动关闭Activity的库,你可以设置滑动关闭的方向,比可以设置上下左右滑动关闭 一个通过手势滑动关闭Activity的库,你可以设置滑动关闭的方向...
实验二 Activity组件通信 一、实验目的及要求 (1) 掌握显示启动和隐式启动的方式 (2) 掌握Activity间的数据通信 二、实验内容及步骤 任务:根据下述要求实现对应程序 1、 完成启动界面的设计,要求采用合理布局...
一个可以比较好理解Activity四种不同启动方式的demo
1.Activity类的onCreate()方法 2.在Activity类中调用其他的Activity并传递数据 由于初学,知识有限,此作为我的读书笔记,见笑了。
原理解释请参考文章Android彻底组件化方案实践 demo解读请参考文章Android彻底组件化demo发布 实现功能: 组件可以单独调试 组件之间通过接口 实现的方式进行数据传输 使用scheme和host路由的方式进行activity之间...
Android四大组件——Activity——Activity的生命周期.doc
文档主要是讲Android开发的四大组件详解,包含 Activity详解 ,Service详解,Broadcast Receiver详解,Content Provider详解 外加一个重要组件 intent的详解。 文章内容来自网络,本文是一个总结性文章。
android入门级视频:Android基本组件介绍之Android应用的灵魂——Intent和Activity介绍与实例
本文当简单介绍了Android四大组件之一的Activity,对初学者有一定帮助。