【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第1张图片
微信截图_20170911182154.png

FanChat,一个基于黑马程序员的即时通讯项目,使用MVP模式,集成了环信SDK和Bmob后端云。

1基本功能

注册登录,退出登录,联系人列表,添加好友,删除好友,收发消息,消息提醒等。

2界面效果

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第2张图片
undefined

Splash界面

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第3张图片
undefined

登录界面

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第4张图片
undefined

主界面

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第5张图片
undefined

联系人界面

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第6张图片
undefined

动态权限管理界面

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第7张图片
undefined

动态界面

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第8张图片
undefined

聊天界面

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第9张图片
undefined

添加好友界面

3技术亮点

✔CardView的使用:继承自FrameLayout, 是Material Design里面的卡片设计,带有圆角和阴影效果。CardView效果非常好看,但也不能滥用, 比如:

Right 和 Wrong

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第10张图片

✔ContactListItemView

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第11张图片

运用模块化的思想,将联系人的列表项抽取成一个独立的自定义组合式控件ContactListItemView。ContactListItemView只需传入一个 与之对应的数据模型ContactListItem即可完成渲染。

联系人是否在同一个组

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第12张图片

当多个联系人的首字符相同时,只有第一个ContactListItemView显示首字符,后续首字符相同的ContactListItemView均不显示首字符。 在ContactListItem中声明一个布尔型变量showFirstLetter来标记是否显示首字符。该变量在创建ContactListItem时赋值。

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第13张图片

✔包的创建
●adapter 存放适配器

●app 存放常量类,Application类以及一些app层级的全局类

●database 数据库相关类

●event EventBus使用的事件类

●factory 工厂类

●model 数据模型

●presenter MVP模型中的Presenter类

●ui 存放activity和fragment

●utils 工具类

●view MVP模型中的View类

●widget 自定义控件

✔基类的创建
●BaseActivity

●BaseFragment

源码领取方式:
长按识别下方二维码>关注公号>回复“is”即能拿到!

【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第14张图片

继续阅读


【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目_第15张图片

你可能感兴趣的:(【源码分享】让黑马程序员逆袭的仿腾讯 IM 项目)