andriod 四大组件

来源:互联网 发布:json.stringify array 编辑:程序博客网 时间:2024/06/06 07:08

Android有四大组件:Activity、Service、Broadcast Receiver、Content Provider.

1、Activity

什么是activity?

答:

一个Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。

Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。
在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。

activity之间如何通信?

答:

Activity之间通过Intent进行通信.

activity有几种状态?

答:三种。

1、当它在屏幕前台时(位于当前任务堆栈的顶部),它是激活或运行状态。它就是响应用户操作的Activity。 
2、 当它上面有另外一个Activity,使它失去了焦点但仍然对用户可见时(如右图),它处于暂停状态。在它之上的Activity没有完全覆盖屏幕,或者是透明的,被暂停的Activity仍然对用户可见,并且是存活状态(它保留着所有的状态和成员信息并保持和窗口管理器的连接)。如果系统处于内存不足时会杀死这个Activity。 
3、当它完全被另一个Activity覆盖时则处于停止状态。它仍然保留所有的状态和成员信息。然而对用户是不可见的,所以它的窗口将被隐藏,如果其它地方需要内存,则系统经常会杀死这个Activity。 
当Activity从一种状态转变到另一种状态时,会调用以下保护方法来通知这种变化:
void onCreate(Bundle savedInstanceState)
void onStart()
void onRestart()
void onResume()
void onPause()
void onStop()
void onDestroy()

activity的生命周期?

答:一图胜千言


当屏幕的方向发生了改变后,如何恢复一些数据?

答:

屏幕的方向发生了改变后Activity会被摧毁并且被重新创建,如果你想在Activity被摧毁前缓存一些数据,

并且在Activity被重新创建后恢复缓存的数据。可以重写Activity的 onSaveInstanceState() 和 onRestoreInstanceState()方法.

demo:

public class PreferencesActivity extends Activity {    private String name;    protected void onRestoreInstanceState(Bundle savedInstanceState) {name = savedInstanceState.getString("name"); //被重新创建后恢复缓存的数据super.onRestoreInstanceState(savedInstanceState);    }    protected void onSaveInstanceState(Bundle outState) {outState.putString("name", “zhangsan");//被摧毁前缓存一些数据super.onSaveInstanceState(outState);    }}



2、Service服务

什么是服务?

答:一个没有用户界面的Activity,它如同后台进程一样运行,也可以向web服务器一样,处理第三方发送的请求。

3、Content Provider内容提供者

参考:http://www.cnblogs.com/chenglong/articles/1892029.html

4、BroadcastReceiver广播接收器
参考:http://yangguangfu.iteye.com/blog/1063732

0 0
原创粉丝点击