需求:Android客户端有N个,服务器端只有一个,客户端会不定时的到服务器端同步数据。
思路分析:
由于客户端的个数不确定,而且是不定时的到服务器端同步数据,所以应该由客户端来维护何时发起请求.
客户端和服务器端都维护一个TableVersion表,服务器端某个数据表中的数据改变时同时修改服务器端的TableVersion表.如下图:
table1中添加了1条数据,rowVersion值为4(自增),修改了1条数据,则把这条数据的rowVersion修改为5(自增),然后又添加了1条数据,这时这条数据的rowVersion为6(自增).table1中每次变动都会同时修改服务器端的TableVersion中table1这一条的数据的Version值,保持当前表的最大值.
客户端发起同步请求时携带客户端的TableVersion数据传递给服务器端,服务器端比对传递过来的客户端TableVersion和服务器端TableVersion的差异就知道了哪些表发生了变化,如下图:
通过比对知道了table1和table3中的数据发生了变化,这时就需要把table1/table3中变化的数据和TableVersion中的全部数据传递给客户端,客户端修改本地的table1/table3和TableVersion中的数据,这就完成了一次同步的过程.例如table1中的数据rowVersion大于3的数据是变化了的数据,因为客户端tableVersion当前记录代表了本地数据的最大版本,只同步这些rowVersion大于3的数据就是只同步变化了的数据.
关于客户端和服务器端交互请参考:
封装一个类搞定90%安卓客户端与服务器端交互 http://blog.csdn.net/lk_blog/article/details/7706348
android端数据库处理框架请参考:
Android sqlite数据库操作通用框架AHibernate(一) http://blog.csdn.net/lk_blog/article/details/7455992
数据传递可以使用json,请参考:
Json转换利器Gson之实例一-简单对象转化和带泛型的List转化 http://blog.csdn.net/lk_blog/article/details/7685169
相关推荐
3. **数据管理**:Android客户端可能使用SQLite数据库存储本地数据,或者利用SharedPreferences进行轻量级的数据持久化。此外,还可以使用Room库来提供更方便的数据操作接口。 4. **网络通信**:客户端与服务器之间...
这个系统的设计可能包括用户界面、数据同步、网络通信、安全性等多个关键方面。 【描述】:“若水新闻客户端和服务器端” 描述简洁,没有提供具体的技术细节,但我们可以推测这是一个完整的新闻资讯应用解决方案,...
这个项目涵盖了服务器端、客户端以及数据库的完整架构,为学习Android开发和服务器编程提供了宝贵的实践机会。 1. **服务器端**:在服务器端,通常会采用一种支持大量并发连接的技术,如Java的Socket编程或基于...
客户端-服务器端模型是蓝牙通信中的常见架构,其中一方扮演服务提供者的角色(服务器端),另一方作为服务请求者(客户端)。服务器端通常会监听特定的蓝牙服务,并等待客户端发起连接请求。客户端则搜索周围的服务...
【Android 新闻客户端+服务器】项目是一个完整的移动应用开发实例,专为Android平台设计,它包含客户端应用程序和服务器端的源代码,使开发者能够快速理解并实现新闻展示和数据交互的功能。这个项目对于想要学习...
本资源包含一个完整的Android新闻网站客户端的源代码,同时提供了服务器端的源码,这对于学习和开发Android应用,特别是涉及到网络通信和数据同步的开发者来说,是一个宝贵的实践案例。下面将详细阐述其中涉及的主要...
在这个架构中,Android客户端作为用户交互的界面,发送请求到服务器,服务器处理请求并与MySQL数据库进行交互,然后将结果返回给客户端。这种设计模式确保了数据的安全性和应用程序的可扩展性。 1. **MySQL数据库...
9. **跨平台兼容**:Openfire IM不仅有Android客户端,还支持iOS、Windows、Mac等多个操作系统,方便多设备间的通信。 10. **易于部署**:由于Openfire是开源项目,因此开发者可以根据需要自行部署服务器,控制成本...
在IT行业中,设计一个...以上就是关于“聊天室设计(服务器端设计和客户端设计)”的相关知识点,涵盖从基础架构到用户体验的多个层面。在实际项目中,这些知识将指导开发者创建出高效、安全且用户友好的聊天室系统。
总结,构建一个Android教务选课学生成绩管理系统,需要对服务器端的架构设计、数据库管理、API开发有深入理解,同时在客户端方面,要掌握UI设计、网络请求、数据处理等技能。这个案例不仅是一个学习安卓服务器和...
这个话题涉及到多个关键知识点,包括Android的USB通信、Socket编程以及客户端-服务器架构。下面将详细介绍这些概念。 首先,让我们了解Android USB通信。Android系统提供了一个称为USB主机模式(Host Mode)的功能...
在Android手机游戏开发中,服务器端扮演着至关重要的角色,它是连接客户端(即手机游戏应用)与游戏逻辑、数据存储的核心桥梁。本资源提供的是一个完整的Android手机游戏服务器端Server的源代码,对于理解游戏服务器...
在Android客户端开发中,以下几个核心知识点是不能忽视的: 1. **MVVM架构**:现代Android开发常采用MVVM(Model-View-ViewModel)模式,它能够清晰地分离数据模型、视图和视图模型,提高代码可测试性和可维护性。...
本篇将聚焦于"Android应用源码之口袋微博 服务器 客户端代码.zip"这一资源,通过解析其服务器和客户端代码,揭示Android应用的架构设计、网络通信以及数据存储等多个关键知识点。 首先,我们关注的是Android客户端...
它基于客户端/服务器模型,由客户端和服务器端两个设备角色组成。 1. **SyncML同步系统架构**:包括三个部分:表示协议、同步协议和传输绑定方式。表示协议定义了数据类型和命令格式,同步协议描述了数据同步的会话...
在Android应用开发中,消息推送是一项重要的功能,它能让用户即使在不打开应用程序的情况下也能收到新消息的...同时,这也涉及到网络编程、Android组件、服务器架构等多个领域的知识,对提升开发者技能有极大的帮助。
总的来说,Android警务通客户端服务端源码是一个涵盖Android应用开发、服务器端开发、数据库管理、网络安全、数据同步等多个领域的综合性项目,对开发者的技术要求较高。理解并掌握这些知识点,对于开发类似的应用...
这就要求开发者了解数据库的基本操作,并能够实现客户端和服务器端的数据同步。 总结来说,实现Android客户端与***服务器之间稳定、高效的异构平台数据通信,需要处理好不同平台间的通信协议和数据格式问题,并考虑...
通过这个开源项目,开发者可以全面了解一个实际的电商应用的开发流程,从用户界面的设计到服务器端的实现,涵盖了移动开发的多个核心领域。对于想要提升Android开发技能或希望构建自己的商城应用的人来说,这是一个...
1. **服务器架构**:VB(Visual Basic)构建的服务器端可能采用了Web服务架构,如ASP.NET,提供RESTful API供Android客户端调用。 2. **数据库交互**:服务器可能使用SQL Server或MySQL等数据库存储家庭设备的状态...