一直都想在工作之余做一个开源的项目,哪怕是练手学习之用。

最近在找工作,面试官说我缺少Android项目,刚好借此机会,做了一个IM即时通讯的项目。

github链接地址:https://github.com/gong-shuang/andriod-open

 

 

项目介绍

这个是仿微信实现的,先看一下视频:

https://www.ixigua.com/i6730983740425634308/

(由于csdn不能上传视频,所有将视频放在西瓜视频里)

 

这个项目主要参考了两个项目,分别介绍:

(1)手把手开发一个完整即时通讯App

这个项目使用的MVP结构,非第三方即使通讯,即使通讯的功能是自己实现的,但采用了推送功能,在推送的基础上实现的即使通讯,主要的技术有:网络框架:Retrofit,注解框架:Butterknife,图片框架:Glide,安卓数据库框架:Dbflow,数据存储平台:阿里云OSS。

特点:使用的MVP框架,层次太多,虽然减少了代码聊,但增加了难度,对处学者来说不容易理解,

我们的项目主要使用了这个项目中与服务器通讯的功能。

(2)本项目仿最新版微信6.5.7

这个项目是高仿微信项目,仿微信版本6.5.7(除图片选择器外)。本项目基于融云SDK,使用了 Rxjava+Retrofit+MVP+Glide 技术开发。

特点:这个项目已经停止维护了,初始化融云的SDK不成功,连接不上,而部分功能不能适配华为手机。

我们的项目主要使用了这个项目的UI功能。

 

后续开发

边找工作,边继续完善这个项目。第一阶段是完善其他基本功能,修改bug等。

由于当前是将两个项目合在一起,结构比较混乱,后期会重新梳理一下结构,重新构建这个代码的结构。

既然是学习,后续会依次实现如下功能: 语言聊天,视频聊天,朋友圈等。

 

版本号说明

版本号采用“x.x.x”格式。分别为“主版本号.次版本号.bug修复”。分别说明:

(1)主版本号:主要的架构改变,需要修改大量代码,例如将MVP改为MVVM,对应的版本号会加1。

(2)次版本号:实现了新的功能,例如实现了升级功能,对应的版本号会加1。

(3)bug修复:每修改一个bug,对应的版本号会加1。

 

个人简历

本人12年毕业,做了几年的通信行业的嵌入式软件开发,15年来北京,16年考研(现北邮非全研究生),17年转行做Android开发,是在创业公司里,做的事情比较杂乱,Android开发没有经历过百万日活的磨练,深感Android技术欠缺,做这个项目也是为了多练习一下。

 

 

 

 

更多相关文章

  1. eclipse 创建android项目 无法启动
  2. Android(安卓)Gradle Plugin指南(二)——基本项目
  3. Android(安卓)7.0、8.1 导航栏上添加图标 及 相应功能
  4. 自己编译 tess-two几个库文件用于android OCR开发并合入你的工程
  5. Android上传开源项目(Library)到Jcenter
  6. AS-->Android(安卓)Studio直接打开/导入/编译Eclipse项目
  7. 如何用Android(安卓)studio构建项目
  8. Android(安卓)Studio 在默认build.gradle 中加入自定义源(新建项
  9. 一个用于导出android项目配置宏为单个独立xml文件的shell脚本

随机推荐

  1. adb Not running as root. Try "adb root
  2. Android的快速开发框架afinal
  3. Android(安卓)线程超时的例子
  4. android scaleType的属性
  5. Android中Message机制的灵活应用
  6. 工作环境搭建(9) - CentOS7命令行安装And
  7. (转载自diycode)2017 Android(安卓)面试
  8. android 横竖屏限制如何配置
  9. android里发送mail的几种方式
  10. Maven开发Android指南 2 配置android-mav