Android仿微信APP实现源码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/EricFantastic/article/details/49451249

前几个月做的Android仿微信客户端-猫友,一直没时间做个总结,现在拿出来整理整理。

先来看看实现效果:

登录注册页面:

会话界面及添加好友页面:

聊天界面及聊天详情页面:

通讯录扩展页面:


这里附上仿微信猫友APP下载地址:http://download.csdn.net/detail/ericfantastic/9219921

资源还是需要分的,望各位支持一下原创!


具体搭建方法:

1、下载Openfire的安装包:http://download.csdn.net/detail/ericfantastic/9219685

Openfire服务器及MySQL具体配置可以参考:http://www.th7.cn/db/mysql/201406/59838.shtml

2、建议下载Openfire自带的PC客户端Spark,方便测试功能:http://download.csdn.net/detail/ericfantastic/9219815

3、修改源码中的服务器主机地址:在ConnetServer.java中,修改Configuration为本地的IP地址。

4、修改添加好友中的JID主机名:在AddFriendActivity.java中,修改addFriend方法中的"@ericwork-pc"修改为服务器的主机名,不区分大小写;

5、修改聊天页面中的JID主机名:在ChatActivity.java中,修改发送按钮的监听事件中的"@ericwork-pc",同上。

      实现一个IM实时聊天应用,少不了弄服务器,目前开源的Openfire服务器就比较合适,而且很多功能都已经封装好了,实现聊天APP就简洁很多。服务器后端的数据库我选择了MySQL,当然Openfire也支持大部分的主流数据库,只要在配置的时候修改好参数即可;搭建的时候,把服务器配到8G内存笔记本上,网上得知,Openfire每个线程大约占4k内存,那理论上是可以80w+用户,当然实际肯定没那么多,Openfire在一台8G的主流服务器上支持30W的用户肯定没有问题。

      Android猫友APP的结构图:

    终端设备通过AndroidAPP从互联网或局域网与服务器进行交互,服务器处理客户端的请求,并完成相应的处理,将数据信息存储到数据库,在需要是进行调用。


简单说明一下Eric_JQM_Chat工程目录结构,当初开发的时候初衷只是玩玩openfire实现IM的过程,没想到一写就写了一通,对模块也没有很好的分包,还请多多包涵。

可以脸红的说,基本上所有功能实现都放在第一个eric_jqm_chat包里了,第二个Service包主要放与于后台服务相关的包,但后来这些服务我也都没有启用,后面的四个Zxing包就是实现二维码扫描的包,具体如何实现我的博客里有介绍。

Login登录相关,包括保存当前登录账号密码,下次直接登录使用等功能;

Register注册相关,包括本地输入校验;

MainActivity主界面相关,包含四个Fragment页面、上方Actionbar及下方的自定义View选项;

TabFragment会话界面,用于接收收到的所有消息,并统计条目;

TabFragment2通讯录界面,加载用户的好友列表;

TabFragment3发现界面,功能尚未添加;

TabFragment4个人设置页面,加载个人资料;

AddFriendActivity添加好友页面,搜索仅仅是获取用户头像,申请添加好友,及接受好友添加请求并处理;

CaptureActivity扫描二维码页面,扫描二维码功能;

CatchCameraActivity视频通话页面,仅完成获取前置摄像头预览及获取网络RTSP视频流播放;

ConnetServer连接服务器类,单例模式;

FormatTools简单工具类,用于各种类型数据间的转换;

ChatActivity聊天页面,实现指定好友的聊天功能,及聊天记录的保存;

FriendDetail聊天好友详情页面,更改聊天背景等;

主要的类就是这些,具体的详细实现大家可以直接看代码,注释写的很详细了,有疑问的欢迎交流,存在bug还请指正。



猜你喜欢

转载自blog.csdn.net/EricFantastic/article/details/49451249
今日推荐