Android Kotlin Completed Training Applications.
This Repo is used to track a series of Android Kotlin apps I've created based on Google & Udacity trainings. In addition to extra resources to cover latest MAD features and Android associate developer certificate requirements.
This repository includes Kotlin sample applications I've created based on latest Android guidelines available in the following references:
- Developing Android apps with Kotlin series.
- Advanced Android apps with Kotlin series.
- Associate Android developer materials.
I am using these apps as reference to learn more about Android latest features and to prepare for Android associate developer certificate.
Available applications
This is an overview of the applications and the development capabilities and features I've obtained that each application represents:
Udacity:
All applications under /Udacity folder:
- DiceRoller: the basic of Android layouts and actions.
- Aboutme: how to use Android data binding features.
- ColorMyviews: build responsive views with constraint layout.
- TriviaApp: usage of navigation graphs, navigation drawer and fragments.
- DessertPusher: handling acitivty/ fragment lifecycle and observers.
- GuessIt: a word guessing game to learn about application archeticture, viewModel and liveData.
- SleepQualityTracker: room database, recyclerview, coroutines and basic unit testing.
- GridLayout: room database and grid layout.
- MarsRealEstate: viewModel & liveData with retrofit, glide and moshi in Kotlin.!
- DevByteViewer: room database and retrofit2 with workManager using MVVM architecture.
- Theme: themes, styles, overlays, attributes, tint and more.
Android Certificate Topics
This section to show the topics of the Kotlin Android associate developer exam and related reference applications in this repository.
Core
Topic | Application | Filename |
---|---|---|
Snackbar | SleepQualityTracker | SleepTrackerFragment |
Snackbar | Theme | GdgListFragment |
AndroidX | DiceRoller | - |
Android KTX | reference | - |
Android KTX (Navigation) | AndroidTrivia | MainActivity, navigation_main |
Android KTX (Room) | GridSleepQualityTracker | - |
Android KTX (WorkManager) | DevByteViewer | RefreshDataWork, DevByteApplication (setupPeriodicWorker) |
User Interface
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 |
Start activity | GridSleepQualityTracker | SleepTrackerFragment |
Share Intent | AndroidTrivia | GameWonFragment (createShareIntent) |
Themes | Theme | - |
Lifecycles | DessertPusher | MainActivity |
Menu | AndroidTrivia | winner_menu, GameWonFragment |
Data Management
Topic | Application | Filename | Function |
---|---|---|---|
viewModelScope | TodoTester | TasksViewModel | completeTask, clearCompletedTasks |
Room database and liveview | SleepQualityTracker, GridSleepQualityTracker |
SleepTrackerViewModel (allNights) | |
Repository | DevByteViewer | VideosRepository, VideoDao, Network |
Debugging
Topic | Reference |
---|---|
Debugging | https://developer.android.com/studio/debug/ |
Android logs | https://developer.android.com/studio/debug/am-logcat |
Tools
The applications created using Android studio 4.1.1