今天开始我的第一篇技术类博文,有点小激动!
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时被调用
如图 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交互有两种方式中是直接传送(直接贴代码)
第一个界面使用一个按钮,然后重写监听方法
第二个界面通过getIntent()方法接受
另一种方法通过通过 Bundle 传值,Bundle 是类似于Map的一种键值的数据形式 ,代码如下
第二个activity
当跳转页面是需要返回值是需要重写onActivityResult(int requestCode, int resultCode, Intent data) 方法,并且在跳转的时候要使用
startActivityForResult(intent,requestCode) 方法,第二个Activity需要使用setResult(resultCode,intent)方法返回
代码如下
第二个activity
第二个requestCode指定我们的一个启动标志值,因为我们可能有多个按钮,如果都是跳转到同一个Activity对象上,我们需要对其进行标志,才知道
是哪个Activity对象跳转过来的。这里还要注意一个点,就是finish(),一定要加上这个方法,结束第二个Activity,不然app不会跳转回去。
另外还有Activity还有一个非常重要的知识点 Intent Filter 中文就是意图过滤器,可以通过这个调用系统的Activity 如:电话,短信,摄像头
等,具体的大家可以到下面这个链接看视频 http://www.imooc.com/video/7459
由于篇幅问题,今天就到这。新人第一篇,希望大家多加指点,期待大家的评论。