All Projects → rogerou → Baby

rogerou / Baby

一个私密社交APP,采用Dagger2+Rxjava+LeanCloud+环信+MVP+Tinker进行开发。

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Baby

Photonoter
📓Material Design风格的开源照片笔记。(MVP+Dagger2+RxJava+AspectJ+Dex处理)
Stars: ✭ 1,592 (+131.73%)
Mutual labels:  rxjava, mvp-architecture, material-design
T Mvp
Android AOP Architecture by Apt, AspectJ, Javassisit, based on Realm+Databinding+MVP+Retrofit+Rxjava2
Stars: ✭ 2,740 (+298.84%)
Mutual labels:  rxjava, mvp-architecture, material-design
AndroidMVPArchitecture
Android MVP architecture sample project with or without RxJava and Dagger2 and Kotlin
Stars: ✭ 78 (-88.65%)
Mutual labels:  rxjava, dagger, mvp-architecture
Android Movies App
Stars: ✭ 329 (-52.11%)
Mutual labels:  rxjava, mvp-architecture, material-design
Android Mvp Architecture
This repository contains a detailed sample app that implements MVP architecture using Dagger2, GreenDao, RxJava2, FastAndroidNetworking and PlaceholderView
Stars: ✭ 4,360 (+534.64%)
Mutual labels:  rxjava, mvp-architecture, dagger
Kotlin Life
App界的一股清流 音视频vr应有尽有 完全按照Material design规范设计的App (written with java and Kotlin)
Stars: ✭ 864 (+25.76%)
Mutual labels:  rxjava, mvp-architecture, material-design
Dribbbler
A Dribbble client with MVP+Repository pattern , RxJava ,Retrofit , Dagger
Stars: ✭ 56 (-91.85%)
Mutual labels:  rxjava, dagger, mvp-architecture
Kingtv
📺 高仿全民直播(全民TV),项目采用 MVP + RXJava + Retrofit + OKHttp + Material Design + Dagger2 + Base + Glide + GreenDao构建。因为全民TV已经凉了,导致App已经连不上。所以本项目已暂停维护。仅供学习。 推荐MVPFrame: https://github.com/jenly1314/MVPFrame 和你值得拥有的MVVMFrame快速开发框架: https://github.com/jenly1314/MVVMFrame
Stars: ✭ 1,594 (+132.02%)
Mutual labels:  rxjava, tinker, material-design
Geeknews
📚A pure reading App based on Material Design + MVP + RxJava2 + Retrofit + Dagger2 + Realm + Glide
Stars: ✭ 3,496 (+408.88%)
Mutual labels:  rxjava, mvp-architecture, material-design
Android-Learning-Resources
My curated list of resources for learning Android Development.
Stars: ✭ 24 (-96.51%)
Mutual labels:  rxjava, dagger
Readhub
Readhub AndroidClient
Stars: ✭ 40 (-94.18%)
Mutual labels:  rxjava, mvp-architecture
Githubfollows
A demo project based on MVVM architecture and material design & animations.
Stars: ✭ 272 (-60.41%)
Mutual labels:  dagger, material-design
WanAndroid
💪 WanAndroid应用,持续更新,不断打造成一款持续稳定, 功能完善的应用
Stars: ✭ 50 (-92.72%)
Mutual labels:  rxjava, dagger
Mango
🏀 An Android app for dribbble.com
Stars: ✭ 659 (-4.08%)
Mutual labels:  rxjava, mvp-architecture
Eyepetizer
An unofficial Eyepetizer(开眼视频) App built using Ijkplayer, RxJava2, Retrofit2, Dagger2, Room , DataBinding and Clean-MVVM Architecture.
Stars: ✭ 22 (-96.8%)
Mutual labels:  rxjava, dagger
Popular Movies App
A simple Android app, that helps user to discover movies. Project 1 & 2 of Udacity Android Developer Nanodegree.
Stars: ✭ 293 (-57.35%)
Mutual labels:  rxjava, material-design
Android Jetpack Demo
🔥 快速入门Android Jetpack以及相关Kotlin、RxJava、MVVM等主流技术,独立构架App的基础技能
Stars: ✭ 335 (-51.24%)
Mutual labels:  rxjava, dagger
Firebucket
Glimpse into Firebase, with a simple TODO list app built around Dagger, RxJava 2, Clean architecture and of course, Firebase.
Stars: ✭ 376 (-45.27%)
Mutual labels:  rxjava, dagger
Android Mvp Interactor Architecture
Extension of the android-mvp-architecture for very large projects.
Stars: ✭ 388 (-43.52%)
Mutual labels:  rxjava, dagger
android-base-project
Android LateralView Base Project
Stars: ✭ 25 (-96.36%)
Mutual labels:  dagger, mvp-architecture

Baby

一个恋爱社交APP

Dagger2 MVP Rxjava 入门练手项目。

version 1.6

  • 1.加入Tinker 热修复
  • 2.更新部分依赖
  • 3.修复大量细节问题,加入部分注释

version 1.5

  • 1.bug fix
  • 2.update sth

version 1.4

  • 1.增加长按删除功能
  • 2.优化Rxbus订阅加载数据
  • 3.外国友人优化的一些细节
  • 4.等等

version 1.3

  • 1.增加了评论功能
  • 2.优化了相册加载
  • 3.修复了一些内存泄漏
  • 4.等等

version 1.2

  • 1.修复了一些Bug
  • 2.把登陆注册事件换了个Zip操作符更符合流的思想

version 1.1

  • 1.修复了主页背景无法切换的问题
  • 2.修复了聊天推送的问题
  • 3.修了语音视频的问题
  • 4.做了一些细节修改

Download

Features



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

Glide

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

Butterknife、Ucrop等等

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

Thanks

  • 感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。
  • Thanks for improving my code m-ezzat.

Contacts

License

Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].