The next version of NC Traffic Cams (version 3.0, but with a different name) is nearly feature complete. I completely overachieved on this project, but purposefully. Since I stopped actively building PremoFM, I wanted to start on a project that would teach me a few advanced Android development tricks. I’m building the next version of NC Traffic Cams with the following in mind:
- Model – View – Presenter, similar to Model – View -Controller, enforces the separation of Android specific logic and business logic in an effort to make the business logic more testable. I’m also using Loaders to keep Presenters around. This is great because it means I have to do no work to persist the apps state during a device rotation.
- Lots of unit tests.
- Lots of RxJava, in the latest released version of RxJava I wrote a ton of AsyncTasks. This time around 0 AsyncTasks. I have RxJava to thank.
- OrmLite for the data layer, no more writing SQL selects and inserts by hand (I actually tried to integrate with Realm, however, I threw it out because of the thread management issues I encountered).
- OkHttp / Retrofit / Gson for the API later, no more writing HttpUrlConnection or JSON parsing logic. I have a simple API setup for NC Traffic Cams and Retrofit made it ridiculously easy for me to get that data into NC Traffic Cams.
I wrote substantially less code this time around and the app is better, more stable, and more performant. Can’t wait to show you all what it looks like. It’ll be done soon™.
Here’s NC Traffic Cams v1 & v2 since it’s #ThrowbackThursday