理解活动
活动就是一个包含应用程序的用户界面的窗口
Activity四种状态
Active/Runing
一个新 Activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。 [img][/img]
Paused
当 Activity 被另一个透明或者 Dialog 样式的 Activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。
Stoped
当 Activity 被另外一个 Activity 覆盖、失去焦点并不可见时处于 Stoped 状态。
Killed Activity
被系统杀死回收或者没有被启动时处于 Killed 状态。
Activity生命周期流程图
Activity生命周期这种方法
方法 | 描述 | 下一个操作 |
onCreate() | 活动初始化创建时候调用 | onStart() |
onStart() | 活动对用户可见时调用 | onResume()或onStop() |
onRestart() | 活动重新启动(从后台返回前台)时候调用 | onStart() |
onResume() | 活动跟用户交互之前调用 | onPause() |
onPause() | 在系统要激活另一个活动时调用 | onResume() 或者 onStop() |
onStop() | 活动在不可见的情况下调用 | onRestart() 或者 onDestroy() |
onDestory() | 活动被销毁时候调用 | |
Activity的运作流程
当用户按下back按钮时,一个活动就被销毁。onPause()事件在两个情况下都将被调用——当活动被送人后台以及用户按下back键盘而终止活动时。
- 一般启动Activity:onCreate -> onStart -> onResume
- 呼叫另一个Activity: onPause -> onCreate -> onStart -> onResume -> onStop
- 还原Activity: onPause -> onRestart -> onStart -> onResume -> onStop -> onDestroy
- 退出Activity: onPause -> onStop -> onDestroy
- 回收再启动Activity: onCreate -> onStart -> onResume
使用意图链接活动
Android中的活动之间的导航是通过意图来完成的
在AndroidMainfest.xml文件中,专门添加了以下内容
<activity
android:label ="Second Activity"
android:name =".SencondActivity">
<intent-filter>
<action android:name ="com.dawei.test. SencondActivity">
<category android:name ="android.intent.category.DEFAULT">
</intent-filter>
</activity>
添加的新活动的名称是SecondActivity
新活动的标签为Second Activity
新活动意图名称为com.dawei.test. SencondActivity
意图筛选器的类别是android.intent.category.DEFAULT
在代码中可以通过下面方式调用
startActivity(new Intent("com.dawei.test. SencondActivity"));
//也可以这样写
startActivity(new Intent(this, SencondActivity.class));
如果需要从一个活动中回传数据,应该使用startActivityForResult()
//意图调用
startActivityForResult(new Intent(com.dawei.test, SencondActivity),recode_code)
//回调方法
public void onActivityResult(int requestCode,int resultCode,Intent data){
...
}
使用意图对象传递数据
Intent i = new Intent("net.learn2develop.SecondActivity");
//---use putExtra() to add new key/value pairs---
i.putExtra("str1", "This is a string");
i.putExtra("age1", 25);
//---use a Bundle object to add new key/values
// pairs---
Bundle extras = new Bundle();
extras.putString("str2", "This is another string");
extras.putInt("age2", 35);
//---attach the Bundle object to the Intent object---
i.putExtras(extras);
//---start the activity to get a result back---
startActivityForResult(i, 1);
碎片
可以把碎片看做另一种形式的活动,碎片总是内嵌在活动中的
碎片的生命周期
- 碎片被创建时:onAttach()-->onCreate()-->onCreateView()-->onActivityCreated();
- 碎片变为可见时:onStart()-->onResume();
- 碎片进入后台模式时:onPause()-->onStop();
- 碎片被销毁时:onPause()-->onStop()-->onDestroyView()-->onDestroy()-->onDetach();
就像activitie一样,在以下的状态中,可以使用Bundle对象保存一个fragment的对象。
onCreate()
onCreateView()
onActivityCreated()
fragments的大部分状态都和activitie很相似,但fragment有一些新的状态。
onAttached() —— 当fragment和activity关联之后,调用这个方法。
onCreateView() —— 创建fragment中的视图的时候,调用这个方法。
onActivityCreated() —— 当activity的onCreate()方法被返回之后,调用这个方法。
onDestroyView() —— 当fragment中的视图被移除的时候,调用这个方法。
onDetach() —— 当fragment和activity分离的时候,调用这个方法。
使用意图调用内置应用程序
可以通过意图来调用内置的程序,如电话,信息,邮件等应用
分享到:
相关推荐
NULL 博文链接:https://fanfanlovey.iteye.com/blog/2184117
Android OpenGL入门示例:绘制三角形和正方形,详见博文: http://blog.csdn.net/yanzi1225627/article/details/30096181
Android入门笔记 包含: 环境搭建 案例的讲解 适合初学者
Android高薪之路:Android程序员面试宝典
Android学习笔记(十)——使用意图链接活动 完整代码
• Android 开发之旅:活动与任务 • Android 开发之旅:进程与线程 • Android 开发之旅:组件生命周期(一) • Android 开发之旅:组件生命周期(二) • Android 开发之旅:组件生命周期(三) • Android ...
教程名称:Android 4.0开发入门经典学习文档合集课程目录:【】Android4开发入门经典 ? 第七部分(1):数据存储【】Android4开发入门经典 ? 第七部分(2):数据存储【】Android4开发入门经典 ? 第三部分【】...
里面包括了《Java语言基础从入门到熟悉》、《Kotlin语言基础从入门到熟悉》、《Android 技术栈从入门到熟悉》、《Android Jetpack 全家桶全面学习》
Android学习笔记(十三) 碎片 完整源码
Android入门到精通详解(完整书签)
Android播放视频的方式有三种: 一、使用意图播放,调用本地安装的播放器,选择一个进行播放。 二、使用VideoView播放(VideoView其实是对MediaPlayer的封装,使用起来很简单,但是缺少灵活性)。 三、使用...
本压缩包中总共包含了五本入门书籍,分别为:《14天学会android开发》、《android开发从入门到精通》、《android入门》、《android开发入门与实践》、《深入浅出Google_Android》
Android程序员入门教程(中文版) 第一章:什么是Android 第二章:下载和安装Eclipse总则 第三章:下载和安装Android SDK 第四章:浏览Android SDK 第五章:Android程序:Hello World 第六章:使用命令行工具盒...
系统的、循序渐进的学习Android开发所需的知识 n 第一部分:Android的入门基础 包括:Android是什么、有什么、能干什么,Android开发的环境构建、 HelloWorld开发,HelloWorld基本分析等 n 第二部分:Android应用核心...
Android学习快速入门,Android学习快速入门,Android学习快速入门
Pro Android学习系列中的传感器小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512
《Android从入门到精通》 第1章 初识Android 1.1 什么是Android 1.1.1 移动信息设备分类 1.1.2 Open Handset Alliance和 Android 1.2 Android简介 1.2.1 Andriod的历史 1.2.2 Andriod的未来 1.2.3 Andriod平台的技术...
这是一个用android studio开发的小demo,只有一个TextView和一个Button,button实现了点击事件
[14本经典Android开发教程]-7-Android编程入门教程 -------------------------------------------------- 本文为以前已经使用Java编程并想开始为Android平台开发的开发者编写。我试着尽可能地多的"展开",在合适的每...
Android学习笔记(十六)——碎片之间进行交互(附源码) 文章内容源码,文章地址:http://blog.csdn.net/zenail501129