I have to improve my Android skills so I decided to create a new app that uses RESTful API. It is not my first REST app because I already created Flickr and Weather but this one will include things like:
- MVP pattern
I will use Trello API and Kotlin android starter as a base. This is “live-post” so I will try to update it every day.
I spent one week on learning as much as possible about Dagger, RxJava. I knew how to implement it but I wanted to fully understand it. I also analyzed and understood Kotlin android starter. It already taught me better project structure. It also introduced me things like:
I found some issues in my previous projects:
- Not logging properly
- Not sure if I handle MVP when orientation changes
- Messed-up search bar
- Not-so-good dependency injection
My friend told me that I should check out Mosby as it’s a great lifehack when using MVP. I spent some time on it and now I have a great solution for MVP orientation change.
- Use Timber for logging
- Mosby provides ViewState that will handle it
- RxJava2 will be good for search bar
- Refactoring di with current knowledge should be easy
Now I’m much better especially at project structure and Dagger usage. I have to admit that I’m a little bit ashamed because I was learning from small projects that I have not committed on GitHub. My old published projects remain untouched. I have to admit- those are poorly written regarding things I learned last 2 weeks. I have to do something about it. I will not refactor everything but I will definitely change it a little bit.
I neglected one inconspicuous thing. While I was delivering better content by the day, my book cover was usually not so professional. I’m talking about git commit messages. I have not figured it out on my own but fortunately, my friend Maciej pointed it out. Well, there is always something to learn.
Fortunately, I got the chance to make test app for a company as the second step of recruitment. The RPN calculator. Anyway, I just finished the first version of SimpleONP(technically SimpleRPN) and I will write about it in a separate article because I learned a lot and I was fortunate to get a lot of help. RESTful project is suspended but I think that I will continue it anyway. Maybe in a few days.