`

Android ApiDemo学习——主Activity实现

阅读更多

原创内容,转载请注明出处

在下载SDK的时候,同时会下载Google Android的api demo,这些demo可以当作非常不错的学习案例,有些还可以直接应用到实际项目中。本次研究的Android demo是最新版本demo4.2.2。本次使用的开发工具是Java6+eclipse3.7.2+adt最新

 

1、ApiDemo工程导入

File——》New——》Project——》Android Sample Project,选择Android4.2.2——》Next——》ApiDemos——》Finish,完成项目的导入。

 

在导入项目中可能会出现好多错误,主要是因为R文件没有自动生成。找到报错的xml布局文件fragment_tabls_fragment.xml、progressbar_2.xml,错误提示是要求将@+android:id/替换为@+id/,按提示修改后,R文件自动生成,错误解除。

 

2、分析

在AndroidManifest.xml配置文件中查找应用程序启动的主Activity,该类是ApiDemos,它继承了ListActivity类。它没有对应的布局文件,而是使用ListActivity的默认布局,它主要的作用是自动生成为ListActivity的布局提供数据,其中数据包含Intent跳转信息。

 

它的关键代码是getData方法,该方法是获取并组装ListAdapter适配器数据。

1、首先在AndroidManifest.xml文件中,为所有的Activity配置种类Category属性,属性值为android.intent.category.SAMPLE_CODE。

 

2、构建主启动Intent实例,并为其赋值种类Category属性值,值为android.intent.category.SAMPLE_CODE。

 

3、首先获取PackageManager管理器实例,然后调用该实例的queryIntentActivities方法去查找种类Category为”android.intent.category.SAMPLE_CODE“的所有Activity信息,这些信息包装在一个List集合中,每个Activity信息都是一个ResolveInfo实例。

 

4、之后解析ResolveInfo实例集合,并将数据装入ListAdapter适配器(其中数据包括了Intent跳转实例),然后将适配器设入当前Activity。也就是说最后每个item项都有一个自己对应的Intent跳转实例。

 

5、重写onListItemClick方法,对每个item项的点击事件做相应处理(即调用对应Intent跳转实例,进行跳转)。

 

 

 

0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics