目录
一、Android下的Junit测试
在实际开发中,开发android软件的过程需要不断地进行测试。而使用Junit测试框架,侧是正规Android开发的必用技术,在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性。
首先建立一个新的Android项目,这里我命名为:junit,然后编写AndroidManifest.xml文件,在里面添加uses-library和instrumentation两个属性,代码如下:
其中在instrumentation中配置的targetPackage为测试类所在的包,我这里的包名为:lq.wangzhen.junit
编写完以上的代码以后,则可以在lq.wangzhen.junit包中定义一个类,这个类中包含一个Add方法,然后我们进行此方法的测试工作。代码如下:
Services.java
package lq.wangzhen.junit;public class Service{ /** * 提供一个方法,可以接收两个整型数据 * @param x * @param y * @return */ public static int add(int x,int y){ return x+y; }}
下面编写测试类,此类命名为:TestAddService.java,此类必须要集成AndroidTestCase才能够作为测试类进行使用,代码如下:
package lq.wangzhen.junit;import junit.framework.Assert;import android.test.AndroidTestCase;public class TestAddService extends AndroidTestCase{ public void testAdd(){ int result = Service.add(3, 5); Assert.assertEquals(8, result); }}
以上就是一个简单的Android测试过程
二、登陆记录密码界面设计
完成完以上的测试功能后,下面我们来完成一个简单的用户登陆功能,现在要求用户输入用户名和密码,并选择是否保存用户名和密码,如果保存用户名和密码的话,我们要在ROM进行保存,然后在用户下次打开此软件时会自动的从文件中提取出对应的用户名和密码,填入到登陆框中,在本节中就先对界面进行一下设计,界面设计的xml文件如下:
下面开始编写MainActivity.java文件,代码如下:
package lq.wangzhen.file;import android.app.Activity;import android.os.Bundle;import android.text.TextUtils;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener{ private static final String TAG = "MainActivity"; private EditText et_username; private EditText et_password; private Button button; private CheckBox cb_remember; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_username = (EditText) this.findViewById(R.id.et_username); et_password = (EditText) this.findViewById(R.id.et_password); button = (Button) this.findViewById(R.id.button); cb_remember = (CheckBox) this.findViewById(R.id.cb_remember); button.setOnClickListener(this); } @Override public void onClick(View v){ // TODO Auto-generated method stub switch (v.getId()) { case R.id.button: String username = et_username.getText().toString().trim(); String password = et_password.getText().toString().trim(); if(TextUtils.isEmpty(username) || TextUtils.isEmpty(password)){ Toast.makeText(this, R.string.error, Toast.LENGTH_SHORT).show(); return; } if(cb_remember.isChecked()){ Log.i(TAG, "保存用户名和密码,"+username+":"+password); }else{ Log.i(TAG, "没有保存用户名和密码,"+username+":"+password); } break; } } }
以上程序所使用的strings.xml文件的内容如下: