Android四大组件之(Activity)

今天开始我的第一篇技术类博文,有点小激动!
Activity中文意思是活动,当我们第一次打开app时呈现眼前的就是一个Activity。Activity是用户接口程序,原则上它会提供给用户一个交互式的接口功能。Activity本省是没有界面的,所以我们要通过 setContentView(View)接口把 UI 放到 Activity 创
建的窗口上。下面我将主要介绍两点
一、Activity 的生命周期
二、Activity 之间数据交互




一、Activity 的生命周期包括以下几个方法

onCreate() 创建时被调用,用于对一个Activity的初始化


onStart()启动Activity时被调用


onResume()启动时,当执行该方法后,Activity为可见,还有一种情况为当Activity有暂停状态恢复为活动状态时被调用

onRestart() 重新启动Activity时被调用

onPause() 暂停Activity时被调用

onStop()停止Activity时被调用

onDestroy()销毁Activity时被调用




Android四大组件之(Activity)
文章图片


如图 Activity 的生命周期有两种形式一个是 onCreate()-> onStart()-> onResume() -> onPause() -> onStop()->


onDestroy()直接从创建到销毁,
另外一种是创建完执行onResume() 后跳转到其他Activity,会执行onPauser(),然后执行第二个Activity的创onCreate()


onStart() onResume()
第二个Activity可见后执行原Activity的onStop()。这时如果第二个Activity调转回第一个Activity,就会执行
onRestart() onStart() onResume()




二、Activity 之间数据交互

Activity之间的数据通过Intent交互有两种方式中是直接传送(直接贴代码)


第一个界面使用一个按钮,然后重写监听方法
Android四大组件之(Activity)
文章图片
Android四大组件之(Activity)
文章图片





第二个界面通过getIntent()方法接受


Android四大组件之(Activity)
文章图片
Android四大组件之(Activity)
文章图片


另一种方法通过通过 Bundle 传值,Bundle 是类似于Map的一种键值的数据形式 ,代码如下
Android四大组件之(Activity)
文章图片
Android四大组件之(Activity)
文章图片


第二个activity

Android四大组件之(Activity)
文章图片

Android四大组件之(Activity)
文章图片




当跳转页面是需要返回值是需要重写onActivityResult(int requestCode, int resultCode, Intent data) 方法,并且在跳转的时候要使用


startActivityForResult(intent,requestCode) 方法,第二个Activity需要使用setResult(resultCode,intent)方法返回


代码如下
Android四大组件之(Activity)
文章图片
Android四大组件之(Activity)
文章图片




第二个activity
Android四大组件之(Activity)
文章图片


Android四大组件之(Activity)
文章图片




第二个requestCode指定我们的一个启动标志值,因为我们可能有多个按钮,如果都是跳转到同一个Activity对象上,我们需要对其进行标志,才知道
是哪个Activity对象跳转过来的。这里还要注意一个点,就是finish(),一定要加上这个方法,结束第二个Activity,不然app不会跳转回去。



【Android四大组件之(Activity)】另外还有Activity还有一个非常重要的知识点 Intent Filter中文就是意图过滤器,可以通过这个调用系统的Activity 如:电话,短信,摄像头
等,具体的大家可以到下面这个链接看视频http://www.imooc.com/video/7459
由于篇幅问题,今天就到这。新人第一篇,希望大家多加指点,期待大家的评论。


    推荐阅读