毕业设计 基于安卓的医疗信息检索客户端设计

0 项目说明

基于安卓的医疗信息检索客户端设计

提示:适合用于课程设计或毕业设计,工作量达标,源码开放

1 项目说明

设计开发一款基于安卓系统的医疗信息检索客户端软件,从而实现个人医疗信息的自主管理。

软件采用 C/S 模式开发,客户端为 AndroidAPP,服务端为 JavaWeb 项目。数据库采用 MySQL5.5,编程语言为 Java。开发环境及用到的工具软件有 JDK、AndroidSDK、AVD、Tomcat8.0、MyEclipse、AndroidStudio、NavicatPremium。开发过程中使用 SVN 进行版本控制。

2 业务流程

整个系统分为三部分,分别为:Android 客户端,Java 服务端,MySQL 数据库。用户通过 Android 客户端发出请求,Java 服务端接收到客户端的请求后,进行相应的操作。如涉及数据操作,Java 服务端则向 MySQL 数据库发送相应指令,对数据库的数据进行操作,并获取执行结果。最后,Java 服务端将结果返回到 Android 客户端。

这种业务流程的优势在于各部分之间耦合度低,便于功能的组合、修改和扩展,较为灵活。

3 功能需求

该系统共包含如下 6 个模块,各模块功能需求如下:

1)用户注册模块:新用户通过手机号和短信验证码注册账号;

2)用户登录模块:用户通过手机号和密码登录系统,当用户勾选“记住密码”时,保存用户的登录信息,下次可免密登入系统;

3)找回密码模块:用户通过手机号和短信验证码重置密码;

4)病历信息管理模块:用于管理用户的个人病历信息,包括病历信息的查询、增加、修改和删除;

5)处方信息管理模块:用于管理用户的个人处方信息,包括处方信息的查询、增加、修改和删除;

6)医疗网站管理模块:用于保存用户常用的医疗服务网站,方便用户查询各种医疗信息。

4 系统设计

系统功能框图

数据库设计关系图


各数据表表结构如下:

表 3-1hm_user_info(用户信息表)表结构

表 3-2hm_prescription(处方信息表)表结构

表 3-3hm_medicine(药品信息表)表结构

表 3-4hm_medical(病历信息表)表结构

表 3-5hm_search(医疗网站信息表)表结构

5 Web端的实现

本设计的 Web 服务端主要功能是处理 Android 客户端的请求,为 Android 客户端提供数据支持。

Web 端采用 MVC 设计模式开发。为了软件代码的维护和规范,对代码进行了分层和分包处理。


Web 端工程目录说明

6 Android 客户端

Android 客户端主要用于显示与操作(包括增加、修改、删除)数据。

6.1 Android 客户端工程目录

Android 客户端工程目录


Android 客户端工程目录说明

6.2 Android 客户端 UI 设计

Android 界面的设计采用 XML 文件控制 Activity 的界面属性。因 LinearLayout 线性布局能够自动在一个方向上进行布局,通过距离或权重控制组件的位置,对各种尺寸屏幕的适应性比较强,所以本次毕业设计的页面全部使用 LinearLayout 线性布局。配置一个 LinearLayout 线性布局的代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorTheme"
android:orientation="vertical">
</ LinearLayout>

页面中各种组件均通过类似方式来配置,如下是一个 EditText 文本编辑框组件:

<EditText
android:id="@+id/userNameEText"
   android:layout_width="match_parent"
   android:layout_height="@dimen/compHeight"
   android:background="@drawable/shape"
   android:gravity="left"
   android:hint="请输入用户名"
   android:maxLength="16"
   android:maxLines="1"
   android:textSize="16sp" />

6.3 Android 客户端界面

a.用户注册模块的实现

用户注册模块主要涉及两个功能:发送验证码和提交注册信息。

1)发送验证码功能

