MVI on Android |

In this course, you will use RxJava to build an app using the Model-View-Intent architecture, learning about components like intents, results, and state.

This is a companion discussion topic for the original entry at

For the “Add Creature screen”. The intention of the user was to “Save” a new creature. So why you created NameIntent, EnduranceIntent, StrengthIntent etc. Only SaveCreatureIntent would have worked right?

Thanks for the question, @sagarsuri. What you suggest is an option. However, by breaking out the intents to one per user-interface element, you’re able to respond to individual user-interface events as they make their way around the MVI flow.

Thanks again!

1 Like

Where can I get the source code?

Hi @roip890 thanks for the question! For episodes that have associated source code, the code can be downloaded by clicking the “Download Materials” button found below the video. See for example, this episode:

Thank you again for your question! :]

Hi Joe, I tried to follow the video explanation and apply it on a project but I’m using RxJava3. It might be an ask but please can you have a glance at this github gist and point me in the right direction.

Hi Joe, … I’ve fixed the issue… after 3 days of trying weird things… it turns out problem was autoconnect. I got it to work by changing it to connect… .replay(1)
.apply { connect() }

weird and this is after trying to switch back to rxjava2 (stupid, i know) but all other attempts were futile. At least I know this the fix on rxjava2, I’ll switch back to rxjava3 and try same thing and see.