基于android的校园快递系统设计与实现

 2022-01-17 11:01

论文总字数:24940字

目 录

为了保证用户输入信息的正确合法,我们有两个方法可供选择,一是在XML文件的EditText内设置可以输入数据的属性,二是在对应的Activity类设置条件判断来规范数据的输入,本模块中我们选用第一种方式。在XML文件内设置输入值判断条件的好处是直观、快速、便于修改,而如果要将判断条件写入后台Activity类中,当输入规则需要修改时,需要修改的条件判断代码将会较多,增加工作量,影响程序的灵活性和可扩展性。

以“用户名”的EditText组件为例,我们依照数据库内字段的设计,设置组件的maxLength属性值为20,并且为了规范输入值的类型为大小写字母、数字和下划线,我们设置组件的digits属性值为“abc…xyzABC…XYZ123…9_”,其中“...”表示中间省略的部分,在XML文件中需要完全填写不可省略。关于“密码”值是否合法的判断方法基本同上。而判断“密码”和“密码确认”值是否一致的方法我们将在注册Activity类中实现。register.xml的主要实现代码如下图5.14所示。

图5.14 register.xml的主要实现代码

5.4.2注册模块的功能实现

我们首先在com.xydk.activity包中新建一个文件,命名为RegisterActivity,并且设置register.xml文件为它的布局文件。我们先定义若干EdiText和Button组件,并通过findViewById()方法通过在XML文件内为各个组件设置的id获取这些组件。

在 “重置”按钮上我们设置了一个监听事件,可以清空所有已经输入的信息,供用户输入了错误信息需要重新输入的时候使用。当信息填写完成后用户按下“注册”按钮,同样的我们也在“注册”按钮上设置了一个监听事件,当事件触发时,程序会判断所有必需的信息是否均已输入、用户名是否已经存在以及两次输入的密码是否相同,如果判断成功则会启动LoginActivity进入登录窗体,否则会弹出提示框显示存在的输入错误。主要实现代码如下图5.15所示。

图5.15 注册模块功能的主要实现代码

5.4.3 运行结果

注册模块的运行结果如下图5.16所示。

图5.16 注册模块运行结果

5.5主窗体的设计

用户完成登录窗口的验证后将会进入MainActivity。用户通过主界面的内容可以快速了解系统的大体功能,并通过按下这些按钮来进入相应的Activity。这是程序与用户进行交互的一个重要环节,所以主窗体的设计和实现就显得至关重要。

5.5.1主窗体布局文件设计

在res\layout目录下新建main.xml和giveitem.xml两个文件。其中main.xml文件为该模块的布局文件。在这里我们使用的一个GridView(网格视图)来显示系统各个模块的图标和说明信息。GridView是按照行列方式来显示内容的,可以简单地实现比如九宫格图这样的显示。而giveitem.xml则是用来为main.xml中的GridView组件提供内容。我们在giveitem.xml中添加一个TextView组件和一个ImageView组件来实现图标和文字的结合,来得到我们预期的视觉效果。主要实现代码如下图5.17所示。

图5.17 主窗体布局文件的主要实现代码

5.5.2 主窗体功能的实现

在com.xydk.activity包里新建一个MainActivity.java文件,将main.xml设置为其布局文件。

(1)设置各项功能组件的图标及文字

首先定义一个Picture类和一个ViewHolder类,分别用来定义图标和说明文字实体,以及文本组件和图片对象,这两个类将在后面使用到。主要实现代码如下图5.18所示。

图5.18 Picture类和ViewHolder类的主要实现代码

接着定义一个继承于BaseAdapter类的pictureAdapter类。Android中Adapter类事实上就是把数据源绑定到目标View组件上,并且将View组件返回,作为返回值的View组件就是某一行的item。这里我们使用重写的pictureAdapter类来为刚才定义的ViewHolder类中的TextView和ImageView组件进行赋值。主要实现代码如下图5.19所示。

图5.19 pictureAdapter类的主要实现代码

(2)显示各个功能窗口功能的实现

首先定义一个String型数组titles用来储存功能标题文本和一个int型数组储存图标图片的id,其中我们已经提前将资源图片储存在res\drawable-ldpi文件夹中。我们还需要创建GridView对象,并为GridView设置按下监听事件。通过判断按下的Item对象的不同,用对应的Activity来初始化Intent并启动相应的Activity。主要实现代码如下图5.20所示。

图5.20显示各个模块功能的主要实现代码

(3)运行结果

主界面模块的运行结果如下图5.21所示。

图5.21 主界面模块运行结果

5.6新增取件信息模块的实现

