您的位置:首页 > 其它

四大组件及Fragment 、AsyncTask简述

2016-06-04 09:51 225 查看
一.Activity组件

1.简介:Activity组件是Android四大组件之一,通常一个Activity相当于一个用户界面,我们可以通过加载布局文件将Android提供的各种控件及自定义控件显示到用户界面,并为其注册监听,来响应用户的即时操作。

2.Activity生命周期方法:

①onCreate():Activity被第一次创建时执行该方法,该方法通常用来做一些初始化操作;

②onStart():当Activity对用户可见时会执行该方法;

③onResume():当Activity开始与用户交互时,会执行该方法;

④onRestart():把Activity从onStop()状态唤醒时,会执行该方法;

⑤onPause():当前Activity启动一个不完全覆盖当前Activity的Activity时,会调用该方法,也就是说该方法是用来过度界面的;

⑥onStop():当前Activity对用户完全不可见的时候,会调用当该方法;

⑦onDestroy():当Activity销毁前会调用该方法

⑧onSaveInstanceState():该方法用于保存Activity的状态信息;

⑨onRestoreInstanceState()该方法用于重新载入Activity的状态信息;

⑩onConfigurationChanged():该方法用于屏幕横竖屏切换时处理相关操作

3.生命周期方法在不同情况的执行顺序:

两个Activity之间:

当显示MainActivity时(执行顺序:①–》②–》③)

如果直接点击后退键,那么(执行顺序:⑤–》⑥–》⑦)即MainActivity从back stack清除,退出app。

如果按下Home键时(执行顺序:⑤–》⑥),再次打开应用(执行顺序:④–》②–》③)

如果需要在MainActivity中打开OtherActivity,那么首先执行MainActivity的⑤—》【再执行OtherActivity的①–》②–》③】–》接着执行MainActivity的⑥,此时如果需要通过后退键返回到MainActivity时,执行OtherActivity的⑤,接着执行MainActivity的④–》②–>③,然后执行OtherActivity的⑥–》⑦

一个Activity横竖屏切换时:

已经显示的Activity切换成横屏时,执行顺序⑧–》⑤–》⑥–》⑦–》①–》②–》⑨–》③;不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次;设置Activity的android:configChanges=”orientation”时,切屏还是会重新调用各个生命周期,切横屏或者竖屏时各只会执行一次;

设置Activity的android:configChanges=”orientation|keyboardHidden”时,切屏不会重新调用各个生命周期,只会执行⑩

二.Service组件

1.简介:Service是一个没有用户界面的长生命周期的程序,主要用于开发那些不需要图形界面的功能,比如:音乐播放器的后台播放功能。

2.Service的生命周期方法:

onCreate():第一次创建服务时执行该方法;

onStartCommand():启动服务时执行该方法;

onBind(Intent intent):通过bindService()方法启动的service执行该方法

onStart():运行服务时执行该方法;

onDestroy():终止服务时执行该方法;

3.生命周期方法在不同情况的执行顺序:

当通过startService()启动Service时: service生命周期方法的执行顺序:onCreate()—》onStartCommand()—》onStart()…—》判断:①重新启动服务;②终止服务;

选择①时,接着执行2.onStartCommand()—》3.onStart()….

选择②时,执行4.onDestroy()方法终止服务;

当通过bindService()启动Service时:Service生命周期方法的执行顺序:onCreate()—》onBind(),不执行onStartCommand()和onStart()

三.BroadcastReceiver组件

1.简介:Android系统运行后通常会发出各种广播,比如低电量,时区改变,修改语言选项等等的系统操作都会使得系统发出对应的广播,而BroadcastReceiver通常用于处理系统的广播并作出相应处理。同时也可以定制应用的广播并将信息反馈给用户

2.生命周期方法:

onReceive():当广播发送到接受者时执行该方法,可以通过该方法查看广播的数据

四.ContentProvider组件

1.简介:这个类主要是对Android系统中进行共享的数据进行包装,并提供一组统一的访问接口供其他程序调用,开发过程中,我们只需要继承这个类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。

2.ContentProvider的生命周期方法:

onCreate():第一次创建ContentProvider的时候执行该方法

五.Fragment控件:

1.简介:Fragment与Activity关系紧密,通常我们在一个Activity中放置多个Fragment来提高界面的可操作性,尽管它们拥有类似的生命周期方法和执行顺序,但Fragment是一个控件,而Activity是一个组件。因此,对于Fragment来说,主要还是为了实现在大屏幕设备上动态的和更灵活的UI设计,这也优化了Activity面对的界面适配问题。

2.Fragment的生命周期方法:

①onAttach():在Activity与Fragment关联之后执行该方法;

②onCreate():Fragment第一次创建时执行该方法;

③onCreateView():在Fragment加载布局文件,或者创建视图的时候执行该方法;

④onActivityCreated():在Activity的onCreate()方法执行完之后执行该方法;

⑤onStart():当Fragment对用户可见时执行该方法;

⑥onResume():当Fragment开始运行,并可以和用户交互时执行该方法;

⑦onPause();当Fragment对用户即将不可见时执行该方法;

⑧onStop():当Fragment完全不可见时执行该方法;

⑨onDestroy():

⑩onDestroyView():会使onCreateView()中创建的视图与当前Fragment相分离,并清除该视图;

onDetach():在Activity与Fragment解除关联后执行该方法;

3.Fragment的生命周期方法执行顺序:

在Activity打开某个Fragment时,Fragment生命周期方法执行顺序为①—》②—》③—》④—》⑤—》⑥{此时当点击后退键时,执行顺序为:⑦—》⑧—》⑩—》⑨—》onDetach();当点Home键时执行的顺序为⑦—》⑧,当返回到app时,执行顺序为⑤—》⑥}

六.AsyncTask类

1.简介:Android的AsyncTask比Handler更轻量级一些,适用于简单的异步处理,目的都是为了不阻塞主线程,处理后台的比较耗时的任务。使得用户在使用过程中不会出现长时间等待界面响应及卡顿的现象,从而达到比较高的用户体验。

2.AsyncTask中重要的的方法:

①onPreExecute():当异步任务执行之前开始执行此方法,可以在这里显示进度对话框;

②doInBackground():此方法在后台线程执行,完成异步任务的主要工作,通常需要较长的时间。在执行过程中可以通过调用publishProgress()来更新任务的进度;

③onProgressUpdate():此方法在主线程中执行,用于显示任务执行的进度;

④onPostExecute():此方法在主线程中执行,异步任务执行的结果作为此方法的参数返回;

3.AsyncTask方法执行顺序:①—》②—》③—》④
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网尽天下 四大