JChat android app. A real app based on JMessage SDK.
Clone or download
chenyanan
chenyanan update readme
Latest commit 3294b4d Jan 9, 2018

README.md

JChat Android

简介

JChat 是基于 JMessage SDK 带有完整 UI 界面的即时通讯应用。 演示即时通讯功能,包括:

  • 单聊、群聊、会话列表、好友、通讯录;
  • 支持发送文本、图片、语音、表情、位置、小视频;
  • 提供用户管理、群组管理、黑名单、免打扰、消息漫游等功能;

JChat 同时具备好友模式和无好友模式:

  • 无好友模式:无需将对方加为好友,通过搜索对方的用户名可直接发起聊天。
  • 好友模式:可申请将对方加为好友,对方会收到好友验证,验证通过则互为好友关系。

目前已覆盖 Android 、 iOSWebWindows平台,开发者可参照 JChat 快速打造自己的 APP,提高开发效率。

  • 更换 AppKey
    • 在 AndroidManifest.xml 文件中把 JChat 的 AppKey 替换成自己项目的 AppKey
  • 更换包名
    • 在 build.gradle 把 defaultConfig 节点下的 applicationId 替换成自己项目的包名

jiguang
jiguang

应用截图

jiguang

搭建环境

  • 如需发送地理位置功能,需要在 AndroidManifest.xml 中配置一下百度地图的 API AccessKey:
<meta-data android:name="com.baidu.lbsapi.API_KEY"
            android:value="UAkQeBK84ioVGzYgA1rSWYfuD4xYtpmV"/> // 将这个 value 替换成自己的

JChat 的工程结构

  • JChat 的架构模型参考了 Android Passive MVC 架构(但是去掉了 Listener 模块),有兴趣的可以参考这里以及这篇文章《Android Passive MVC 架构》

    • Application —— 主要作用是 jmessage-sdk 的初始化以及 Notification 的相关设置;

    • activity 包 —— JChat 的 Activity 的集合,主要负责绑定 Controller 和 View,以及界面的跳转;

    • controller 包 —— 主要负责事件的点击、数据处理等,是 Activity 和 View 的中间层;

    • view 包 —— 主要负责界面的展示、控件的初始化、点击事件的绑定等;

    • adapter 包 —— 主要负责 ListView 或 GridView 的数据处理;

    • tools 包 —— 工具类的集合。

JChat项目中用到的部分开源项目

  • ActiveAndroid —— 对象关系映射(ORM)操作数据库
  • EventBus —— 在组件之间传递消息
  • Picasso —— 加载、显示、缓存图片
  • 百度地图

特别说明

  • JChat Eclipse版本需要开发者自己切换到eclipse-jchat分支.注:Eclipse版本以后不再维护更新.
  • JChat 是一个单独的完整项目,不能作为module添加到其他项目中

相关文档