Blog
- Applying MVC pattern in Android applicationsApplying MVC Pattern in Android Applications separates an app into three collaborating roles: the model holds data and business rules, the view renders…
- Implementing dependency injection with DaggerDependency injection gives an Android class its collaborators instead of making it construct them. Dagger turns those relationships into a compile-time checked…
- Using Async/Await for Asynchronous Tasks in AndroidAndroid applications must keep the main thread responsive while they load data, query SQLite, decode images, or contact a web service. If a slow operation runs…
- Handling concurrency with executors and thread poolsAndroid applications spend much of their life waiting: for an API response, a database read, a file write or a batch of images to decode. If that work runs on…
- Debugging Multithreading Issues In Android AppsAndroid applications often perform several jobs at once: loading network data, reading SQLite records, decoding images and responding to touch events. When…
- Practical Espresso testing for Android appsIntegration testing with Espresso in Android checks that screens behave correctly on a device or emulator. These instrumentation tests interact with controls,…
- Practical Unit Testing for Android with JUnit and MockitoUnit tests give Android projects a fast way to prove that calculations, state transitions and business rules behave as intended. Instead of launching an…
- Profiling memory leaks with Android ProfilerAndroid apps rarely fail because one allocation is unusually large. They fail when objects that should have died remain reachable, survive garbage collection,…
- Optimizing battery usage in mobile appsEffective mobile apps protect the user’s battery by deferring work that does not help the person using the phone right now. Android can restrict background…
- Compressing and decompressing files with ZIP on AndroidAndroid apps regularly produce files that need to move as one unit: exported projects, offline help packs, diagnostic logs, or user-selected documents. The…