← Back to Tutorials Chapter 17

Practice & Resources

Summary of Exercises

  1. Ch1: Create a new project, add two TextViews and a Button that changes text.
  2. Ch2: Install Android Studio, create a project, run on emulator.
  3. Ch3: Build an MVVM app with ViewModel, LiveData, RecyclerView, Repository.
  4. Ch4: Two Activities with Intent extras and Share button.
  5. Ch5: Login screen layout with ConstraintLayout and Material Design.
  6. Ch6: Contact list with RecyclerView, FAB, and Snackbar.
  7. Ch7: Drawing app with custom View, touch, SeekBar, and swipe detection.
  8. Ch8: Themed app with custom colors, vector icons, fonts, and Spanish localization.
  9. Ch9: Notification with action, location updates, and confirmation dialog.
  10. Ch10: Podcast app with Foreground Service and WorkManager for periodic sync.
  11. Ch11: Notes app with Room database, RecyclerView, and DataStore.
  12. Ch12: Posts app with Retrofit, pull-to-refresh, offline caching with Room.
  13. Ch13: Photo editor with CameraX, bitmap filters, and Lottie animation.
  14. Ch14: Step counter fitness app with notifications and light sensor.
  15. Ch15: Unit tests with MockK and UI tests with Espresso.
  16. Ch16: Prepare app bundle with ProGuard and test with bundletool.

Quiz

  1. What are the four main components of an Android app?
  2. What is the difference between onStart() and onResume()?
  3. How does ConstraintLayout improve performance over nested layouts?
  4. What is the purpose of a ViewModel in MVVM?
  5. What is the difference between a Service and a BroadcastReceiver?
  6. When should you use WorkManager vs a foreground service?
  7. How does Room help with SQLite database management?
  8. What is the difference between an App Bundle and an APK?
  9. What is the purpose of ProGuard/R8?
  10. What are the different test types in Android and when should you use each?

Interview Preparation

Common Android Interview Questions

  1. Explain the Activity lifecycle in detail.
  2. What is the difference between Serializable and Parcelable?
  3. How does the Android permission system work?
  4. Explain the Repository pattern and its benefits.
  5. What is dependency injection and why use Hilt/Dagger?
  6. How do you handle configuration changes (screen rotation)?
  7. What is the difference between match_parent and wrap_content?
  8. How does RecyclerView recycle views?
  9. What is the purpose of LiveData vs StateFlow?
  10. How do you handle memory leaks in Android?

Project Ideas

Study Plan

WeekTopicsGoal
1Ch1-4Understand Android fundamentals and components
2Ch5-8Master UI design and resources
3Ch9-12Networking, storage, and services
4Ch13-16Multimedia, sensors, testing, deployment
5Ch17-18Build a complete app and prepare for interview

Certification Path

Final Project: Build a "Expense Tracker" Android app with Room database, Retrofit for currency conversion, WorkManager for monthly backup, MVVM architecture, Hilt DI, push notifications for spending alerts, a custom view for pie charts, and at least 80% test coverage. Publish it to Google Play as an internal test.