Android测试驱动开发实践2
作者:网络转载 发布时间:[ 2013/12/20 11:31:07 ] 推荐标签:
在实际项目开发过程中,一般先实现核心功能,后再做辅助性功能,这样可以尽快验证Idea的正确性,同时有助于让老板、投资人或客户看到可运行的产品,从而对产品充满信心,加大对项目的支持。
但是对于我们这个项目而言,我们首先需要得到一个Android应用MVC的架构体系,因此我们首先来实现一些典型功能,但是可以完整体现MVC架构的功能。在此我们选择任何应用程序在启动时都会显示的Splash页面,通常这个页面会显示一个应用图片,过30秒左右再显示程序的主界面,应用在这段时间完成数据加载等准备工作。
在这里我们要稍微背离一下测试驱动开发的标准方法,原因是我们在进行Android应用开发,由于Android系统限制有很多方面是很难做单元测试的,硬做单元测试,除了理论上的有效性外,没有任何实际意义。
在这里,我们采用验收测试驱动开发的理念,即我们开发足够功能来满足一个验收测试用例。这里我们选择的一个验收测试用例为:应用在开启时,先显示10秒应用图片,然后自动进入应用首页,也是我们通常所看到的Splash屏幕功能。
我们首先定义SplashActivity类,代码如下所示:
|
package com.bjcic.wkj;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.WindowManager;
public class SplashActivity extends Activity {
// 生命周期方法---开始
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//全屏
setContentView(R.layout.splash);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
appModel = (AppModel)getApplication();
appController = appModel.getAppController();
appController.postDelayed(new Runnable() {
/**
* 隔10秒钟启动主页面
*/
@Override
public void run() {
appController.processEvent(new AppEvent(SplashActivity.this, AppEvent.EVE_SPLASH_END, null));
}
}, AppKeys.SPLASH_DURATION);
// 启动异步任务准备应用数据
}
// 生命周期方法---结束
private AppController appController = null;
private AppModel appModel = null;
}
|
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

sales@spasvo.com