您的位置:首页 > 移动开发 > Android开发

Activity理解

2016-02-26 21:49 399 查看
**深入理解Activity与Fragment**


1,建立,配置和使用Activity

Activity类间接或直接地继承了Context,ContextWrapper,ContextThemeWrapper等基类,因此Activity可以直接调用它们的方法.

**Activity的子类**
1, AccountAuthenticatorActivity:实现账户管理界面的Activity
///////////
2,FragmentActivity:这个不用多说了吧!都很熟悉了,碎片化的Acticity
////////////////
3,TabActivity:来自于ActivityGroup,实现tab界面的Activity
////////////////
4,ListActivity:实现列表界面的Activity
5,LaucherActivity:实现Activity列表界面的Activity,当单击列表项时,所对应Activity被启动[listactivity的子类]
6,PreferenceActivity:实现程序参数设置,储存界面的Activity[listactivity的子类]
/////////////////
7,AliasActivity:别名Activity的基类,启动其他Activity时结束
自己
////////////////////////////
8,ExpandableListActivity:实现可展开列表界面的Activity

##


LauncherActivity开发出来的列表界面中的每个列表项都对应于一个Intent.通常应该重写Intent intentForPosition(int position)方法

例子:

Class<?>[] clazzs = {PerferenceActivityTest.class,ExpandableListActivityTest.lcass};

@Override
public Intent intentForPosition(int position){
return new intent(MainActivity.this,clazzs[position]);
}


**从Android3.0开始,Android不再推荐让PerferenceActivity加载选项设置的布局文件,而是建议与PerferenceFragment结合使用.PerferenceActivity只负责加载选项设置列表的布局文件,PerferenceFragment才负责加载选项设置的布局文件

**使用Bundle在Activity之间交换数据**


Activity之间将需要交换数据放入Intent即可,Intent提供多个重载的方法来”携带额外的数据”:

putExtras(Bundle data)
:向Intent中放入需要携带的数据包

Bundle getExtras():取出Intent中所携带的数据包


putExtras(String name,Xxx value):向Intent中按key-value对的形式存入数据.


getXxxExtras(String name):从Intent中按key取出指定类型的数据


那么Bundle对象就包含了多个方法来存入数据

`putXxx(String key,Xxx data):向Bundle中放入Int,Long等各种类型的数据

putSerializable(String key,Serializable data):向Bundle中放入一个可序列化的对象`

为了取出Bundle数据,提供了一下方法

`getXxx(String key):从Bundle中取出Int,Long等各种类型的数据

getSerializable(String key,Serializable):从Bundle中取出一个可序列化的对象`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android