android开发c s架构,【开源】基于C/S架构的Android员工增删改查客户端
背景: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员工增删改查客户端相关推荐
- 无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口
无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口 回顾 通过之前一篇文章 无需编程,基于PostgreSQL零代码生成CRUD增删改查RESTful API接 ...
- 无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口
无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口 回顾 通过之前一篇文章 无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接 ...
- node ajax crud,基于node.js和rethinkdb的CRUD(增删改查)Web服务
基于node.js和rethinkdb的CRUD(增删改查)Web服务 这是一个简单的REST web服务演示案例源码,使用Node.JS和Express 和RethinkDB,后者持久化JSON数据 ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 基于 Spring Boot 的 Restful 风格实现增删改查
前言 在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练. ...
- web前端期末大作业 基于HTML+CSS+JavaScript角色管理(带增删改查功能)
⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIV+CSS 布局制作,HTML+CSS网页设计期末课程大作业 | 学生管理系统网页设计 | OA管理系统 | 后台管理模板 | ...
- 基于jQuery实现王者荣耀英雄自定义增删改查功能 源码
使用JSON实现存储本地功能,此页仅有js部分代码 作品示例图 增 给添加按钮添加点击事件,获取输入框的值,添加判断,当值为空时不添加,否则将输入的值存储到本地的数组中,然后保存到本地 //----- ...
- 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用
2016年时,Jerry曾经写过一系列关于SAP Fiori Smart Template(现在更名为Fiori Elements了)的博客,介绍了所谓的MDD开发方法论 - Metadata Dri ...
- Mybatis中使用Dao实现类实现增删改查【实际开发中使用代理dao】
在Mybatis开发中,使用到的是代理Dao的方式实现增删改查,这样就不需要在写Dao的实现类 但是Mybatis也支持写Dao实现类!即DaoImpl 直接上DaoImpl,之前的代码可以参考前面几 ...
最新文章
- Redis-01Redis概述
- 元素的层次结构和HTML文档结构
- Delphi XE7中新并行库
- TQ210——核心板和底板
- mysql(mariadb)重装
- 迁移学习-使用预训练的Inception v3进行宠物分类
- vissim跟驰模型_MATLAB——基于元胞自动机的单向3车道模型
- 《Android游戏开发详解》一1.1 什么是编程
- oracle 表空间配置
- [转]printf 函数实现的深入剖析
- 威纶触摸屏485直接控制监控台达vfd-m变频器程序
- 傅里叶变换时域和频域之间的对应关系
- 电子通信类顶级会议及期刊2(自用更新版)
- backtrace, backtrace_symbols, backtrace_symbols_fd
- 【SPSS笔记02】名义多选题的分析(名义多选题处理 相关分析)
- Makefile的常见错误信息
- 订阅号 openid php,微信“订阅号”如何存放openid,并在其他页面使用
- 在IT技术圈混,怎么能不知道这几个公众号?
- 双向可控硅在只需要正向导通时能否当作单向可控硅使用?
- 非科班出身程序员,如何超越科班程序员?
热门文章
- 今年最后一次版本更新 我们加了两个小彩蛋
- FCN全卷积网络阅读笔记
- 8. 版本提测准入准出标准
- 射频链路学习-第一讲 射频通信系统
- matlab 求余集,求模和求余 - moziqi - OSCHINA - 中文开源技术交流社区
- DCCRN:Deep Complex Convolution Recurrent Network for Phase-Aware Speech Enhancement
- [JavaScript实训] -- 制作简易的购物车页面
- Java判断多个时间段是否重叠
- 十个健康食品——胜过好伴侣hh
- c语言怎样调取网卡信息,求C语言编程实现获取网卡地址