当点击“获取验证码”按钮后,系统首先判断手机号码是否输入,然后对手机号码进行格式校验。校验通过后,调用购买的短信验证码接口服务生成验证码,并将验证码以短信形式发送到用户的手机上,短信发送成功后,系统弹窗提示用户“验证码发送成功!”,并将“获取验证码”按钮设置为不可点击状态,显示 60 秒倒计时。倒计时结束后,将“获取验证码”按钮设为可点击状态,用户可再次进行“获取验证码”的操作。

2)提交注册信息

当点击“提交”按钮后,系统首先判断是否有信息未填写,然后判断两次输入的密码是否一致,之后,通过查询数据库的数据判断手机号是否已注册,接着对短信验证码进行校验。此外,在向服务端发送数据前,为提高系统的安全性能,还对用户的密码进行 Base64 加密。注册成功后,弹窗提示用户“注册成功,请登录!”,并自动跳转至用户登录页面。

b.用户登录模块的实现

用户登录模块主要涉及两个功能:记住密码和登录功能。

1)记住密码功能

SharedPreferences 是 Android 平台自带的一个轻量级存储类。当用户勾选“记住密码”并登录成功后,将手机号和密码保存到 SharedPreferences 对象中。下次登录的时候,系统会先从 SharedPreferences 中查找登录信息,如找到,则直接显示在对应的输入框中,用户点击“登录”按钮即可直接登录。

2)登录

当点击“登录”按钮后,系统首先判断是否有信息未填写,然后对手机号格式进行校验,之后,判断手机号是否已注册,然后通过服务端查询该用户的信息(包括密码和上次登录时间)。获取到数据后,对密码进行 Base64 解密,然后与用户输入的密码进行核对。登录成功后,跳转至主页面,并弹窗显示用户的上次登录时间,并更新数据库中用户的上次登录时间数据。

c.找回密码模块的实现

找回密码模块的发送验证码功能除需要判断手机号是否已注册外,其他操作同用户注册模块的发送验证码功能,此处不再赘述。

当点击“提交”按钮后,系统首先判断是否有信息未填写,然后判断两次输入的密码是否一致,之后对短信验证码进行校验。重置密码成功后,弹窗提示用户“重置密码成功!”,并自动跳转至登录页面。

d.系统主页面的实现

系统主页面采用目前主流的 Tab 页设计

整个页面分为 3 部分,分别为顶部标题栏、底部菜单栏和中部主页面。点击不同的菜单按钮,主页面会显示加载不同的 layout 布局文件。具体实现过程如下:

Tab 页中,通过标签将顶部标题栏和底部菜单栏引入,主页面部分则设置为 LinearLayout 线性布局。在 Tab 页对应的 Activity 类中,创建一个 LinearLayout 类的对象 bodyView,用于装载 Tab 页的主页面中需要显示的视图。对各菜单按钮的点击事件进行监听,当某一菜单按钮被点击时,bodyView 移除其内部所有视图,然后装载所点击的菜单按钮所对应的视图,并设置各个菜单按钮及菜单按钮下方的文字的样式。

e.显示数据的实现

各模块通过 ListView 以列表的形式显示各数据简要信息,除医疗网站管理模块(该模块中单击列表项直接跳转到浏览器并进入对应网站)外,其他模块单击每条数据,即可进入对应页面查看该条数据的详情。

f.添加数据的实现

添加数据分为两种方式,第一种方式用于录入病历信息、处方信息、医疗网站信息,点击标题栏的“+”,会弹出图(a)所示对话框,点击后,会跳转到图(b)所示的添加页面进行数据录入。

第二种方式用于药品信息的录入。如图 4-9(b)所示,在处方详情信息页设置了添加药品信息的入口,点击“添加药品”后,会跳转至添加药品页面进行药品信息的录入。

g.删除数据的实现

删除数据的实现较为简单,用户在数据列表页长按列表项,会弹出如图 4-11 所示对话框,点击“删除”,即可删除对应数据,删除数据成功后弹框提示用户“删除成功!”。

h.修改数据的实现

当长按列表项弹出对话框后,点击“修改”,即会跳转到对应数据的修改页面,修改成功后,系统会弹框提示用户“操作成功!”,并跳转至修改前页面。

7 项目工程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值