【开源】基于C/S架构的Android员工增删改查客户端
2013-12-19 02:46
357 查看
背景:
期末快到了,各门课的课程设计都要来临了,最近Java课的课程设计就在想着做什么好,于是想了下弄一个android的应用吧,于是便有下文了。
刚入门android,技术很不过关,勉强在百度copy 拼凑各种代码才做出这种效果,大神们勿喷。
课程设计——基于C/S架构的Android员工增删改查客户端
服务端截图:
客户端:
首先点击获取数据库按钮从服务端获取数据库
点击第二个按钮——课程设计要求载入要求运算页面
客户端演示到此。
数据库(mysql)设计逻辑截图:
伪开发文档:
服务端结构图:
DbHelper.java ———————-数据库辅助类,便于服务端执行SQL语句
Node.java—————————-连接用户的结点类,用于统计客户端连接次数
Service.java————————–启动服务的后台类
ServiceListener.java—————-服务监听类,有客户端连接时会增加结点与启动ServiceReceive类
ServiceReceive.java—————-数据库服务类,当客户端连接成功时接收客户端发来的SQL语句
ServiceUI.java———————–界面类
SqlService.java———————-连接SQL的类,执行完SQL后将值返回给客户端
UserLinkList.java——————-链表类,统计客户端连接的LinkList
客户端目录结构图:
主要起作用的类有:
SlideMenu.java——————一个侧滑菜单基类
BaseActivity.java—————自定义基类Activity
HomeActivity.java————–主界面的相应控制类,控制3个按钮的去向
ImageListActivity.java———列表加载类,用于加载头像、ID、姓名
NetTool.java———————异步加载图片插件辅助类
StartPerson.java—————–载入个人页面时启用的类,用于加载详细信息
Task.java————————-点击课程设计按钮时加载的类,用于读取员工工资、提取部件价值最大的员工工资资料、计算工厂某部件停产后影响多少员工
心得:
从截图的项目标题名称可看出课程设计制作日期是2013-12-11,时间比较仓促所以开发过程比较紊乱。
服务端相对来说调理比较清晰,遵循MVC开发模式。服务端的结构是借助综合试验3的局域网群聊的服务端代码的结构开发的。优化了综合3服务端的代码结构,综合3的代码条理清晰,但代码书写不太科学,类与类的通信违背了高内聚低耦合的准则。而优化后的代码条理更加清晰,强化了业务逻辑,将视图和模型完全分离开。从而达到高效的运行和增加二次开发的简易性、增强代码可读性。
而客户端是基于Android平台上运行的,界面采用xml设计,引用了几个便捷的开源项目,比如多线程异步加载图片等。
客户端的代码条理结构比较紊乱,不方便参考与学习,没有将业务逻辑和显示层分开,所以这种设计模式不便于学习与开发。日后有空会做代码整理。
难点:
1、原生Java中不线程与UI的通信是可直接传参通信,而在安卓中线程与UI的通信在该系统上是属于非法行为,必须实例化一个Handler与Message进行传参,这是第一个个人感觉比较难的地方。
2、数据库返回的数据类型是ResultSet,想要用ObjectOutputStream writeObject的话是无法写出流的,查看了开发文档,该对象是没有实现对象序列化接口的,所以要将对象输出必须要输出有实现对象序列化接口的对象,而Vector数组容器对象正好实现了对象序列化接口,可以将ResultSet的数据add到Vector中,再用writeObject传输对象。据网上说Vector效率比较低,但这也是跟本地机器配置高低有关,暂不做优化考虑。
涉及到的知识点:
1、Java中jdbc的数据库连接
2、Socket通信
3、Android中多线程异步加载图片
4、Android线程与UI的通信
源码下载地址:http://pan.baidu.com/s/1hAyyG
转载请注明:乔布尸 »
【开源】基于C/S架构的Android员工增删改查客户端
相关文章推荐
- 基于Github参与开源项目指南(以eoe的Android客户端为例)
- Android开源 -- 开源的基于 Material Design设计的豆瓣的Android客户端“豆芽”
- 基于asmack开发的Android开源IM客户端
- 玩Android客户端,一款Android开源小项目
- 百大易商城 Android 客户端开源
- 最近cocos2d-x项目需求, 写了个客户端的基于TCP的网络通讯模块(ios,android, win32),
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
- 基于ffmpeg的Android播放器开源代码
- Mysql客户端Android版的开源产品
- Android开源一个后台基于bmob云端的社交app
- 发布一个基于TokyoTyrant的C#客户端开源项目
- 基于Android客户端的人人网开放平台开发系列教程 (有源码哦)
- 基于androidpn客户端修改的AndroidPNClient
- Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签
- 基于apache组织的commonNet开源组件实现ftp客户端的上传功能
- 基于Android的小巫新闻客户端开发---显示新闻详细内容业务逻辑实现
- 基于Doubango的iOS客户端开源框架
- Android弹幕实现:基于B站弹幕开源系统(3)-文本弹幕的完善和细节调整
- Android弹幕实现:基于B站弹幕开源系统(4)-重构