Android开发的问题(web services)Web/Android/OS
(本人菜鸟)要开发一个程序,有服务器端(webservices,DB),客户端(Web,手机Android/OS)说明:在服务器端公开需要的接口,然后在各个客户端调用需要...
(本人菜鸟)要开发一个程序,有服务器端(web services,DB),客户端(Web,手机Android/OS)
说明:在服务器端公开需要的接口,然后在各个客户端调用需要的接口,实现对应功能。客户端有查看,追加,修改,删除,数据同步功能。
问题:移动客户端(手机),有离线操作功能(不联网),这时候就不能访问服务器的公开接口了,就要把所有的逻辑功能都在移动客户端上重写一遍。这样就没有达到共用同一部分的接口资源,出现大量的重复代码。有没有什么好的方案,或者折中的方案。求各位大侠指教。 展开
说明:在服务器端公开需要的接口,然后在各个客户端调用需要的接口,实现对应功能。客户端有查看,追加,修改,删除,数据同步功能。
问题:移动客户端(手机),有离线操作功能(不联网),这时候就不能访问服务器的公开接口了,就要把所有的逻辑功能都在移动客户端上重写一遍。这样就没有达到共用同一部分的接口资源,出现大量的重复代码。有没有什么好的方案,或者折中的方案。求各位大侠指教。 展开
2013-12-02
展开全部
首先你要搞清你的离线的目的是什么。
如果只是临时存储,在有网时再发送到服务器,不提供本地查看,那这是单独的保存本地数据,最简单的就是序列化数据存储到SharedPreferences中就行了,有网时直接按当时记录的操作调用相应的服务接口就行了,是不会同服务器操作的真实操作重复代码的。
如果你是本地也有数据副本,提供查看、编辑操作,那么上传服务器只是一个同步操作,同步操作是一个统一接口,包括了所有的其他操作,虽然表结构是重复的,但接口是不会重复的。
如果你是两者混合的情况,这种才会有部分的重复,因为你又需要把数据按服务器格式保存在本地供查看,又需要直接把数据传输到服务器操作。这种情况下,才建议本地SQLite与服务器表一致。如果服务器用的Java,你可以制作成jar来共用代码,如果是其他语言,你也只好复制一次了。
如果只是临时存储,在有网时再发送到服务器,不提供本地查看,那这是单独的保存本地数据,最简单的就是序列化数据存储到SharedPreferences中就行了,有网时直接按当时记录的操作调用相应的服务接口就行了,是不会同服务器操作的真实操作重复代码的。
如果你是本地也有数据副本,提供查看、编辑操作,那么上传服务器只是一个同步操作,同步操作是一个统一接口,包括了所有的其他操作,虽然表结构是重复的,但接口是不会重复的。
如果你是两者混合的情况,这种才会有部分的重复,因为你又需要把数据按服务器格式保存在本地供查看,又需要直接把数据传输到服务器操作。这种情况下,才建议本地SQLite与服务器表一致。如果服务器用的Java,你可以制作成jar来共用代码,如果是其他语言,你也只好复制一次了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询