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
- andriod四大组件
- andriod 四大组件
- [andriod]四大组件之Service
- Andriod 四大组件之Broadcast Receiver
- Andriod 的四大组件及其作用
- 初识andriod----andriod程序开发技术结构,四大组件
- Andriod进阶之路 - Service(四大组件-服务、前台服务)的使用方式
- 四大组件
- 四大组件
- 四大组件
- 四大组件
- 四大组件
- 四大组件
- 四大组件
- 四大组件
- 四大组件
- 四大组件
- 四大组件
- 如何让三星I9105P获得ROOT权限
- MFC中简单的数据库文件操作(添加,修改,查找,删除)
- 偶得网站
- Linux sqlite3基本命令
- 安装oracle 11gR2单实例+ASM
- andriod 四大组件
- MFC中对话框的操作
- 51用485传送温度给stm32
- 静态代理与动态代理
- box2d——2.添加鼠标关节MouseJoint和box2d基础概念
- oracle乱码问题
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- poj 1948 Triangular Pasture
- Spinner 二级联动