Baby

一个恋爱社交APP

这个项目就当是学习一年安卓来的总结和学习的新技术的应用吧。

version 1.1

1.增加了评论功能

2.优化了相册加载

3.修复了一些内存泄漏

4.等等

version 1.2

1.修复了一些Bug

2.把登陆注册事件换了个Zip操作符更符合流的思想

version 1.3

1.修复了主页背景无法切换的问题

2.修复了聊天推送的问题

3.修了语音视频的问题

4.做了一些细节修改

Gank.io

这个项目竟然被Gank.io翻牌了,我好开心阿,其实代码家的Gank.io真的是个学习安卓好地方,了解新资讯,学习新姿势。

从大三接触安卓开始就关注这个网站了,基本上,安卓所有新的技术我都是在上边了解过后才开始学习的,在这里表示衷心的感谢,

要是有打赏功能我会毫不犹豫给赏个几块钱。

开屏页的登录和注册

首页的Moment

相册页面

编辑个人信息

等等…

Development Environment & Library

MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。

还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

其实环信在知乎黑的人真的很多,但是用起来却没有试过出过什么特别大的问题,在发送消息这块倒是挺稳定的,不稳定在语音和视频这块,不过这两个实时性这么强的服务对环境应该也苛刻,不过倒无大碍(毕竟免费)。集成块这方面真的环信做的不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks

感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。

  • 源码下载
  • 相关推荐:Android零基础教开发社交Tinder

更多推荐

分享一波恋爱社交APP源码,真好~