码迷,mamicode.com
首页 > 其他好文 > 详细

四大组件之Activity

时间:2017-09-15 01:55:36      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:note   pre   singletop   int   w3c   rem   事件   基本用法   补充   

 

 

 

1.活动是什么

     活动是直接跟用户进行交互的一个组件,平常我们直接用的界面就是activity。

 

2.活动的基本用法

1)创建布局

2)创建activity继承AppCompatActivity,并且重写onCreate()方法

3)对activity进行注册

 

3.在活动中使用Toast

     标准语法:

   Toast.makeText("activity名字".this,"要显示的字符串",Toast.LENGTH_SHORT).show();

 

4.在活动中使用Menu

1)在res文件夹中创建menu文件夹,并且创建menu resource file(一般res文件默认会有menu文件夹)

2)在该文件中设置子项

技术分享

技术分享

3)在需要显示菜单的activity中建立onCreateOptionsMenu()方法进行加载上述的文件,

并同时建立onOptionsItemSelected()方法对该菜单的子项进行监听。

技术分享

 

技术分享

技术分享

 

 

5.销毁一个活动

方式:

1)直接按back

2)利用activity类提供的finish()方法

 

6.使用Intent在活动之间穿梭

1)使用显示Intent

核心代码:

技术分享

 

2)使用隐式Intent

 核心:

利用activity里面的配置信息进行选择,里面的配置信息一般由action,category,scheme,一个activity可以有多个相同配置信息的值。但是Intent只能有一个action,可有多个category和scheme。当匹配信息里面有三种信息时,那么intent必须声明这三种属性才可以打开该activity,如果只有两种,那么intent必须声明两种属性才可以打开该activity,除非该属性使用默认值,特指category默认值,eg:

技术分享

 

 例子代码:

设置intent:

技术分享

技术分享

 

配置信息:

技术分享

补充:

技术分享

技术分享

 

 

7.向下个活动传递数据

方式有很多种,具体看如下链接:

http://www.runoob.com/w3cnote/android-tutorial-intent-pass-data.html

 

8.返回数据给上个活动

1)使用startActivityForResult()方法去启动intent.(第二个参数是用来判断返回来的数据到底是从哪个活动来的)

技术分享

 

2)在被启动的activity中,设置返回的数据

技术分享

技术分享

说明:

 技术分享

3)我们在本活动中会写一个方法(onActivityResult())来处理返回的数据

技术分享

说明:

技术分享

 

注意:这边是指当一个活动finish()销毁的时候,可以进行返回处理,那么当一个活动通过

按返回键销毁时呢,我们按照上面的方法是不能够获取到返回的数据的,所以可以在被启动的

活动中声明一个方法(onBackPressed()),来解决这样的回传数据需求:

技术分享

 

9.活动的生命周期

1)活动状态

技术分享

 

2)活动的生存期

技术分享

 

分类:

技术分享

 

生命周期图:

 

技术分享

 

 

3)活动被系统回收了怎么办?最主要的是该活动还有数据

技术分享

总结:

1)所以怕数据丢失,那么之前就要布置好这种意外情况发生下要保存的数据。

2)

技术分享

 

 

10.活动的启动模式

1)standard

技术分享

 

2)singleTop

技术分享

 

3)singleTask

技术分享

 

4)singleInstance

技术分享

 

 

 

11.活动的最佳实践

1)知晓当前是在那一个活动

核心:之后直接继承该activity,而不是AppCompatActivity。

技术分享

 

2)随时随地退出程序

步骤:

(1)创建活动管理器

技术分享

技术分享

 

 

(2)之后activity直接继承以下的activity

 技术分享

 

(3)如果我们想在某一个事件发生之后就马上退出应用,只需要设立监听器,在内部声明ActivityCollector.removeActivity()就可以了。

 

3)启动活动的最佳写法

 (1)在被启动的活动中声明一个静态方法,里面有需要传入的数据

技术分享

技术分享

 

 (2)在被启动的活动中根据自己设立的参数进行提出数据

 

四大组件之Activity

标签:note   pre   singletop   int   w3c   rem   事件   基本用法   补充   

原文地址:http://www.cnblogs.com/lpd1/p/7523547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!