Giter VIP home page Giter VIP logo

wzqjava / mvvmsmart Goto Github PK

View Code? Open in Web Editor NEW
485.0 10.0 92.0 8.63 MB

基于谷歌最新AAC架构,MVVM设计模式的一套快速开发库,整合ViewModel+Lifecycles+Navigation+DataBinding+LiveData+Okhttp+Retrofit+RxJava+Glide等主流模块,满足日常开发需求。使用该框架可以快速开发高质量、易维护的Android应用。 项目组会持续维护,请放心使用.欢迎Start并Fork交流.

Java 50.71% Kotlin 49.29%
viewmodel lifecycles navigation databinding livedata okhttp retrofit2 rxjava2 glide mvvm

mvvmsmart's People

Contributors

wzqjava avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mvvmsmart's Issues

ViewModel父类中没有看到 startActivity()

readme中这样描述,是不是不准确?
BaseViewModelMVVM与BaseFragmentMVVM通过StateLiveData来处理常用UI逻辑,即可在ViewModel中使用父类的showDialog()、startActivity()等方法。在这个MultiRecycleViewModel中就可以尽情的写你的逻辑了!

Navigation 退栈重建的问题

关于使用 Navigation fragment 退栈返回到上一 fragment 时,页面重建的问题,感觉这样会影响正常的生命周期监听和一些业务逻辑,有什么好的解决方案吗

最近想换MVVM,看了下项目提一点需求或建议

1,有些项目的接口有多种不同的返回格式,而且并不统一,这很无奈,
最好是能加一个接口方法把服务器返回的最原始数据抛出,能兼顾不同

2,请求好像没有post的示例,POST能兼顾From表单和json提交么,可以设置一个提交类型,同一个框架里不同的接口可能一个用表单,一个用json提交

3,注意到net_utils里面有个gsontypeadapter,为何不把BooleanType和StringType加上
服务器返回的Boolean值和String也有null的,有时候碰到很多各种类型都返回null的接口,解析报错

4,暗黑模式,或者说换皮肤的功能有没有规划在里面,如果没有单独加上会不会难搞?

5,注意到项目里有不少java代码,是以后全转成kotlin还是一直保持java和kotlin共存?

6,项目后期会引入ARouter规划组件化么?

建议或Bug,统一在此反馈

建议或Bug,请在此提出,共同打造简单易用MVVM开发方案。目标是让大家可以安心接入生产项目(公司自己特殊需求,可以方便修改功能),而不仅仅用来学习。感谢您的反馈!

框架答疑,请加QQ群 531944409

欢迎大家在群里交流技术,共同打造简单易用的MVVM开发方案,目标是大家可以安心引入到生产环境,节省时间,公司特殊需求能方便修改功能.

几个优化的地方

1.实现网络类
NetWorkViewModel 中可看出来 DemoApiService ,每请求一次需要create一次,这一块是可以不必要的
2.BaseViewModel 这个类会被业务多次集成,对应的Model也会重复写,引发网络处理多次重写代码
3.BaseViewModel里stateLiveData来对网络做一个标识,现在正在思考这个思路,单个请求可以这么玩,但是当多个请求的时候,对应结果集体输出,上层无法准确知道对应处理

目前优化了,
1.DemoApiService在AppApplication里init,静态单列,
2.BaseViewModel里增加公用ApiHelper 辅助类 集中处理结果
3.BaseViewModel 初始化ApiHelper对象 对应处理类持有BaseViewModel,即可使用stateLiveData

正在修改多网络请求结果问题

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.