山东大学学士学位论文
文件中。
Activity2、Activity3的布局文件中,除了Button组件和TextView组件,还用到了EditText组件。基本属性和TextView设置类似。需要特殊说明的两个属性是:android:inputType=\定义了可输入任何类型的信息,包括文字、数字、字母等。android:hint=\请输入内容...\定义了在不输入文字的时候,EditText中显示的文字。而当EditText中输入文字时,这些文字消失。 4.5.3 编写源程序
编写程序步骤如下:
1. 在程序中,导入需要用到的类。 2. 建立一个继承Activity的新类。 3. 定义Activity内用到的组件。 4. 重写onCreate方法。
5. 通过setContentView();选择布局文件。 6. 通过findViewById();来使用各个组件。 7. 编写主要程序。
7.1 新建按钮,并将按钮和一个监听器绑定的程序如下:
this.button.setOnClickListener(new buttonListener()); class buttonListener implements OnClickListener{ @Override
public void onClick(View v){ }
Intent intent = new Intent();
intent.setClass(MainActivity.this,QrActivity.class); MainActivity.this.startActivity(intent);
}
这段程序可以实现按下button按钮时,从当前的Activity即MainActivity跳转到QrActivity。
7.2 调用BarcodeScanner生成二维码的主要程序如下:
@Override
public void onClick(View view) {
Intent intent =
new Intent(\);
String content = edit_text.getText().toString(); content=content+\;
intent.putExtra(\, content); intent.putExtra(\, \);
startActivity(intent);
16
山东大学学士学位论文
}
通过这段程序,可以调用getText().toString()方法将用户输入到EditText中的文本信息存入字符串content中,然后系统给content加入一串字符以生成新的字符串,最后将新生成的字符串传递进入BarcodeScanner中,并且生成二维码。
7.3 调用BarcodeScanner扫描二维码并且检测信息的主要程序如下:
@Override
public void onClick(View view) { }
@Override
protected void onActivityResult(int requestCode, int resultCode,
if (requestCode != 0) {textView.setText(R.string.noresult); }
if(resultCode==RESULT_OK){
String contents = intent.getStringExtra(\); int i=contents.length();
String jieguo=contents.substring(0,i-6); textView.setText(jieguo); String key=\; return;
Intent intent = new
this.startActivityForResult(intent, 0);
Intent(\);
Intent intent) {
String Str=contents.substring(i-6); if (Str.equals(key)){
result.setText(\匹配\);
result.setTextColor(Color.GREEN);
}
else { result.setText(\警告\);
result.setTextColor(Color.RED); } }
} else if (resultCode == RESULT_CANCELED) {
}
通过这段代码,将扫描二维码得到的文本信息传递到字符串contents中。然后去除在生成二维码阶段,系统自动加上的字符串,将原本输入的那部分文本信息传递到字符串jieguo,通过Activity3中的TextView3显示出来。取出字符串contents中系统自动加上的字符串,并且与字符串key比较。如果比较结果一样,就在Activity3中的TextView2中显示绿色字体“匹配”。如果比较结果不一样,就显示红色字体“警告”。
17
山东大学学士学位论文
第五章 应用程序的测试
在编程基本完成后,还要对设计的系统进行测试。系统测试是设计一个应用软件必不可少的一部分。系统测试是针对整个产品系统进行的测试,测试目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。
对Android应用软件进行测试有两种方法,一是用Eclipse自带的Android模拟器进行测试,二是用实体手机测试。
5.1 在模拟器上测试
使用Android模拟器可降低测试费用,并提高测试覆盖率。使用模拟器可以
在没有目标设备的情况下,可使用AVD设备设置快速进行测试。要想使用Android模拟器,首先要先在Eclipse中创建一个模拟器。创建模拟器的步骤如下:选择window→AVD manager→new,并且在弹出的页面中设置想创建模拟机的参数,其中Name即模拟器的名称,Size即模拟器SD卡大小,Target即模拟器版本。创建好模拟机后,在左边程序列表中,右键点击要运行的程序。点击Run as→Android Application。模拟器就会打开,并且要运行的程序已经安装在模拟器里面,然后就可以进行测试。
5.2 在目标设备上测试
在通过模拟器上的测试后,为确保应用程序能正确运行,还必须要在目标设备上测试。通过模拟用户使用的环境,可确保应用程序在实际使用过程中按预期的那样运行。 5.2.1 软件安装测试
打开工程文件,将根目录bin文件夹中的apk文件下载并安装到手机中。能够成功安装,即测试通过。
18
山东大学学士学位论文
5.2.2 生成二维码测试
打开应用软件,界面如图6所示。点击“生成二维码”按钮,则出现如图 7所示界面。可以在文本框中输入文本信息,然后点击按钮生成二维码。生成的二维码如图8所示。
图6 程序开始页面 图7 输入信息页面
图8 生成的二维码
5.2.3 扫描二维码测试
在图6界面中,按下“扫描二维码”,在界面9中点击“开始扫描”,出现图10所示界面,等解码读出结果后,当二维码是本系统生成的,解码后有本系统加上的一串数字时,满足条件,出现图 11所示界面,在本系统输入的原来的信息也正常显示。当二维码是其他在线系统生成的,二维码解码后,如果没有系统加的一串数字,就出现图12所示界面,而且输入的原本信息丢失一部分。
19
山东大学学士学位论文
图9 开始页面 图10 图像采集页面
图11 扫描后页面 图12 扫描后页面
20