解决方案 »
- android wifi平板开发,怎样移除掉通话功能?
- 求助 android使用surfaceView播放视频时播放窗口为什么不受控制
- 怎样编写程序调用手机和电脑上的扬声器???
- 新手提问,EditText内容清空的问题
- (结贴率100%)xml解析。。。。根据下面要求把下面的xml文件解析了。。。
- Android操作word的问题,
- 使用cygwin下载android源码的问题
- HttpClient发生IOException的问题
- httppost chunked编码问题
- 系统设置里,选择使用网络上的时间,系统是怎样获取网络时间的?
- dlclose导致crash
- android通过webservice访问数据库 模拟器能返回数据,真机不显示。
http://blog.csdn.net/way_ping_li/article/details/17403929
1、聊天记录本地数据库和服务器数据库一定都要有。通过字段区分用户就可以。
2、切换用户仅仅只是再初始化一份这个新用户的好友、近天聊天记录等等,这个过程没啥可麻烦的。一个数据库完全可以胜任。
3、获取用户列表有很多种方法,很惭愧没有用过lz所谓的openfire方法。而且像获取好友列表等这种无时效性的请求,完全可以用单次请求解决。
http://blog.csdn.net/way_ping_li/article/details/17403929
我想到两种方式,第一种是直接从服务器去获取。这样的话每次登陆都要去获取好友列表。
第二种是在数据表中添加字段,标识用户. 由于首次登陆的时候是数据库表中没有值。 所以要添加一个xml文件标识这个用户的好友是否已经在数据库中。 如果在的话就不用从数据库中获取,如果不在,就从网络获取,然后插入到数据库中。
不知道你推荐哪种?
我想到两种方式,第一种是直接从服务器去获取。这样的话每次登陆都要去获取好友列表。
第二种是在数据表中添加字段,标识用户. 由于首次登陆的时候是数据库表中没有值。 所以要添加一个xml文件标识这个用户的好友是否已经在数据库中。 如果在的话就不用从数据库中获取,如果不在,就从网络获取,然后插入到数据库中。
不知道你推荐哪种?这两种相较而言我肯定推荐后者,但是后者还是不健全。当你切换用户的时候,其实成熟一点的应该会为每个用户的好友列表维护版本号。通过版本来区分你这次切换到A用户,你本地的好友列表和服务器上的是否一致。这个版本单独用一张表来维护便可。这样就免去了你用xml记的麻烦。而且还能优化每次切换用户的初始化流量。因为一旦有版本,就可以确定切换用户到A之前的这段时间,A在服务端添加了几个好友,删除了几个好友。这样只需初始化这几个好友便可。
lz目前的设计还是偏向于死板了,还有就是我想指出lz的一个设计思维的问题,做东西不能以纯实现结果而凑合的思想来做。要合理,而且健全。为了优化用户体验和节省资源,一些必要的工作量增加还是非常必要的。