第一个开源的Android项目

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

最近在找工作,面试官说我缺少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技术欠缺,做这个项目也是为了多练习一下。

 

 

 

 

你可能感兴趣的:(Android,即时通讯,IM,仿微信,Android)