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

FanChat,一个基于黑马程序员的即时通讯项目,使用MVP模式,集成了环信SDK和Bmob后端云。
1基本功能
注册登录,退出登录,联系人列表,添加好友,删除好友,收发消息,消息提醒等。
2界面效果
Splash界面
登录界面
主界面
联系人界面
动态权限管理界面
动态界面
聊天界面
添加好友界面
3技术亮点
✔CardView的使用:继承自FrameLayout, 是Material Design里面的卡片设计,带有圆角和阴影效果。CardView效果非常好看,但也不能滥用, 比如:
Right 和 Wrong
✔ContactListItemView
运用模块化的思想,将联系人的列表项抽取成一个独立的自定义组合式控件ContactListItemView。ContactListItemView只需传入一个 与之对应的数据模型ContactListItem即可完成渲染。
联系人是否在同一个组
当多个联系人的首字符相同时,只有第一个ContactListItemView显示首字符,后续首字符相同的ContactListItemView均不显示首字符。 在ContactListItem中声明一个布尔型变量showFirstLetter来标记是否显示首字符。该变量在创建ContactListItem时赋值。
✔包的创建
●adapter 存放适配器
●app 存放常量类,Application类以及一些app层级的全局类
●database 数据库相关类
●event EventBus使用的事件类
●factory 工厂类
●model 数据模型
●presenter MVP模型中的Presenter类
●ui 存放activity和fragment
●utils 工具类
●view MVP模型中的View类
●widget 自定义控件
✔基类的创建
●BaseActivity
●BaseFragment
源码领取方式:
长按识别下方二维码>关注公号>回复“is”即能拿到!