From Intention to Action

Let’s introduce the Model-View-Intent architecture, identify the sample project we’ll be working with, and see an outline of the course.


1

Learn about the origins and theory of , and get introduced to the event cycle, which we’ll use throughout the course.


2

Take a tour through the starter project code, and learn how it differs from the code in our other architecture courses.


3

See a summary of prereqs for the course, which include intermediate knowledge of , experience with sealed classes, and a basic understanding of RxJava.


4

Create the base interfaces that will be used for the MVI component types, and define behavior for the View and ViewModel classes within MVI.


5

Identify the MVI intents for each screen of the app, and create Kotlin sealed classes to represent the intents


6

Practice defining an intent for the Add Creature screen on your own, through a hands-on challenge. Then see a solution.


7

Identify the MVI actions for each screen of the app, and create Kotlin sealed classes to represent the actions.


8

Practice defining an action for the Add Creature screen on your own, through a hands-on challenge. Then see a solution.


9

Let’s review where you are within the overall MVI cycle, and discuss what’s next: building out the remainder of the cycle.


10

Results, State, and the View

Let’s review what you’ll be doing in this part of the course, building out the second half of the MVI cycle and finishing the app.


11

Define results for the All Creatures screen, then use an Rx ObservableTransformer to process actions into results.


12

Define results for the Add Creature screen, then use an Rx ObservableTransformer to process actions into results.


13

Practice defining results and a processor for the Add Creature screen on your own, through a hands-on challenge. Then see a solution.


14

Learn how to think about the state of your screen’s view, and define a view state for both screens of the app.


15

See how reducers are used to combine previous view state with results to create a new view state, and define view state classes for each screen.


16

Practice defining a reducer for the Add Creature screen on your own, through a hands-on challenge. Then see a solution.


17

Complete the remainder of code needed for the app ViewModels, by turning intents into actions, processing to results, and reducing results to new view state.


18

Add a ViewModel property for the All Creatures screen, bind to the ViewModel, and render view state to the screen.


19

Add a ViewModel property for the Add Creature screen, bind to the ViewModel, and render view state to the screen.


20

Learn about how to set up tests for an MVI ViewModel class, using JUnit and Mockito. Then define tests for the loading intent on the All Creatures screen.


21

Let’s review what you learned in this course, discuss the benefits of the MVI architecture, and see where to go from here.


22



Source link https://www.raywenderlich.com/266607-mvi-on-android

LEAVE A REPLY

Please enter your comment!
Please enter your name here