{"id":20732412,"url":"https://github.com/jpush/jchat-android","last_synced_at":"2025-04-05T20:08:47.165Z","repository":{"id":31709665,"uuid":"35275419","full_name":"jpush/jchat-android","owner":"jpush","description":"JChat android app. A real app based on JMessage SDK.","archived":false,"fork":false,"pushed_at":"2019-05-28T08:25:45.000Z","size":72975,"stargazers_count":376,"open_issues_count":41,"forks_count":151,"subscribers_count":39,"default_branch":"master","last_synced_at":"2025-03-29T19:07:06.600Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docs.jiguang.cn","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jpush.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-08T11:20:23.000Z","updated_at":"2024-06-23T07:01:04.000Z","dependencies_parsed_at":"2022-09-10T04:13:50.284Z","dependency_job_id":null,"html_url":"https://github.com/jpush/jchat-android","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpush%2Fjchat-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpush%2Fjchat-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpush%2Fjchat-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpush%2Fjchat-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpush","download_url":"https://codeload.github.com/jpush/jchat-android/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247393570,"owners_count":20931813,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T05:19:21.531Z","updated_at":"2025-04-05T20:08:47.145Z","avatar_url":"https://github.com/jpush.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JChat Android\n\n### 简介\n\nJChat 是基于 JMessage SDK 带有完整 UI 界面的即时通讯应用。 演示即时通讯功能，包括：\n\n* 单聊、群聊、会话列表、好友、通讯录；\n* 支持发送文本、图片、语音、表情、位置、小视频；\n* 提供用户管理、群组管理、黑名单、免打扰、消息漫游等功能；\n\nJChat 同时具备好友模式和无好友模式：\n\n* 无好友模式：无需将对方加为好友，通过搜索对方的用户名可直接发起聊天。\n* 好友模式：可申请将对方加为好友，对方会收到好友验证，验证通过则互为好友关系。\n\n目前已覆盖 Android 、 [iOS](https://github.com/jpush/jchat-swift) 、[Web](https://github.com/jpush/jchat-web)、[Windows](https://github.com/jpush/jchat-windows)平台，开发者可参照 JChat 快速打造自己的 APP，提高开发效率。    \n\n* 更换 AppKey\n    - 在 AndroidManifest.xml 文件中把 JChat 的 AppKey 替换成自己项目的 AppKey\n* 更换包名\n    - 在 build.gradle 把 defaultConfig 节点下的 applicationId 替换成自己项目的包名\n\n![jiguang](./image/6.gif)        \n![jiguang](./image/9.gif)\n\n### 应用截图\n\n![jiguang](./image/sdk_model.png)\n\n### 搭建环境\n* 如需发送地理位置功能，需要在 AndroidManifest.xml 中配置一下百度地图的 API AccessKey：\n```\n\u003cmeta-data android:name=\"com.baidu.lbsapi.API_KEY\"\n            android:value=\"UAkQeBK84ioVGzYgA1rSWYfuD4xYtpmV\"/\u003e // 将这个 value 替换成自己的\n```\n\n### JChat 的工程结构\n* JChat 的架构模型参考了 Android Passive MVC 架构(但是去掉了 Listener 模块)，有兴趣的可以[参考这里](http://pan.baidu.com/s/1mhoms4o)以及这篇文章[《Android Passive MVC 架构》](http://www.jianshu.com/p/1af58b6e8930)\n  \n  - Application —— 主要作用是 jmessage-sdk 的初始化以及 Notification 的相关设置；\n  \n  - activity 包 —— JChat 的 Activity 的集合，主要负责绑定 Controller 和 View，以及界面的跳转；\n  \n  - controller 包 —— 主要负责事件的点击、数据处理等，是 Activity 和 View 的中间层；\n  \n  - view 包 —— 主要负责界面的展示、控件的初始化、点击事件的绑定等；\n  \n  - adapter 包 —— 主要负责 ListView 或 GridView 的数据处理；\n  \n  - tools 包 —— 工具类的集合。\n  \n### JChat项目中用到的部分开源项目\n- ActiveAndroid —— 对象关系映射（ORM）操作数据库\n- EventBus —— 在组件之间传递消息\n- Picasso —— 加载、显示、缓存图片\n- 百度地图\n\n### 特别说明\n* JChat Eclipse版本需要开发者自己切换到eclipse-jchat分支.注:Eclipse版本以后不再维护更新.\n* JChat 是一个单独的完整项目,不能作为module添加到其他项目中\n\n### 相关文档\n\n* [JMessage Android 集成指南](https://docs.jiguang.cn/jmessage/client/jmessage_android_guide/)\n* [JMessage Android 开发指南](https://docs.jiguang.cn/jmessage/client/im_sdk_android/)\n* [JMessage Android API Docs](https://docs.jiguang.cn/jmessage/client/im_android_api_docs/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpush%2Fjchat-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpush%2Fjchat-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpush%2Fjchat-android/lists"}