本课题客户端采用JAVA语言,通过Android studio作为开发工具,服务端采用JAVA语言,通过Eclipse作为开发工具进行开发,数据库选用SQLServer 2008。 本应用的后台搭载在服务端,具体的数据表为学生用户信息表。 如下表所示为学生用户信息数据表: 学生用户信息表 属性 数据类型 说明 备注 id Int 用户id 主键,不允许空 stu_id String 学号 不允许为空 name String 姓名 sex String 性别 phone String 电话 depart_address String 宿舍地址 home_address String 家庭地址 parent_name String 监护人姓名 parent_phone String 监护人电话 各功能模块详细说明: 导航页面:作为系统的首页面,该界面按功能展示新增学生信息按钮和展示学生列表按钮,用于导航进入不同的功能界面; 新增学生信息页面:点击新增学生信息按钮,可进入学生信息新增编辑界面,通过在不同的编辑栏中输入不同的信息,再点击保存可以实现学生信息的新增和编辑功能; 学生信息列表页面:点击学生信息列表按钮,可进入学生信息列表界面,该界面以列表形式展示出所有学生信息,通过点击对应条目可以进入该学生信息的详情界面; 学生信息详情页面:进入学生详情界面后,按照学生信息的对应条目展示出该学生的所有基本信息,可通过点击删除,编辑实现学生信息的变更; 2.实现过程 导航页面:
导航页面 导航页面通过线性布局实现两个Button纵向排布,监听Button的点击,分别实现不同页面的跳转
学生列表信息界面:
通过ListView实现列表,进入页面后,向服务器发送请求,通过Socket实现网络连接请求,服务端和客户端连通后,接收到服务端的查询请求,将查询请求解析,拼接成对应sql语句,实现对数据库的查询,将查询结果拼接成字符串,通过Socket通信再返回给客户端,客户端接收到结果后,解析结果,添加到学生信息列表中, 更新adapter刷新界面,展示学生信息列表数据。 ListView通过监听单个Item的点击事件,跳转到学生信息详情页面,将学生信息放入Intent中一同传入详情界面。 学生信息详情界面:
通过解析Intent中对应的参数,获取到传入的学生信息详情,将对应的属性赋予对应的TextView中予以显示出来,同时设置删除,修改按钮的监听,点击删除按钮向服务器发送删除请求,传入对应学生的ID,服务器接收到请求后,通过sql语句对该学生ID的数据信息进行删除,删除完成返回客户端删除结果,客户端刷新界面。 点击修改按钮,拉起学生信息的编辑界面,将学生信息通过Intent传入编辑界面。 新增/编辑界面:
界面加载的时候通过判断Intent中是否含有学生信息来判断是否为编辑还是新增,如果Intent中含有学生信息,则为编辑模式,将学生信息的不同属性赋予对应的EditText,显示出来。编辑后,点击保存,将EditText中对应的属性拼接成字符串,向服务端发送请求,服务端接受请求后,执行update操作,解析学生信息,执行sql语句,将对应ID的学生信息更新。 如果是新增界面,EditText全部不设置字符显示,点击保存后,向服务端发送插入请求,服务端接收到请求后解析学生信息,执行sql语句,实现插入操作。
3.测试过程 本课题的测试通过各个功能模块的测试,就能基本达到测试的目的。故采用黑盒测试方法。 导航页面点击列表按钮可以拉起列表并能正确展示出所有学生的信息。 点击列表中的列表项可以正常进入列表详情界面,列表详情界面的学生信息可以和列表项中的对应,信息展示正确。 点击删除可以删除数据库中的学生信息,返回列表可以正常刷新获取最新的列表数据。 点击编辑可以正常进入学生信息的编辑界面,学生信息展示正确,点击保存按钮,可以更新学生信息,并且在列表中可以刷新获取最新的列表数据。 点击新增学生信息可以正常进入新增界面,界面展示无异常,填写对应数据后,点击保存按钮,可以插入学生信息,返回列表界面后,可以刷新获取到最新的列表数据。 a) 学习心得 通过此课题的实现,使自己学习掌握了Android Studio开发工具的使用,熟悉了安卓系统的UI显示框架,能够熟练编写界面布局文件,实现按钮的监听,界面的跳转。 了解了C/S架构中,客户端与服务端的通信过程,Socket链接的数据传输过程,以及服务端对数据库的数据操作方式和方法。掌握了网络请求耗时操作应该置于工作线程,通过handler实现UI线程的更新原理。 使自己充分认识到了自己的不足和缺点,也针对自己在学习过程中的不足制定了新的学习计划,帮助自己在今后安卓的学习 日子里迎头赶上。
|