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

在下载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跳转实例,进行跳转)。

更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. NPM 和webpack 的基础使用
  4. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  5. Android内核的简单分析
  6. unity与Android之间的简单交互
  7. Google地图小示例框架
  8. Android实现播放音频
  9. 在 Mac OS X 下使用 Android(安卓)NDK r5b 编译 FFmpeg 0.8

随机推荐

  1. android删除文件出错
  2. 小程序之switch...case...break
  3. Android Installation error: INSTALL_FA
  4. Android中如何比较两个时间值的大小.
  5. Android 在非UI线程中读网络数据
  6. android项目,从服务器端返回JSON数据,在and
  7. android几种适配器的使用
  8. Java 用正则表达式 提取目录
  9. 2013.12.03(4) ——— android ActionbarSh
  10. android 阅读器分页读取字数