Android Kotlin Completed Training Applications.

Overview

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:

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

Comments
  • Completed Udacity Android App Course ud9012,  Lesson 1.

    Completed Udacity Android App Course ud9012, Lesson 1.

    Built a simple dice roller application.

    Refreshed knowledge on: Setting up Android studio Setting up devices on Emulator Basic app structure, detailed insight on every file in an android application. Layouts, Activities and Inflation. Gradle and Compatibility on Android.

    opened by Tc2r1 1
  • And Codelabs kotlin work manager

    And Codelabs kotlin work manager

    Adding WorkManager to your project
    Scheduling a simple task
    Input and output parameters
    Chaining work
    Unique work
    Displaying work status in the UI
    Cancelling work
    Work constraints
    
    opened by Tc2r1 0
  • Udacity ud9012 mars real estate

    Udacity ud9012 mars real estate

    Using the Library "com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:" Retrofit is able to add a CoroutineCallAdapterFactory.

    This enables retrofit to produce a Coroutine based Api. The CoroutineCallAdapterFactory allows the ability to replace the "Call" in the Service methods with Deferred from Coroutines.

    Deferred is a type of non-blocking Cancellable job that can directly return a result.

    Because Retrofit does everything on a background thread, we can use the UI thread andd dont need any other threads.

    When using CoroutineScope/ Jobs in ViewModel, don't forget to cancel them in the OnClear Lifecycle.

    Built a bindingAdapter that takes the url from an xml attribute associated with an imageview and use glide to load the image

    Parcelling is a way of sharing objects between different processes by flattening objects into a stream of data called a Parcel.

    opened by Tc2r1 0
  • Udacity ud9012 track my sleep quality room sql dao

    Udacity ud9012 track my sleep quality room sql dao

    • Used a Room Database to store retrieve and update my data.
    • Created a sleepNights data class to define a database table and it's structure.
    • Made a Data Access Object to define the API for our database, creating mappings between kotlin functions and SQLite queries.
    • I made a room database singleton.
    • ViewModelFactory for dependency injection.
    • Added ViewModels to manage database operations and handle user clicks.
    • Used Coroutines to make sure the database operations don't interfere with a smooth user experience.
    • Implemented Observable state variables to keep UI operations, such as navigation in the fragment.
    opened by Tc2r1 0
  • Moved Project Java to Kotlin (Notepad) into Udacity Main Folder.

    Moved Project Java to Kotlin (Notepad) into Udacity Main Folder.

    Because the git history of this project will become obscure, I'll mention here that the project started off completely Java and the task was to convert it to Kotlin. You can find a history of changes at the beginning of the master branch.

    opened by Tc2r1 0
  • Lifecycle Udacity u9012 dessert pusher

    Lifecycle Udacity u9012 dessert pusher

    Added code to persist data upon application being stopped. Added Timber. Global Code Cleanup

    Notes:

    onCreate: Inflate the activity's UI, whether that's using findViewById or databinding. Initialize variables. Do any other initialization that only happens once during the activity lifetime.

    onStart: Start any sensors, animations or other procedures that need to start when the activity is visible.

    onResume: Start any sensors, animations or other procedures that need to start when the activity has focus (the activity the user is currently interacting with).

    onPause: Stop any sensors, animations or other procedures that should not run when the activity doesn't have focus and is partially obscured. Keep execution fast. The next activity is not shown until this completes.

    onStop: Stop any sensor, animations or other procedures that should not run when the activity is not on screen. You can use this to persist (permanently save) data, which you’ll be learning more about in Lesson 6 Stop logic that updates the UI. This should not be running when the activity is off-screen; it's a waste of resources. There are also restrictions as soon as the app goes into the background,

    onDestroy: Tear down or release any resources that are related to the activity and are not automatically released for you. Forgetting to do this could cause a memory leak!

    opened by Tc2r1 0
Owner
Tc2r
I'm Nudennie. Programming is my Passion, Creation is my goal. Drive is my fuel. Never-Give-Up is my soul.
Tc2r
WhatsApp Android App with almost all features completed

WhatsApp Android App with almost all features completed

Raushan 3 Jun 8, 2022
repository for training UI of Android apps