通过点击主界面的对于按钮,用户可以进入“新增取件信息”和“新增派件信息”这两个模块中添加新的取件和派件信息。由于这两个模块结构和实现方法基本一致,这里我们选取功能更加多的“新增取件信息”来进行详细的说明。

5.6.1 新增取件信息布局文件设计

由于取件信息需要输入的数据较多,为了便于用户输入,我们将新增收件信息分成了两部分。首先在res\layout目录下新建recieve1.xml和receive2.xml两个布局文件,其中recieve1.xml内需要用户填写发件人和运单的各项信息,recieve2.xml中需要填写收件人和包裹详情的信息。两个XML文件的结构基本一致,我们这里选取recieve1.xml文件的设计进行说明。

我们将receive1.xml像前面一样在布局文件中添加若干组件。其中需要详细说明的是Spinner组件,它是一个下拉菜单,提供了从一个数据集合中快速选择某个值的方法。为Spinner提供数据集合的方式有两种,一种在XML文件中是通过Spinner的entries属性,引用value\string.xml文件中存储的字符数组,另一种则是在Activity类中进行定义。这里我们选择第一种方法,并且本项目中所有的Spinner都会选择这种获取数据的方法,这样可以将项目中所用到的类似数据集合都存储在value\string.xml文件中,便于数据的管理和程序的修改。布局文件的主要实现代码如图5.22所示。

图5.22 新增取件信息布局文件主要实现代码

5.6.1 新增取件信息功能实现

由于我们将新增取件信息分成了两部分,这里我们就需要两个Activity来实现这一模块的功能。我们在com.xydk.activity包下新建AddRecieve1.java和AddRecieve2.java两个文件,布局文件分别设置为receive1.xml和receive2.xml。在设置完布局文件和获取布局文件中的各项组件后,我们需要为每个Button组件分别设置事件监听。两个Activity中都有各自的“重置”按钮,我们在它们之上都设置了监听事件,监听事件时将触发并清空已经输入的数值,方便用户对错误的输入进行重新输入。当用户按下AddRecieve1中“下一步”按钮时,其上的监听事件将会激活,程序会检测第一页的信息是否完整输入,如果条件符合则会跳转至AddRecieve2类,否则则会弹出提示。在跳转的同时,AddRecieve1类会将输入的数据利用Intent的putExtra()方法将数据封装并随着Intent传至AddRecieve2类,方便在AddRecieve类中将数据写入数据库。在AddReceive2类中,我们通过getIntent()中获取由AddRecieve1类传来的Intent,并使用Intent的getStringExtra()方法获取刚才用putExtra()存入Intent的各个String类字段。在AddRecieve2类中我们为“保存”按钮设置了监听事件,当用户按下“保存”按钮时,程序会检查所有字段是否已完整输入,如果不符合条件则会提示,如果符合条件则会创建Tb_receive对象,将本页面获取的数据和刚才由Intent传入的数据写入Tb_receive对象,并以它为参数,通过新创建的RecieveDAO对象并利用其add(Tb_recieve)方法将数据写入数据库,完成数据的保存。它们的主要实现代码如下图5.23和图5.24所示。

图5.23AddRecieve1类的主要实现代码

图5.24 AddRecieve2类的主要实现代码

5.6.2运行结果

新增取件信息模块的运行结果如下图5.25所示

图5.25 新增取件模块运行结果

5.7新增便签模块的实现

通过按下主界面的“新增便签”按钮可以进入新增便签模块,在本模块用户可以像在记事本上记录工作琐碎信息一样,随意添加便签作为备忘。

5.5.1新增便签模块的布局设计

在res\layout目录下新建布局文件flag.xml,该模块的主要功能是输入便签,所以我们需要将EditText的大小设置的尽量的大,以便于用户进行输入。主要实现代码如图5.26所示。

图5.26 新增便签布局文件主要实现代码

5.7.2 新增便签模块功能实现

在com.xydk.activity包中新建AddFlag类,设置布局文件为flag.xml,从布局文件获取各项组件,并为“保存”和“重置”按钮设置监听事件。当用户按下“重置”按钮时,其上的监听事件被激活,可以清空EditText组件内已经输入的内容。当用户按下“保存”按钮时,其上监听事件被激活,程序会判断便签内容是否为空,如果为空则会提示正确输入便签内容,如果不为空则会将便签进行保存。主要实现代码如图5.27所示。

图5.27新增便签模块功能主要实现代码

5.7.3运行结果

新增便签模块的运行结果如图5.28所示。

图5.28新增便签模块运行结果

剩余内容已隐藏,请支付后下载全文,论文总字数:24940字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;