基于android开发的聊天室 ChatRoom 1.0 :(一) 项目初步介绍

来源:互联网 发布:php安装包下载链接 编辑:程序博客网 时间:2024/06/06 12:39

          出来工作一年了, 以前的工作内容主要是搞J2EE,也就是是网页版信息管理系统之类的,后来慢慢的发现,做这个的人越来越多了,即使是水平很差的,或者是只有半桶水的,自己完全没有能力独立做一个小系统的人也在这行里滥竽充数,只是拿钱去培训机构培训了两三个月就说自己就是程序员了,好像进入软件开发这一行是如此简单似的,感觉只要读过大学的,都可以转到这一行来,哪怕以前的工作是做销售的。更可耻的是某些人自认为比你早进入这一行就觉得比你牛逼了,还装模作样的在你面前指手画脚、高谈阔论,其实他娘的懂个屁呀,这样的人一看就是欠扁的样,只所以说这些,是因为我确实在以前的公司遇到过这样的一个人,还在我面前自我宣扬是达内培训出来的,我身边见过的那些达内出来的哪个不是半桶水,浑水摸鱼的。那种教科书般的授课模式能教出个啥东西出来。声明一下,以上所说纯属是因为思想突然转到那个点上就情不自禁的发泄出来了,与接下来探讨的项目毫无关系,这有时候控制不了,没办法,还是进入正题吧。

       这段时间一直在学习android方面的编程,也希望自己以后的开发方向转向于移动应用领域,毕竟移动互联网的发展趋势已经不可抵挡了,最近这几年国内的互联网公司也紧跟趋势,整个市场发展态势一片大好,更重要的是给我们这些程序员提供了更多的创业机会,门槛相对来说更加容易了,哪怕团队只有你一个人,只要你做出了一个适逢其时的产品并且获得了市场的认可,那就可以说你创业成功了,而且在国内也有很多的推广平台可以供我们选择,产品的营销、推广、分成这些平台都会尽力的帮我们做,不用我们管,当然前提是你的应用要有足够的特色和魅力了。

 

        接下来介绍的项目是一个一对多聊天的聊天室项目,已提供资源链接可供下载,如下是项目的基本介绍:

一、端点连接机制:基于客户端到服务器端的socket连接,在服务器端利用android系统提供的线程池处理用户的并发访问。

二、消息发送原理:在服务器端缓存所有当前在线用户,对于接收到的文字消息或语音消息循环发送到所有在线客户端。

三、消息发送格式:对于所有的发送消息,都包含一条标识行,用来标识该消息的类型(注册、登录、退出、普通消息、语音消息)。对于网络字节数据流,采用length+data的格式,因为基于socket打开的数据流,好像只有这种格式最可靠,不会出现各种莫名其妙的错误。

四、项目操作流程:项目分为服务器端和客户端。

1、服务器端:解压chatServer.zip,目录结构保持不变,里面的一些文件不能手动更改。双击chatServer.jar,如果双击报错,则可以用命令行打开服务器窗口界面,当然链接地址中也提供了服务器端代码,也可导入到开发工具中运行启动。然后输入合适的端口号,点击启动按钮启动服务器。

2、客户端代码直接导入到eclipse中,安装部署即可运行,端口号及IP地址要与服务器端保持一致。

3、推荐测试方式可以用一台真机跟模拟器进行测试,来实现信息的交互,前提是手机跟电脑必须是在同一个无线网路,请自行设置。

五、必须注意事项:以下几点是在运行项目时必须注意的,否则有些功能操作时就会报错。

1、对于模拟器端,发送语音消息会报异常,所以测试时需用真机发语音消息

2、在录制语音时,不同的设备支持的采样频率有所差别,如在录制声音时报错或没有声音出来,可修改audioRecord中的采样率,该值保存在常量当中。

六、项目开发后续:这个纯属是自己作为一个接触android系统新手的练手项目,可以说一边查找资料、一边在慢慢摸索,弄了比较长时间,许多比较棘手的问题总算是解决了。后面如果有时间的话,可能会在此基础上进行一些功能上的扩展。我认为如果你是一个新手,这个项目了解清楚了,可以说算是入门了,那恭喜你可以进行android开发相关的工作了。最后界面上有一个问题,就是popuwindow里面的按钮单击后就不见了,比较影响美观哪,望谁有办法解决它,反正我是搞不定了

 

OK!接下来就开始详细的介绍项目的各个主要的功能实现点吧,我也是新手,有不足之处请见谅,希望这个项目有一些你可以学习和借鉴的地方,哪怕是一张废弃的卫生纸都有的它的价值,不是吗,哈哈!,先发张聊天主页面的效果图展示一下。

 

完整资源代码下载地址:http://download.csdn.net/detail/jiangliloveyou/6457969
原创粉丝点击