VMMatch

一款开源匹配交友 IM 应用
授权协议 Apache
开发语言 Java
所属分类 服务器软件、 电话/通讯/IM聊天
软件类型 开源软件
地区 国产
投 递 者 尉迟边浩
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

VMMatch 猿匹配 —— 国内首个程序猿非严肃婚恋交友应用。

这是一个使用环信 IM 开发的一款开源聊天项目,涵盖了时下流行的一些聊天元素,同时已将 IM 功能封装为单独库,可以直接引用,方便使用

项目还处在初期阶段,还有许多功能需要实现,有兴趣的可以一起来

下载体验

安装包下载 >> Github >>

猿匹配 Google Play

项目截图

匹配匹配匹配
匹配匹配匹配
匹配匹配匹配
匹配匹配

开发环境

项目基本属于在最新的Android开发环境下开发,使用Java8的一些新特性,比如Lambda表达式,
然后项目已经适配Android6.x以上的动态权限适配,以及7.x的文件选择,和8.x的通知提醒等;

  • Mac OS 10.14.4
  • Android Studio 3.3.2

项目模块儿

本项目包含两部分:

  • 一部分是项目主模块app,这部分主要包含了项目的业务逻辑,比如匹配、信息修改、设置等
  • 另一部分是封装成libraryvmim,这是为了方便大家引用到自己的项目中做的一步封装,不用再去复杂的复制代码和资源等,
    只需要将vmimmodule导入到自己的项目中就行了,具体使用方式参见项目app模块儿;

功能与 TODO

IM部分功能

  • [x] 链接监听
  • [x] 登录注册
  • [x] 会话功能
    • [x] 置顶
    • [x] 标为未读
    • [x] 删除与清空
    • [x] 草稿功能
  • [x] 消息功能
    • [x] 下拉加载更多
    • [x] 消息复制(仅文字类消息)
    • [x] 消息删除
    • [x] 文本+Emoji消息收发
    • [x] 大表情消息收发
    • [x] 图片消息
      • [x] 查看大图
      • [ ] 保存图片
    • [x] 语音消息
      • [x] 语音录制
      • [x] 语音播放(可暂停,波形待优化)
      • [x] 听筒和扬声器播放切换
    • [x] 语音实时通话功能
    • [x] 视频实时通话功能
    • [x] 通话过程中的娱乐消息收发
      • [x] 骰子
      • [x] 石头剪刀布
      • [x] 大表情
    • [x] 昵称头像处理(通过回调实现)

App部分功能

  • [x] 登录注册(包括业务逻辑和 IM 逻辑)
  • [x] 匹配
    • [x] 提交匹配信息
    • [x] 拉取匹配信息
  • [x] 聊天(这里直接加载 IM 模块儿)
  • [x] 我的
    • [x] 个人信息展示
    • [x] 上传头像
    • [x] 设置昵称
    • [x] 设置签名
  • [x] 设置
    • [x] 个人信息设置
    • [x] 通知提醒
    • [x] 聊天
    • [ ] 隐私(随业务部分一起完善)
    • [ ] 通用(随业务部分一起完善)
    • [ ] 帮助反馈(随业务部分一起完善)
    • [x] 关于
    • [x] 退出
  • [ ] 社区
    • [ ] 发布
    • [ ] 评论
    • [ ] 收藏
    • [ ] 关注

发布功能

  • [x] 多渠道打包
  • [x] 签名配置
  • [x] 开发与线上环境配置
  • [x] 敏感信息保护

配置运行

  1. 首先复制config.default.gradleconfig.gradle
  2. 配置下config.gradle环信appkey以及bugly统计Id
  3. 正式打包需要配置下签名信息,同时将签名文件放置在项目根目录
 相关资料
  • 本文向大家介绍LuLu打造一款macOS的开源防火墙,包括了LuLu打造一款macOS的开源防火墙的使用技巧和注意事项,需要的朋友参考一下 LuLu是一款macOS下的免费且开源防火墙 ,其主要用于阻止未经授权的(传出)网络流量,除非用户明确允许: 完整的细节和使用说明可以 点此查看 。 LuLu的初心是打造一款简单易用的防火墙,因此在使用上也存在着局限性。其中的一些不足之处将在后续的开发中得到补

  • 如何精确匹配img标记的多个实例?我读了一些关于preg_match的教程,但从未真正理解。 我以此为基础: 我做了一个小的像正则表达式: 在这之后,我就卡住了。我如何继续匹配所有直到两个字符串的末尾? 我在PHP网站上发现了数组部分: 使用我的代码,我如何获得图像URL和alt标签? 谢谢

  • 本文向大家介绍10款实用的PHP开源工具,包括了10款实用的PHP开源工具的使用技巧和注意事项,需要的朋友参考一下 在开发工作中,使用合适的工具可以最大化地提高效率。此外,大量的开源项目也节省了开发者重复“造轮”的时间,使得开发者可以专注于业务的实现。 本文介绍10款非常实用且开源的PHP开发辅助工具,希望对你有所帮助。 1. Debugbar DebugBar是一个免费和开源的应用,能够集成至任

  • 说明 统一收单交易退款接口SDK。 官方文档:https://docs.open.alipay.com/api_1/alipay.trade.refund/ 类 请求参数类 请求参数 类名:\Yurun\PaySDK\AlipayApp\Params\Refund\Request 属性 名称 类型 说明 $method string 接口名称 $app_auth_token string 详见:h

  • 说明 支付宝境外到店支付-交易退款 官方文档:https://global.alipay.com/service/external_QR_Code/22 类 请求参数类 请求参数 类名:\Yurun\PaySDK\AlipayCrossBorder\InStore\Refund\Request 属性 名称 类型 说明 $service string 接口名称 $notify_url string

  • 试图实施更大规模的井字游戏 这个游戏可以有超过3行和3列 每当发现4个连续的模式(水平,垂直或交叉) 选手是赢家 我已经找到了水平和垂直匹配的实现方法 但是找不到一种方法来识别2d数组中某个字符的交叉模式 考虑下面的二维数组 ` ` 如何检查“*”字符在这个2d数组中是否有四个连续的交叉模式