= Android / Kotlin Lecture Notes
:author: Thomas W. Stütz
:revnumber: 1.0.0
:revdate: {docdate}
:revremark: NVS 4th and 5th grade HTL Leonding Vocational College
:encoding: utf-8
:experimental:
ifndef::imagesdir[:imagesdir: images]
//:toc-placement!:  // prevents the generation of the doc at this position, so it can be printed afterwards
:source-highlighter: rouge
:sourcedir: ../src/main/java
:icons: font
:sectnums:    // Nummerierung der Überschriften / section numbering
:toc: left
:toclevels: 5  // this instructions MUST set after :toc:
:linkattr:  // to be sure to process ", window="_blank""

//Need this blank line after ifdef, don't know why...
ifdef::backend-html5[]

// https://fontawesome.com/v4.7.0/icons/
icon:file-text-o[link=https://raw.githubusercontent.com/htl-leonding-college/android-classroom-course/main/asciidocs/{docname}.adoc] ‏ ‏ ‎
icon:github-square[link=https://github.com/htl-leonding-college/android-classroom-course] ‏ ‏ ‎
icon:home[link=https://htl-leonding-college.github.io/android-classroom-course]
endif::backend-html5[]

// print the toc here (not at the default position)
//toc::[]


== Sources

* https://www.youtube.com/watch?v=_aJsh6P00c0[What’s new in Room (Android Dev Summit '19)^]
* https://www.droidcon.com/2019/08/07/coroutine-flow-mvi/?video=362742098[Coroutine + Flow = MVI^]
* https://youtu.be/Qxj2eBmXLHg[What's new in architecture components (Google I/O'19)^]




== DataStore

* replaces SharedPreferences
* key/value-pairs

* https://www.youtube.com/watch?v=9ws-cJzlJkU&list=PLWz5rJ2EKKc8to3Ere-ePuco69yBUmQ9C&index=1[DataStore - MAD Skills]



== Flow

* https://developer.android.com/kotlin/flow[Kotlin flows on Android^]
** https://youtu.be/fSB6_KE95bU[Kotlin Flows in practice^]



== Mealz App

* use retrofit for consuming a REST- Api (w/ coroutines)

<<mealz-app.adoc#_mealz_app, Mealz App>>



































































































[source,javascript]
----

----








[source,javascript]
----

----







[source,javascript]
----

----








[source,javascript]
----

----







[source,javascript]
----

----








[source,javascript]
----

----







[source,javascript]
----

----








[source,javascript]
----

----







[source,javascript]
----

----








[source,javascript]
----

----







[source,javascript]
----

----








[source,javascript]
----

----







[source,javascript]
----

----








[source,javascript]
----

----







[source,javascript]
----

----








[source,javascript]
----

----







[source,javascript]
----

----








[source,javascript]
----

----







[source,javascript]
----

----








[source,javascript]
----

----







[source,javascript]
----

----








[source,javascript]
----

----







[source,javascript]
----

----








[source,javascript]
----

----







[source,javascript]
----

----








[source,javascript]
----

----








[source,shell]
----

----

