I’ve started to love HasGeek forum more than others… and there are reasons, mainly the audience and quality – of speakers, planning and execution. I was happily surprised to note that the guys used NFC cards, most probably during breaks. Probably because I had to leave after my session in the morning.
My session at MetaRefresh 2012 was on Yahoo! Mojito, which was recently open sourced at Github.
Below are the slides from the presentation…
This weekend’s changes to the Android MVC project include the following:
- Reorganization of the Command classes. AbstractBaseCommand has been created for simple get/set. All methods except “
execute” have been implemented. This class now forms the base for
IdentityCommand as well as
Controller now has full support for forward as well as backward navigation.
Controller can now record the activity navigation. Uses
Controller now support forward navigation with few more options:
- Can optionally mark the command to not be recorded
- Can optionally reset the activity stack
Controller now has
back method for backward navigation.
Controller, during forward navigation, manipulates the activity stack appropriately.
- Missing part is handling failure scenario when receiving a response. When processing the response, if it is in “error” state, IMHO, the response must be handled by the same activity rather than launching a new one.
- More so, the command must be removed from the top of the stack if there was an error.
- The support for
IInitializable has been removed. Not required.
- The initialize method, henceforth, has been removed from
BaseActivity now has two methods
processData called before
onBeforeCreate and before
BaseActivity now handles the back button (using the v2.0 function
onBackPressed) by calling the back method for navigation.
- Developers using v1.6 can override the method
onKeyPressed and look for the
KeyEvent.KEYCODE_BACK and call the method
Sample case study (showcase) now comprises of the following:
- SplashActivity that happens to be the main launcher activity.
- Erstwhile MainActivity has been renamed to LoginActivity to reflect its purpose.
- HomeActivitiy continues to be the same.
- SplashActivity launches LoginActivity using IdentityCommand and sharing some data (using Tag)
- LoginActivity launches HomeActivity upon successful login (sharing some data using Tag and passing some piece of data to LoginCommand using Data).
The code is, as usual, available on Sourceforge at http://android-mvc.git.sourceforge.net/git/gitweb.cgi?p=android-mvc/android-mvc;a=tree. Additionally, I’ve also pushed the codebase on Github at http://github.com/gvaish/Android-MVC.