浅谈Android源代码改进问题


  本文标签:Android源代码

  下面介绍下有关Android源代码的内容和编程技巧,但是首先要让大家了解下什么是Android操作系统,所谓的Android系统:基于Linux平台的开源手机操作系统  。

  实际上,TestCase这个类用于在Android源代码担当所有独特的TestCase的基类的作用,它是一个Abstract Class  。Android单元测试类继承关系图如下所示:

android系统

  之所以有那么多XXXTestCase主要是为了简化工作  。例如当你想对一个访问数据库的功能进行测试时,首先需要自己启动并初始化数据库  。在这里是类似的,如果你想测试一个Activity,首先要启动它  。而ActivityTestCase就会自动帮你做完这些事情  。

  而 ActivityUnitTestCase会更注重测试的独立性,它会让测试与Android源代码的联系降到最低  。其余的类可以查看相关的Javadoc 来按需挑选  。要编写测试,就是找到合适的XXXTestCase作为基类来继承  。

  并且编写自己的测试方法  。很明显的,最简单的编写测试的方法就是继承Android源代码写一个自己的TestCase  。然后为自己的一组TestCase写一个Activity界面  。由界面控制 TestCase的启动,运行和结果报告  。

  但是,你很快会发现,为何要给测试写一个界面呢?这太诡异了  。这时就需要一种技术,它可以利用命令行(Shell)来启动一组测试,并且通过命令行的形式给出结果  。这就是所谓的Instrumentation  。

  除了上次我们简单介绍的内容外可以看到Motodev studio for Android在创建新文件时,多出了不少选项,比如Android Activity、Broadcast Receiver、Service、Content Provider,几乎Android源代码的主要框架都包含在内了  。

  不过仅仅是基础代码的生成,从另一个侧面可以看到这点Google毕竟是从Web起家的,对于开发人员来说微软这方面作为软件帝国想的就十分周到  。Motodev只是做了小幅的补充  。经过简单的试用可以看到对于标准的Android源代码来说  。

android系统

  试用Motodev还合适,不过考虑到目前moto的经济状况,长久考虑还是推荐使用Eclipse+ADT的方式稳当,总体而言和Google官方的开发工具相比没有太大的改进,至少工作在Java VM上的产物稳定性仍然是一个问题  。