1.16Android 学习+进度之十六-项目阶段性总结(没有更高的需求可能是最终总结)

这个项目也可以做一个阶段性的总结。从7月10号入职实习接收后,大约两个礼拜的时间,就一个感觉,这种专注写代码的感觉还是非常不错的,而且公司根本没有加班的机会,中间还有小假期,更让人觉得,效率才是干这一行的关键,不然效率不高,天天加班,身体垮掉就真的吃青春饭了(就怕工作的时候打自己脸)。还是说说项目吧

首先说一下整体的项目架构。先看一下项目所包含的文件:


这是所有的java文件列表。大体的项目思路是这样,首先是MainActivity,他负责显示登陆,用户列表等界面,并且负责开启服务,绑定广播等。SocketService是用来初始化socket的,socket的生命周期和service一致,SocketThread除了初始化socket相关,还主要开线程负责接收,接收的数据暂定为不作处理,直接广播发送。SocketSendThread主要负责socket的发,维护一个线程安全的queue,防治多个地方调用writer从而导致出错。

数据方面,GlobalContant为全局变量类,里面包含所有的常量,这个类也和服务器端(java写)公有。MessageForSocket是在网络中通过socket发送的数据包类,和服务器共用(否则服务端无法识别,百度说是必须是同一个class)。里面包含ip,数据等信息。ChatActivity是聊天类,开启新的界面,界面的维护靠自己编写的Adapter,显示的消息是ChatMsg,也靠绑定广播来接收数据。

下面的layout,中间3个是chat时自定义的list界面。

恩,答题思路是这样子。主要point是,需要在项目初期,理清楚,所有的模块消息通信方式(早期犯错,碰到问题解决一个问题,消息通信复杂混乱)。因为这个是重中之重,其余的都是小打小闹。另外Android开发的UI真的是很重要,现在的chatUI都是靠网上的力量。

好了,暂时先说这么多。

另外,代码的规范也非常重要,在设计的时候,尽量考虑之后可能出现的版本更替,然后预留接口进行处理,这样代码,更扩展性更强,不至于每次修改会伤筋动骨。(本项目如今在处理消息数据的时候,考虑了音视频的可能,所以也作了一定的接口预留处理)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值