深度剖析Android手机程序组成部分


  本文标签:Android手机程序

  Android 作为谷歌企业战略的重要组成部分,这个战略大大的提高了谷歌在中国手机界的市场,也大大的促进了整个手机行业的竞争性,下面就向大家介绍下Android手机程序内容  。

  这样,在启动程序的时候就会先启动一个Application,然后在此Application运行过程中根据情况加载相应的Activity,而Activity是需要一个界面的  。但是Instrumentation并不是这样的  。你可以将Instrumentation理解为一种没有图形界面的,具有启动能力的  。

  用于监控其他类(用Target Package声明)的工具类  。任何想成为Instrumentation的类必须继承android.app.Instrumentation  。下面是这个类的解释:

  1. private SensorEventListener listener = new SensorEventListener(){  
  2.    public static volatile float direction = (float) 0;  
  3.    public static volatile float inclination;  
  4.    public static volatile float rollingZ = (float)0;  
  5.  
  6.    public static volatile float kFilteringFactor = (float)0.05;  
  7.    public static float aboveOrBelow = (float)0;  
  8.  
  9.    public void onAccuracyChanged(Sensor arg0, int arg1){}  
  10.  
  11.    public void onSensorChanged(SensorEvent evt)  
  12.    {  
  13.       float vals[] = evt.values;  
  14.         
  15.       if(evt.sensor.getType() == Sensor.TYPE_ORIENTATION)  
  16.       {  
  17.          float rawDirection = vals[0];  
  18.  
  19.          direction =(float) ((rawDirection * kFilteringFactor) +   
  20.             (direction * (1.0 - kFilteringFactor)));  
  21.  
  22.           inclination =   
  23.             (float) ((vals[2] * kFilteringFactor) +   
  24.             (inclination * (1.0 - kFilteringFactor)));  
  25.  
  26.                   
  27.           if(aboveOrBelow > 0)  
  28.              inclinationinclination = inclination * -1;  
  29.             
  30.          if(evt.sensor.getType() == Sensor.TYPE_ACCELEROMETER)  
  31.          {  
  32.             aboveOrBelow =  
  33.                (float) ((vals[2] * kFilteringFactor) +   
  34.                (aboveOrBelow * (1.0 - kFilteringFactor)));  
  35.          }  
  36.       }  
  37.    }  
  38. }; 

  对于单元测试,我们需要认真了解的就是android.test.InstrumentationTestRunner类  。这是Android手机程序单元测试的主入口  。它相当于JUnit当中TestRunner的作用  。那么如何加载它呢,首先要在manifest文件中加入一行关于Instrumentation的声明  。比如Android Api Demos中的测试里的manifest是这么写的(我滤掉了所有的注释):

  编辑好 manifest,就可以打包(build,可以用Eclipse ADT来做,也可以用aapt命令手工完成),然后安装到虚拟机上(用adb install命令)  。之后就可以利用命令行的方式来加载你的单元测试了  。在Android手机程序Shell中加载一个Instrumentation的方法是利用以下命令:

  
当然,也可以利用adb shell先进入android命令行模式,再直接写am instrument –w XXXXXXX  。下面将具体介绍如何将根据需要加载一组单元测试  。