Mosby
A Model-View-Presenter and Model-View-Intent library for Android apps.
Dependency
dependencies {
compile 'com.hannesdorfmann.mosby3:mvi:3.0.4' // Model-View-Intent
// or
compile 'com.hannesdorfmann.mosby3:mvp:3.0.4' // Plain MVP
// or
compile 'com.hannesdorfmann.mosby3:viewstate:3.0.4' // MVP + ViewState support
}
Additional modules:
dependencies {
// MVP + ViewState + LCE Views
compile 'com.hannesdorfmann.mosby3:mvp-lce:3.0.4'
// Null Object Presenter for MVP
compile 'com.hannesdorfmann.mosby3:mvp-nullobject-presenter:3.0.4'
}
SNAPSHOT:
dependencies {
compile 'com.hannesdorfmann.mosby3:mvi:3.0.5-SNAPSHOT'
compile 'com.hannesdorfmann.mosby3:mvp:3.0.5-SNAPSHOT'
compile 'com.hannesdorfmann.mosby3:viewstate:3.0.5-SNAPSHOT'
compile 'com.hannesdorfmann.mosby3:mvp-lce:3.0.5-SNAPSHOT'
compile 'com.hannesdorfmann.mosby3:mvp-nullobject-presenter:3.0.5-SNAPSHOT'
}
You also have to add the url to the snapshot repository:
allprojects {
repositories {
maven {
url "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
}
Documentation
See the project website.
For Model-View-Intent checkout this blog post series.
Changelog
The changelog can be found in the release section
Migrating
In Mosby 3.0 we have changed the package name from com.hannesdorfmann.mosby
to com.hannesdorfmann.mosby3
(note the 3 at the end). Migrating a Mosby 2.x based app to Mosby 3.0 should be straight forward: Just replace all import statements of your app in android studio with Edit -> Find -> Replace in Path ...
and set find import com.hannesdorfmann.mosby
replace with import com.hannesdorfmann.mosby3
. There were also some minor API changes (see change log), but most apps should be fine by replacing the import statements.
Conductor
Mosby has a plugin for Conductor. You can find it here: https://github.com/sockeqwe/mosby-conductor
License
Copyright 2015 Hannes Dorfmann 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.