欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

笔记8

程序员文章站 2022-04-01 10:42:00
Activity(活动)一.活动的创建与基本用法(1)什么是活动(layout——soul)(2)创建活动(2种方式)1.打开Android studio,选择【start a new Android s…2.在【new project】界面中输入新建程序的名称。3.在程序类型中选择【phone and tablet】,并选择对应的sdk类型,…4.选择新增的activity的类型,可以使用程序默认的一些模板,也可以新建空白模板,…5.等待新的项目建立。6.项目建立成功后,可以在文件浏览器...

Activity(活动)

一.活动的创建与基本用法
(1)什么是活动(layout——soul)
(2)创建活动(2种方式)
1.打开Android studio,选择【start a new Android s…
2.在【new project】界面中输入新建程序的名称。
3.在程序类型中选择【phone and tablet】,并选择对应的sdk类型,…
4.选择新增的activity的类型,可以使用程序默认的一些模板,也可以新建空白模板,…
5.等待新的项目建立。
6.项目建立成功后,可以在文件浏览器中看到之前新建项目名称。
7.在该名字上点击右键,选择new-activity-empty activity。
8.建立一个新的activity,写入名字。
9.编辑这个新的activity,就可以运行程序了。
(3)创建和加载布局
(4)菜单(menu)的创建
(5)如何使用我们菜单(menu)
(二)活动的生命周期
(1)帮助文档:
(2)生命周期的5种状态
1.启动
2.运行
3.暂停
4.停止
5.销毁
(3)生命周期方法
(三)Intent的基本属性及用法
(1)显示Intent
(2)隐式Intent
(四)活动间的数据传递
(1)简单的数据传递
1.Intent.putextra(key,vaule)
2.getIntent()
3.通过key拿到相应的vaule
(2)数据包传递
1.Bundle对象,通过Bundle.putString(Int)
2.Intent.putextras(bundle)
3.Intent.getextras();

(3)值对象传递
调用startActivity(Intent) 方法,跳转到另外一个Activity或其他component,需要传递一个对象给它。
可以让这个要传递的对象所属类实现Serializable或者Parcelable接口。然后利用onCreate函数中的Bundle参数作为载体,传递这个对象。在新的组件中再获得即可。

(4)Activity之间数据回传
1.首先在第一个activity中我们一般会通过StartActivity来启动第二个activity
2.然后上面的方式是不能回传数据的,我们需要通过startActivityForResult来启动第二个activity
3.接着在第二个activity中通过setResult传递数据,
4.接下来在第一个activity中编写onActivityResult方法,数据就会回传到这里
5.接着运行android程序
6.然后我们点击第一个activity中的按钮,启动第二个activity,在第二个activity中按返回键
7.最后我们就在输出栏中看到输出的日志信息了
(五)活动的启动方式
1.standard模式:
这是最基础的模式,在这种模式中,当你进入一个活动,这个活动就会创造一个实例,出现在返回栈的最顶层,上一个你离开的活动就会被压在下面,(注:返回栈是Android管理活动的地方,出现在界面上的活动就在最上面,再出现新的就一层层往下压。)当你无限的点击进入下一个界面,你的每一个活动都会在返回栈中往下压。如果你点击返回上一个的活动,最顶层的活动就会消失,第二层的就会上来,如果你要退出这个应用,要把返回栈中的所有活动都取消掉,才能退出。如果你用一个极端的例子,不停地从这个活动进入同一个活动,你点击了十次,就要返回十次才能退出程序,因为你在返回栈中创造了十个相同的实例,尽管活动是一样的。
2.SingleTop模式:
在SingleTop模式中,会检查在返回栈栈顶是不是你要启动的活动,如果不是的话,会启动这个活动,如果是的话,他就不会启动,直接使用。所以SingleTop不会出现standard中的情况需要点击多次才能退出程序,它只需要点击一次就可以了。
3.SingleTask模式:
这种模式是最智能的模式,系统会在你的返回栈中检查是否有你想启动的活动,有的话就直接推向栈顶,没有的话才回去创建。
4.SingleInstance:
这种模式是最特殊的模式,这种模式是为了让不同的app之间可以共享同一个活动,如果你的app想让别的app调用你的某一个界面,就可以用这种模式,这种模式会为你想共享的界面单独创造出一个单独使用的返回栈,不会与别的返回栈共同使用。

本文地址:https://blog.csdn.net/weixin_46360804/article/details/107162253