背景:html

期末快到了,各门课的课程设计都要来临了,最近Java课的课程设计就在想着作什么好,因而想了下弄一个android的应用吧,因而便有下文了。java

刚入门android,技术很不过关,勉强在百度copy 拼凑各类代码才作出这种效果,大神们勿喷。mysql

课程设计——基于C/S架构的Android员工增删改查客户端android

服务端截图:sql

客户端:数据库

首先点击获取数据库按钮从服务端获取数据库设计模式

点击第二个按钮——课程设计要求载入要求运算页面数组

客户端演示到此。多线程

数据库(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设计,引用了几个便捷的开源项目,好比多线程异步加载图片等。

客户端的代码条理结构比较紊乱,不方便参考与学习,没有将业务逻辑和显示层分开,因此这种设计模式不便于学习与开发。往后有空会作代码整理。

难点:

一、原生Java中不线程与UI的通讯是可直接传参通讯,而在安卓中线程与UI的通讯在该系统上是属于非法行为,必须实例化一个Handler与Message进行传参,这是第一个我的感受比较难的地方。

二、数据库返回的数据类型是ResultSet,想要用ObjectOutputStream writeObject的话是没法写出流的,查看了开发文档,该对象是没有实现对象序列化接口的,因此要将对象输出必需要输出有实现对象序列化接口的对象,而Vector数组容器对象正好实现了对象序列化接口,能够将ResultSet的数据add到Vector中,再用writeObject传输对象。据网上说Vector效率比较低,但这也是跟本地机器配置高低有关,暂不作优化考虑。

涉及到的知识点:

一、Java中jdbc的数据库链接

二、Socket通讯

三、Android中多线程异步加载图片

四、Android线程与UI的通讯

android开发c s架构,【开源】基于C/S架构的Android员工增删改查客户端相关推荐

  1. 无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口

    无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口 回顾 通过之前一篇文章 无需编程,基于PostgreSQL零代码生成CRUD增删改查RESTful API接 ...

  2. 无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口

    无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口 回顾 通过之前一篇文章 无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接 ...

  3. node ajax crud,基于node.js和rethinkdb的CRUD(增删改查)Web服务

    基于node.js和rethinkdb的CRUD(增删改查)Web服务 这是一个简单的REST web服务演示案例源码,使用Node.JS和Express 和RethinkDB,后者持久化JSON数据 ...

  4. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. 基于 Spring Boot 的 Restful 风格实现增删改查

    前言 在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练. ...

  6. web前端期末大作业 基于HTML+CSS+JavaScript角色管理(带增删改查功能)

    ⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIV+CSS 布局制作,HTML+CSS网页设计期末课程大作业 | 学生管理系统网页设计 | OA管理系统 | 后台管理模板 | ...

  7. 基于jQuery实现王者荣耀英雄自定义增删改查功能 源码

    使用JSON实现存储本地功能,此页仅有js部分代码 作品示例图 增 给添加按钮添加点击事件,获取输入框的值,添加判断,当值为空时不添加,否则将输入的值存储到本地的数组中,然后保存到本地 //----- ...

  8. 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用

    2016年时,Jerry曾经写过一系列关于SAP Fiori Smart Template(现在更名为Fiori Elements了)的博客,介绍了所谓的MDD开发方法论 - Metadata Dri ...

  9. Mybatis中使用Dao实现类实现增删改查【实际开发中使用代理dao】

    在Mybatis开发中,使用到的是代理Dao的方式实现增删改查,这样就不需要在写Dao的实现类 但是Mybatis也支持写Dao实现类!即DaoImpl 直接上DaoImpl,之前的代码可以参考前面几 ...

最新文章

  1. Redis-01Redis概述
  2. 元素的层次结构和HTML文档结构
  3. Delphi XE7中新并行库
  4. TQ210——核心板和底板
  5. mysql(mariadb)重装
  6. 迁移学习-使用预训练的Inception v3进行宠物分类
  7. vissim跟驰模型_MATLAB——基于元胞自动机的单向3车道模型
  8. 《Android游戏开发详解》一1.1 什么是编程
  9. oracle 表空间配置
  10. [转]printf 函数实现的深入剖析
  11. 威纶触摸屏485直接控制监控台达vfd-m变频器程序
  12. 傅里叶变换时域和频域之间的对应关系
  13. 电子通信类顶级会议及期刊2(自用更新版)
  14. backtrace, backtrace_symbols, backtrace_symbols_fd
  15. 【SPSS笔记02】名义多选题的分析(名义多选题处理 相关分析)
  16. Makefile的常见错误信息
  17. 订阅号 openid php,微信“订阅号”如何存放openid,并在其他页面使用
  18. 在IT技术圈混,怎么能不知道这几个公众号?
  19. 双向可控硅在只需要正向导通时能否当作单向可控硅使用?
  20. 非科班出身程序员,如何超越科班程序员?

热门文章

  1. 今年最后一次版本更新 我们加了两个小彩蛋
  2. FCN全卷积网络阅读笔记
  3. 8. 版本提测准入准出标准
  4. 射频链路学习-第一讲 射频通信系统
  5. matlab 求余集,求模和求余 - moziqi - OSCHINA - 中文开源技术交流社区
  6. DCCRN:Deep Complex Convolution Recurrent Network for Phase-Aware Speech Enhancement
  7. [JavaScript实训] -- 制作简易的购物车页面
  8. Java判断多个时间段是否重叠
  9. 十个健康食品——胜过好伴侣hh
  10. c语言怎样调取网卡信息,求C语言编程实现获取网卡地址