A series of Android Kotlin apps based on Google & Udacity trainings. One stop page to prepare for Android associate developer certificate.
GPL-3.0 License
This repository includes Kotlin sample application created based on latest Android guidelines available in the following references:
You can use these applications as reference to learn more about Android latest features or to prepare for Android associate developer certificate.
The applications tuned a little from the original course with more features to validate extra development capabilities or to work with latest Android studio and Kotlin releases in 2021 after the course:
All applications under /basic folder:
All applications under /advanced folder:
Projects to showcase the rest of the Android associate certificate topics, that was not fully covered in the kotlin series applications. All applications under /extras folder:
This section to show the topics of the Kotlin Android associate developer exam and related reference applications in this repository.
Topic | Application | Filename |
---|---|---|
Toast | EggTimer | EggTimerFragment |
Snackbar | SleepQualityTracker | SleepTrackerFragment |
Snackbar | Theme | GdgListFragment |
Create a Notification | EggTimer | NotificationUtils,EggTimerFragment (createChannel),AlarmReceiver [optional] |
AndroidX | DiceRoller | - |
Android KTX | reference | - |
Android KTX (Navigation) | AndroidTrivia | MainActivity,navigation_main |
Android KTX (Room) | GridSleepQualityTracker | - |
Android KTX (WorkManager) | DevByteViewer | RefreshDataWork,DevByteApplication (setupPeriodicWorker) |
Topic | Application | Filename |
---|---|---|
ConstraintLayout | ColorMyviews | activity_main,build.gradle |
RecyclerView list | SleepQualityTracker,GridSleepQualityTracker | SleepNightAdapter,SleepTrackerFragment,fragment_sleep_tracker |
Navigation drawer | AndroidTrivia | MainActivity,activity_main,navdrawer_menu |
Custom view components | CustomFanControl | DialView |
Start activity | GridSleepQualityTracker | SleepTrackerFragment |
Start activity with result | FirebaseLogin | MainFragment (firebaseLauncher) |
Share Intent | AndroidTrivia | GameWonFragment (createShareIntent) |
themes | Theme | - |
Lifecycles | DessertPusher | MainActivity |
Paging library and flow | GitHubPaging | GithubPagingSource,GithubRepository,SearchRepositoriesViewModel,ReposAdapter |
Loading state footer | GitHubPaging | ReposLoadStateViewHolder,ReposLoadStateAdapter,SearchRepositoriesActivity (initAdapter) |
Menu | AndroidTrivia | winner_menu,GameWonFragment |
Topic | Application | Filename | Fun |
---|---|---|---|
viewModelScope | TodoTester | TasksViewModel | completeTask,clearCompletedTasks |
App settings with shared preferences | AppWithSettings | SettingsFragment, MainActivity (displaySwitchValue) | |
App settings with shared preferences | firebaseLogin | settings,SettingsFragment | |
Room database and liveview | SleepQualityTracker,GridSleepQualityTracker | SleepTrackerViewModel (allNights) | |
Repository | DevByteViewer | VideosRepository,VideoDao,Network |
Topic | Reference |
---|---|
Debugging | https://developer.android.com/studio/debug/ |
Android logs | https://developer.android.com/studio/debug/am-logcat |
Topic | Application | Filename | Test Method |
---|---|---|---|
Junit basic | TodoTester | StatisticsUtilsTest | Local Test |
Hamcrest (English written test) | TodoTester | StatisticsUtilsTest | Local Test |
Junit for liveData and viewModel (AndroidX test) | TodoTester | TasksViewModelTest | Local Test |
Fake viewModel repository | TodoTester | TasksViewModelTestFake | Local Test |
Dependency inject test | TodoTester | DefaultTasksRepositoryTest | Local Test |
coroutines test | TodoTester | build.gradle,DefaultTasksRepositoryTest | Local Test |
Fragment intigration test(ServiceLocator, Espresso & Mokito) | TodoTester | build.gradle,ServiceLocator,TodoApplication,TaskDetailFragmentTest | AndroidTest |
Mocks using mockito | TodoTester | TasksFragmentTest | AndroidTest |
runBlockingTest | TodoTester | TasksFragmentTest | AndroidTest |
Junit rule & coroutine dispatcher | TodoTester | MainCoroutineRule,TasksViewModelTestFake | Local Test |
Room and Dao test | TodoTester | build.gradle,TasksDaoTest | AndroidTest |
Room and local data source | TodoTester | build.gradle,TasksLocalDataSourceTest | AndroidTest |
End to end espresso test(ActivityScenario used) | TodoTester | TasksActivityTest | AndroidTest |
Make sure to review the official exam guide:, for the latest updated exam topics: https://developers.google.com/certification/associate-android-developer/study-guide
The applications created using Android studio 4.1.1