问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Activity的使用

发布网友 发布时间:2024-10-05 20:37

我来回答

1个回答

热心网友 时间:2024-10-23 06:58

活动(Activity)是一个可视化的用户界面,负责创建一个屏幕窗口,放置 UI 组件,供用户交互。当我们打开一个应用,看到的整个界面就是一个Activity,当点击一个超链接,跳转到另一个界面,则又是一个新的Activity。

二、Activity的创建
1、自动创建

(1)右击文件,点击新建==>新建文件

(2)选择Empty Activity==>点击下一步

(3)修改项目名称==>生成默认包名(可以修改)==>默认项目路径(可以修改)==>语言选择Java==>sdk版本可根据需求选择,一般22-30之间,不同版本对应不同Android系统版本==>点击完成

(4)然后生成三个Activity主要的文件,MainActivity,activity_main.xml,AndroidManifest.xml

(5)MainActivity

所有的Activity都要继承AppCompatActivity,所有的活动都需要重写onCreate()方法,并在onCreate()方法中引用布局,才可使用

(6)activity_main.xml

Activity中的布局

(7)AndroidManifest.xml

Activity在AndroidManifest.xml中注册

2、手动创建

(1)右击包名,点击新建==>Activity==>Empty Activity

(2)生成默认的以下内容,可修改,若不勾选Generate a Layout File,则不会创建activity_main.xml文件,点击完成

(3)可以看到在AndroidManifest.xml文件中,自动注册了MainActivity2

三、Activity之间的跳转

从一个Activity 跳转到另一个Activity,在Android中,Activity的跳转是通过Intent来表达的,Intent是组件之间通信的媒介,专门提供组件互相调用的相关信息,Intent的启动方式,大的方向上可以分为两种: 显示启动和隐式启动

1、显示启动

明确指定要跳转的Activity

(1)Activity名称.class

[1] MainActivity代码

[2] MainActivity2代码

[3] 跳转效果

(2)包名.类名

[1] MainActivity代码

[2] MainActivity2代码

[3] 跳转效果

(3)ComponentName

[1] MainActivity代码

[2] MainActivity2代码

[3] 跳转效果

2、隐式启动

隐式启动并不明确指出想要启动哪一个活动,而是指定了一系列的action和category等信息,然后由系统去分析这个Intent,并帮我们找出合适的活动去启动

(1)在AndroidManifest中定义action和category属性

(2)在MainActivity中写入代码

效果

注意:如果想要Activity隐式启动,必须在AndroidManifest.xml中的category属性中,把值设置成android.intent.category.DEFAULT,否则不起作用

四、使用系统Activity
1、拨打电话

(1)在AndroidManifest.xml中的下面加入以下代码

(2)在MainActivity中写入Java代码

(3)效果

2、发送短信

(1)在AndroidManifest.xml中的下面加入以下代码

(2)在MainActivity中写入Java代码

(3)效果

3、打开相机

(1)在MainActivity中写入Java代码

(2)效果

五、生命周期
1、单个Activity生命周期

(1)代码

(2)效果

(3)说明:当开启一个activity时,Android系统首先会回调onCreate()方法,紧接着回调onStart()方法,第三个回调onResume()方法,当这三个方法回调完成之后,此时activity处于用户可见且可操作状态;当用户点击了返回键 ,这个activity就会被关闭,从关闭到被销毁的过程中,Android系统首先会回调onPause()方法,紧接着会调用activity的onStop()方法,此时这个activity就已经被关闭了,而onDestroy()方法在当内存比较紧张的时候才会被执行

2、多个Activity生命周期

(1)MainActivity中代码

(2)MainActivity2中代码

(3)效果

(4)说明:启动MainActivity时,调用MainActivity的onCreate() ==> onStart() ==> onResume(),点击跳转时,MainActivity调用onPause(),同时,MainActivity2调用MainActivity2的onCreate() ==> onStart() ==> onResume(),MainActivity调用onStop();点击返回时,MainActivity2调用onPause(),同时,MainActivity调用MainActivity的onStart() ==> onResume(),MainActivity2调用onStop(),如下表

六、Activity的启动模式

Activity的启动模式是决定生成新的activity实例是否重用已存在的Activity实例,是否和其他Activity实例公用一个task。总共提供了四种启动模式

1、standard

默认启动模式,每次激活activity时,都创建activity实例,并放入任务栈

(1)在AndroidManifest.xml的activity里面加入属性android:launchMode="standard"

(2)在MainActivity中写入Java代码

(3)效果

2、singleTop