AndroidUITrain repository for training UI of Android apps 定義されたcolor resourceの意味 使われている部分 color resource 名 ブランド追加ボタンの黒 zozo_black (微妙に真っ黒ではなかった) 画面上部の

みっちゃん 9 Dec 26, 2022
The tasks provided in the perspective of Google's android training project

Dogglers - Starter Code Starter code for the second independent project for Android Basics in Kotlin. Introduction This is the starter code for the Do

Alperen Ekin 0 Dec 15, 2021
An Open-Source Android app for creating training plans and tracking progress

GymRoutines noahjutz.codeberg.page/gymroutines An Open-Source Android app for creating training plans and tracking progress. Screenshots Contributing

Noah 4 Dec 16, 2022
A mobile application to aid coaching and training on League of Legends

Matteo Vettosi's Android Template A simple template for myself to have all my current approaches to Android development at hand when creating a new ap

Matteo Vettosi 1 Oct 4, 2021
Small training project where dagger, dagger hilt and other components are used for clean architecture

LeagueNow ?? LeagueNow is a sample soccer team list Android application ?? built to demonstrate use of modern Android development tools - (Kotlin, Arc

Kevin Serrano 1 Oct 21, 2021
An Application to view recipes of different dishes. I just made it for training and sharpen my skills.

FoodRecipesApplication An Application to view recipes of different dishes. I just made it for training and sharpen my skills. I tried to write a clean

Mahmoud Abdelazim 5 Oct 25, 2022
Android Study Jams - These are applications built for Android Study Jams 2022 at Chitkara University

Project Description These are applications built for Android Study Jams 2022 at

Armaan Jain 3 Sep 16, 2022
Examples of Android applications

Android Demos This is a collection of basic android examples created by Novoda. CarouselFragment CompassExample ContactSelector CustomActivityTransiti

Novoda 2k Dec 16, 2022
An open source application to make your own android applications without coding!

Stif An Open source project for building Android Application at a go both with and without coding. This project was inspired from Scratch and Sketchwa

Nethical org 5 Aug 28, 2021
The application is a PoC that helps in identifying modern bankers, potentially malicious and remote controlling applications abusing Android AccessibilityService.

Motivation Project aims to help in: identifying keyloggers and events hijacking malicious applications such as Anubis/TeaBot, identifying a "fake bank

Krzysztof Pranczk 33 Dec 9, 2022
A plugin for Termux to use native Android GUI components from CLI applications.

Termux:GUI This is a plugin for Termux that enables command line programs to use the native android GUI. In the examples directory you can find demo v

Termux 345 Jan 1, 2023
Changelog - a android library, it helps developers display the history of changes in their applications

Changelog is a android library, it helps developers display the history of changes in their applications. Supports Locales, Layout direction

Amirhosein Barati 2 Aug 1, 2022
Yet another static code analyzer for malicious Android applications

Androwarn Yet another static code analyzer for malicious Android applications Description Androwarn is a tool whose main aim is to detect and warn the

Thomas D. 422 Dec 28, 2022
An Animated Scrolling View for React Native applications, supported on both iOS and Android

react-native-focused-scroll An Animated Scrolling View for React Native applications, supported on both iOS and Android Preview react-native-focus-scr

Fatemeh Marzoughi (Saba) 3 Aug 12, 2022
A framework for building native applications using React

React Native Learn once, write anywhere: Build mobile apps with React. Getting Started · Learn the Basics · Showcase · Contribute · Community · Suppor

Meta 106.9k Jan 8, 2023
This app aims at helping people keep track of their job applications, and remind them regularly about the same.

Applications Tracker Lately I have been applying for many roles, and it has become a hard task to keep track of all the applications. Spreadsheets are

Kartik Pant 4 Feb 20, 2022
Conscrypt Provider app, which can be included from other applications (WIP)

Conscrypt Provider is an APK which can provide the Conscrypt Library to apps that support older Android devices. The Conscrypt Library provides modern

mendhak 8 Oct 1, 2022
StaCoAn is a crossplatform tool which aids developers, bugbounty hunters and ethical hackers performing static code analysis on mobile applications.

StaCoAn Not maintained anymore! Will be archived soon. StaCoAn is a crossplatform tool which aids developers, bugbounty hunters and ethical hackers pe

Vincent Cox 769 Dec 31, 2022