Android 作为谷歌企业战略的重要组成部分,这个战略大大的提高了谷歌在中国手机界的市场,也大大的促进了整个手机行业的竞争性,下面就向大家介绍下Android手机程序内容。
这样,在启动程序的时候就会先启动一个Application,然后在此Application运行过程中根据情况加载相应的Activity,而Activity是需要一个界面的。但是Instrumentation并不是这样的。你可以将Instrumentation理解为一种没有图形界面的,具有启动能力的。
用于监控其他类(用Target Package声明)的工具类。任何想成为Instrumentation的类必须继承android.app.Instrumentation。下面是这个类的解释:
- private SensorEventListener listener = new SensorEventListener(){
- public static volatile float direction = (float) 0;
- public static volatile float inclination;
- public static volatile float rollingZ = (float)0;
- public static volatile float kFilteringFactor = (float)0.05;
- public static float aboveOrBelow = (float)0;
- public void onAccuracyChanged(Sensor arg0, int arg1){}
- public void onSensorChanged(SensorEvent evt)
- {
- float vals[] = evt.values;
- if(evt.sensor.getType() == Sensor.TYPE_ORIENTATION)
- {
- float rawDirection = vals[0];
- direction =(float) ((rawDirection * kFilteringFactor) +
- (direction * (1.0 - kFilteringFactor)));
- inclination =
- (float) ((vals[2] * kFilteringFactor) +
- (inclination * (1.0 - kFilteringFactor)));
- if(aboveOrBelow > 0)
- inclinationinclination = inclination * -1;
- if(evt.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
- {
- aboveOrBelow =
- (float) ((vals[2] * kFilteringFactor) +
- (aboveOrBelow * (1.0 - kFilteringFactor)));
- }
- }
- }
- };
对于单元测试,我们需要认真了解的就是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。下面将具体介绍如何将根据需要加载一组单元测试。
【编辑推荐】