如果某个Activity自己激活自己,即任务栈栈顶是该Activity,则不需要创建,其余情况都要创建Activity

(1)在AndroidManifest.xml的activity里面加入属性android:launchMode="singleTop"

(2)在MainActivity中写入Java代码

[1] 第一种情况

效果

[2] 第二种情况

效果

3、singleTask

如果要激活的activity在任务栈中,则不需要创建,只需要把这个Activity放入栈顶,并把该Activity以上的Activity实例都出栈

(1)在AndroidManifest.xml的activity里面加入属性android:launchMode="singleTask"

(2)在MainActivity中写入Java代码

(3)效果

4、singleInstance

只有一个实例,并且这个实例独立运行在一个task中,这个task只有这个实例,不允许有别的Activity存在

(1)在AndroidManifest.xml的activity里面加入属性android:launchMode="singleInstance"

(2)在MainActivity中写入Java代码

(3)效果
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
热血江湖剑客怎么升级快些 三月份有哪些花开花 三月份有哪些花开花呢 三月什么花开的最旺盛呢 请问急性化脓性扁桃体炎期间可不可以食用巧克力? 扁桃体化脓吃什么消炎药 为什么扁桃体发炎或者化脓以后不能喝冷水或者吃辣的东西呢? 扁桃体化脓能吃冰淇淋吗 扁桃体化脓可以吃什么 炸酱面通常使用哪种面条? ...写一篇150词左右的英语短文。 Halloween(万圣节... 我和其他看起来瘦的同学一样都是100斤,为什么我会被别人说胖?怎么瘦脸... 我164,102斤,为什么比我同学163,100斤看起来胖很多?? 前天中午午休时我梦见邻居家楼房倒塌了,自家房子好着呢,但门前栏杆倒了... ...我路过时候听见响了一下,看见新房子快要倒了,结果大家都帮忙又弄... 结婚时所说的"彩礼"是什么意思啊? 28.125如何转化为八进制 我的电脑的桌面不知道被我怎么弄的,一点就会出现一个文件夹,上面都是桌... 去除桌面图标快捷键头。 怎么样去除桌面图标的快捷键头 什么办法可消除桌面图标上的快捷键头 如何去除电脑桌面图标的右下角的东西,类似快捷键头的那个 这是道数字推理题,考公务员的 3 5 7 8 ( ) 公务员行测数量关系数字推理5,4,32,25,41,7()37答案是52为什么?_百度... 2021年公务员考试行测练习:数字推理 春风250sr来自于哪个厂家? 春风250sr轮毂材质是什么? 看《追风筝的人》什么体验,为什么这本书一度很火?聊聊? 氢溴酸二氢加兰他敏注射液简介 氢溴酸加兰他敏注射液药物分析 氢溴酸二氢加兰他敏注射液药理毒理 不差钱讽刺部分女生 ...存有36元钱,当当存有54元钱,如果丁丁每天存5元钱,当当每天存3元钱多... 小红的储蓄罐里有36元,如果她每周往储畜罐里存4元钱,多少周后储罐里存... 芳芳的储蓄罐里有32元钱,这些全是2,5角的纸币,共有100张。这两种纸 陈越的储蓄罐里有五角硬币和一元硬币共36枚,共30元钱.这个储蓄罐里五角... ...的储蓄罐里有五角硬币和一元硬币共36枚共30元钱这个储蓄罐里5角硬... 陈明的储蓄罐里有5角硬币和1元硬币共36枚,共30元钱.这储蓄罐里5角硬币... 小明连续三个月每天在储蓄罐里存1元钱,三个月后小明一共存了多少钱.a... php空间设置htaccess伪静态,原来网页代码中的超链接是否需要全部重新按 ... 九点半酒吧系统能实现精准营销吗? 九点半酒吧系统操作设置简单吗? window7 wifi连上显示黄色感叹号 window7旗舰版上不去网,右下方有一个黄色的感叹号 台式电脑window7系统网络连接的时候下面有个黄色的感叹号连接错误的代 ... 笔记本window7旗舰版系统用无线路由器上网时电脑右下角信号上出现黄色三... 为什么window7家庭版,连接网线,有个黄色的感叹号 windows7 adsl+无线路由器 有信号,但有黄色感叹号,自动诊断说“默认网... 中考成绩出来了,什么时候发录取通知书? 我看快手有一个人的照片是有灰色发带脸上还有奶油的特效请问那是什么相... matlab中如何将一列数据小数点对齐?如何将一列数据右对齐?用sprintf...