Mind Map generated by NB MindMap plugin   
> __version__=`1.1`,showJumps=`true`
---

# Android Docs

## Room

### CodeLab
- LINK
<pre>https://developer.android.com/codelabs/android-room-with-a-view-kotlin#0</pre>

### 7 Pro Tips
- LINK
<pre>https://medium.com/androiddevelopers/7-pro-tips-for-room-fbadea4bfbd1</pre>

#### Populate DB on Start
- NOTE
<pre>Auto insert User?</pre>

##### Docs
- LINK
<pre>https://developer.android.com/training/data-storage/room/prepopulate</pre>

#### @Relation
- NOTE
<pre>For User and dogs at least</pre>

### Testing
- LINK
<pre>https://medium.com/androiddevelopers/using-and-testing-room-kotlin-apis-4d69438f9334</pre>

### Relations

#### Dog Example
- LINK
<pre>https://medium.com/androiddevelopers/database-relations-with-room-544ab95e4542</pre>

##### Junction
- LINK
<pre>https://developer.android.com/reference/androidx/room/Junction</pre>

#### Dev Docs
- LINK
<pre>https://developer.android.com/training/data-storage/room/relationships</pre>

#### Foreign Keys
- LINK
<pre>https://developer.android.com/reference/androidx/room/ForeignKey</pre>

## AndroidX relases<br/>\(version numbers\)
- LINK
<pre>https://developer.android.com/jetpack/androidx/versions</pre>

## Kotlin
> leftSide=`true`


### CoRoutines

#### CodeLab
- LINK
<pre>https://developer.android.com/codelabs/kotlin-coroutines#0</pre>

#### LiveData \+ Flow
> leftSide=`true`

- LINK
<pre>https://developer.android.com/codelabs/advanced-kotlin-coroutines#0</pre>

##### comparison
- LINK
<pre>https://medium.com/android-dev-hacks/exploring-livedata-and-kotlin-flow-7c8d8e706324</pre>

##### from LiveData to Flow
> leftSide=`true`,mmd.emoticon=`hand_point`

- LINK
<pre>https://medium.com/androiddevelopers/migrating-from-livedata-to-kotlins-flow-379292f419fb</pre>

###### When exposing UI state to a view, <br/>use StateFlow\. It’s a safe and efficient<br/>observer designed to hold UI state\.

###### This new coroutine builder<br/>\(available from lifecycle\-runtime\-ktx 2\.4\.0\-alpha01\)<br/>does exactly what we need: it starts coroutines <br/>at a particular state and it stops them<br/>when the lifecycle owner falls below it\.
> leftSide=`true`


### Courses
> leftSide=`true`


#### Udacity Bootcamp
- LINK
<pre>https://www.udacity.com/course/kotlin-bootcamp-for-programmers--ud9011</pre>

##### Android Developer
- LINK
<pre>https://www.udacity.com/course/android-kotlin-developer-nanodegree--nd940</pre>

#### Fundamental
- LINK
<pre>https://developer.android.com/courses/kotlin-android-fundamentals/overview</pre>

#### Advanced
> leftSide=`true`

- LINK
<pre>https://developer.android.com/codelabs/advanced-android-kotlin-training-welcome#0</pre>

## Testing
> collapsed=`true`,leftSide=`true`


### Kotlin Test
> collapsed=`true`,leftSide=`true`


#### KTor

#### KotlinJS
> leftSide=`true`


### JUnit
> collapsed=`true`,leftSide=`true`


#### JUnit4
- LINK
<pre>https://junit.org/junit4/</pre>

#### Hamcrest
> leftSide=`true`

- LINK
<pre>http://hamcrest.org/JavaHamcrest/</pre>

#### Truth
> leftSide=`true`

- LINK
<pre>https://truth.dev/</pre>

### Android Testing
> collapsed=`true`,leftSide=`true`

- LINK
<pre>https://developer.android.com/training/testing</pre>

#### Android Codelabs
> collapsed=`true`


##### Andriod Testing Codelab
- LINK
<pre>https://developer.android.com/codelabs/advanced-android-kotlin-training-testing-basics#0</pre>

##### Test Doubles and dependency injectio
> leftSide=`true`

- LINK
<pre>https://developer.android.com/codelabs/advanced-android-kotlin-training-testing-test-doubles#0</pre>

#### UI Testin
- LINK
<pre>https://developer.android.com/training/testing/ui-testing</pre>

#### Run Test on FireBase
> leftSide=`true`

- LINK
<pre>https://firebase.google.com/docs/test-lab/</pre>

## Documentation
> leftSide=`true`


### Dokka
- LINK
<pre>https://kotlinlang.org/docs/kotlin-doc.html</pre>

### Logging
> leftSide=`true`


#### Timber
- LINK
<pre>https://github.com/JakeWharton/timber</pre>

## Dependency Injection

### Hilt

#### Codelab
- LINK
<pre>https://developer.android.com/codelabs/android-hilt#0</pre>

#### Homepage Hilt
- LINK
<pre>https://dagger.dev/hilt/gradle-setup.html</pre>

### Kodein
- NOTE
<pre>Works on 
JS
JVM
Android</pre>

### Koin

## Kotlin Libraries

### Serialization

#### KotlinX Guide
- LINK
<pre>https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/serialization-guide.md</pre>

### datetime
- LINK
<pre>https://github.com/Kotlin/kotlinx-datetime</pre>

## Design
> leftSide=`true`


### Theming

#### Codelab
- LINK
<pre>https://codelabs.developers.google.com/codelabs/mdc-103-kotlin/#0</pre>

#### UnderstandColors
> leftSide=`true`

- NOTE
<pre>See Android Project</pre>

#### Color Tool
> leftSide=`true`

- LINK
<pre>https://material.io/resources/color/#!/?view.left=0&amp;view.right=0&amp;primary.color=C5E1A5&amp;secondary.color=AFB42B</pre>

#### Material Palette
> leftSide=`true`

- LINK
<pre>https://www.materialpalette.com/light-green/orange</pre>

### Compose

#### Tutorial
- LINK
<pre>https://developer.android.com/courses/pathways/compose</pre>

### ViewBinding
> leftSide=`true`

- LINK
<pre>https://developer.android.com/topic/libraries/view-binding</pre>

### Settings Fragment
> leftSide=`true`

- LINK
<pre>https://developer.android.com/guide/topics/ui/settings</pre>
