二维码电子请柬生成与扫描系统设计 本科毕业设计(4)

2019-03-16 15:51

山东大学学士学位论文

第四章 应用程序的编程实现

4.1 Android应用工程文件组成

Android应用工程文件(如图5所示)主要由以下工程文件组成: 1.src既源文件目录。

2.gen目录,包含R.java文件,它由Eclipse自动生成和修改,不需要去维护。 3.android库。

4.assets目录,存放多媒体等文件。 5.res目录,存放应用用到的资源文件。

6.drawable目录,存放图片资源,分别为高中低三个分辨率。 7.layout目录,放置布局文件,均为.xml文件。

8.values目录,放置字符串(string.xml),颜色(colors.xml),数组(arrays.xml)。

9.AndroidManifest.xml.相当于应用的配置文件,我们要在这个文件中声明应用的名称,所有的Activity,Service,Reciver等。

图5 工程文件目录

11

山东大学学士学位论文

4.2 Android应用程序组成

一个典型的Android应用程序通常由5个组件组成,即Activity、Intent and Intent Filters、Service、BroadcastIntentReceiver、ContentProvider。

Activity是这5个组件中最常用的,程序中Activity通常的表现形式是一个单独的界面。每个Activity都是一个单独的类,它扩展实现了Activity基础类。这个类显示为一个由Views组成的用户界面,并响应事件。大多数程序有多个Activity。

另一个比较常用的类就是Intent and Intent Filters。Android通过一个专门的Intent类来进行界面的切换,Intent描述了程序想做什么。有个相关的类叫IntentFilter。Intent是一个请求来做什么事情;IntentFilter则描述了一个Activity(或下文的IntentReceiver)能处理什么意图。系统通过解析传递进来的Intent来完成Activity的切换。使用startActivity()方法来启用新的Activity。

4.3 Intent的使用

Intent是一个对象,它可以解决Activity之间的相互跳转、相互传递数据。解决了Android应用的各项组件之间的通讯。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用[14]。 一个Intent对象包括一组信息,主要的包括:

1.Component name,它决定从一个Activity究竟启动哪个组件;

2.Action,决定了启动另一个Activity后,传递进入一个Intent方法进来,然后这个Activity要做的动作;

3.Data,是从一个Activity想向另一个Activity传递的数据。

4.Extras,是额外的一些信息,即键值对。可以在一个Activity中存放键值对,然后通过Intent对象在另一个Activity中将这个键值对取出来。

在多个Activity的跳转过程中,Intent起到了非常重要的作用。要想实现从Activity1跳转到Activity2,就要调用Activity1的startActivity()方法传递一个intent对象进来,而究竟跳转到哪个Activity,又将有什么动作,主要是由intent对象决定。

使用Intent实现Activity1跳转到Activity2的主要代码如下: ??

Intent intent=new Intent();

intent.setClass(Activity1.this,Activity2.class);

12

山东大学学士学位论文

startActivity(intent); ??

使用Intent将Activity1中的键值对传递进入Activity2的主要代码如下: 在Activity1中编写有关代码 ??

Intent intent=new Intent(); intent.putExtra(name,value);

intent.setClass(Activity1.this,Activity2.class); startActivity(intent); ??

在Activity2中调用getIntent()方法得到传递进入Activity2的intent ??

Intent intent=getIntent(); ??

4.4 调用ZXing

第一章已经讲过android众多优点中的一个,就是Android提供了一种机制,可以通过Intent复用多个应用的界面,可以无缝结合优秀的Google服务。比如可以在自己的应用中调用条形码识别程序,然后返回条形码的结果。不过呢,这需要系统必须事先在手机上安装ZXing的条码扫描工具。

ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口,可实现的条形码编码和解码。Zxing提供了程序的核心代码、适用于J2SE客户端的程序、适用于Android客户端的程序(即BarcodeScanner),而且通过Intent支持Android程序和BarcodeScanner的集成。ZXing提供了一个集成API,使用者可以通过这个集成API调用ZXing的相应Activity。

本项目就是利用了Zxing提供的BarcodeScanner,以及ZXing通过Intent支持app和BarcodeScanner集成的特点。当项目需要生产或者扫描二维码的时候,Activity通过Intent调用BarcodeScanner中的相应的方法,就能实现相应的功能,调用结束后,然后再讲结果返回到相应的Activity。通过Intent传递数据和信息的主要代码见下文4.5.3。

13

山东大学学士学位论文

4.5 编程实现

4.5.1 编写配置文件

本项目用到了3个Activity。在AndroidManifest.xml注册如下:

android:icon=\ android:label=\ >

android:label=\ android:name=\ >

android:label=\ android:name=\ >

android:label=\ android:name=\ >

其中打开应用程序,首先进入的Activity是含有以下语句的Activity。

14

山东大学学士学位论文

4.5.2 编写布局文件

布局文件,即为res文件夹中的layout文件。Android平台定义了线性布局、相对布局、绝对布局、框布局和表格布局这五种布局类型。在本项目的三个Activity中,我们选择使用线性布局。线性布局就是将容器内的子组件按照直线进行摆放的一种方式。通过布局文件,我们摆放了各个Activity中的各个组件,并且设置好了组件的长、宽、内容等属性。

一个完整的布局文件如下:

xmlns:android=\ android:layout_width=\ android:layout_height=\ android:orientation=\ >

android:id=\

android:layout_width=\ android:layout_height=\ android:textSize=\

android:text=\/>

二维码电子请柬生成与扫描系统设计 本科毕业设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:葫芦丝校本课程方案目标及要求

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: