Épisode 40 – Le poireau architecte

Introduction

Yannick et Benjamin reçoivent Christophe Beyls pour parler des architectures components.

 

Téléchargement direct

Addendum

PagedListAdapter n’étend pas ListAdapter mais bien RecyclerView.Adapter. Désolé pour cette mauvaise information ¯\_(ツ)_/¯

Show notes

3:26″ – Articles de Christophe sur Medium : https://medium.com/@BladeCoder
3:31″ – Article plébiscité par Jake Wharton : https://medium.com/@BladeCoder/exploring-kotlins-hidden-costs-part-1-fbb9935d9b62
3:53″Free & Open Source Developer European Meeting (FOSDEM) : https://fosdem.org/
4:00″Brussels International Fantastic Film Festival (BIFFF) : http://www.bifff.net/fr/
4:38″ – Chris Banes : https://github.com/chrisbanes
5:10″ – Loader : https://developer.android.com/reference/android/support/v4/content/Loader
5:12″ – Fragment : https://developer.android.com/reference/android/support/v4/app/Fragment
5:41″ – Repo git des support libraries : https://android.googlesource.com/platform/frameworks/support.git
8:00″ – Google IO Extended à Bruxelles : https://www.meetup.com/fr-FR/gdg-brussels/events/248235907/
8:20″ – Developer Keynote à Google IO 2018 : https://www.youtube.com/watch?v=flU42CTF3MQ
9:00″ – Slice : https://developer.android.com/reference/android/app/slice/Slice & https://developer.android.com/reference/androidx/slice/Slice
12:03″ – Android Jetpack : https://developer.android.com/jetpack/
14:48″ – RxJava : https://github.com/ReactiveX/RxJava
16:07″ – AsyncTask : https://developer.android.com/reference/android/os/AsyncTask
16:58″ – Lifecycle : https://developer.android.com/reference/android/arch/lifecycle/Lifecycle
16:59″ – LiveData : https://developer.android.com/reference/android/arch/lifecycle/LiveData
20:28″ – IllegalStateException avec FragmentTransaction.commit() :  https://developer.android.com/reference/android/support/v4/app/FragmentTransaction#commit
20:46″ – FragmentTransaction.commitNowAllowingStateLoss() : https://developer.android.com/reference/android/support/v4/app/FragmentTransaction#commitnowallowingstateloss
24:18″ – Adaptateur RxJava vers LiveData : https://developer.android.com/reference/android/arch/lifecycle/LiveDataReactiveStreams
26:30″ – DataBinding : https://developer.android.com/topic/libraries/data-binding/
27:06″ – Bug du Lifecycle dans les fragments : https://medium.com/@BladeCoder/architecture-components-pitfalls-part-1-9300dd969808
37:16″ – Différents états possibles du Lifecycle : https://developer.android.com/reference/android/arch/lifecycle/Lifecycle.Event
38:44″ – ViewModel : https://developer.android.com/reference/android/arch/lifecycle/ViewModel
39:43″ – ViewModelProvider : https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider
41:29″ – ViewModel.onCleared() : https://developer.android.com/reference/android/arch/lifecycle/ViewModel#oncleared
42:04″ – MVVM : https://fr.wikipedia.org/wiki/Modèle-vue-vue_modèle
46:35″ – MutableLiveData : https://developer.android.com/reference/android/arch/lifecycle/MutableLiveData
46:40″ – Transformations.switchMap() : https://developer.android.com/reference/android/arch/lifecycle/Transformations.html#switchMap(android.arch.lifecycle.LiveData%3CX%3E,%20android.arch.core.util.Function%3CX,%20android.arch.lifecycle.LiveData%3CY%3E%3E)
47:18″ – Code du sample Google : https://github.com/googlesamples/android-architecture-components/blob/master/GithubBrowserSample/app/src/main/java/com/android/example/github/ui/repo/RepoViewModel.kt#L36-L41
48:55″ – MediatorLiveData : https://developer.android.com/reference/android/arch/lifecycle/MediatorLiveData
48:58″ – Transformations.map() & Transformations.switchMap() : https://developer.android.com/reference/android/arch/lifecycle/Transformations
50:47″ – Debounce : http://reactivex.io/documentation/operators/debounce.html
51:43″ – Modules KTX : https://developer.android.com/kotlin/ktx
1:00:34″ – Example de Google sur comment injecter ses ViewModels : https://github.com/googlesamples/android-architecture-components/blob/master/GithubBrowserSample/app/src/main/java/com/android/example/github/viewmodel/GithubViewModelFactory.kt
1:00:56″ – Room : https://developer.android.com/topic/libraries/architecture/room
1:01:18″ – Realm : https://realm.io/
1:01:19″ – ObjectBox : https://objectbox.io/
1:03:54″ – Virtual tables : https://www.sqlite.org/vtab.html
1:04:26″ – Relations dans Room : https://android.jlelse.eu/android-architecture-components-room-relationships-bf473510c14a
1:05:00″ – Room.inMemoryDatabaseBuilder() : https://developer.android.com/reference/android/arch/persistence/room/Room#inmemorydatabasebuilder
1:06:17″ – SQLDelight : https://github.com/square/sqldelight
1:07:44″ – Cupboard : https://bitbucket.org/littlerobots/cupboard/wiki/Home
1:08:56″ – Paging library : https://developer.android.com/topic/libraries/architecture/paging/
1:09:56″ – PagedListAdapter : https://developer.android.com/reference/android/arch/paging/PagedListAdapter
1:10:58″ – Vidéo de Florina sur la Paging library : https://www.youtube.com/watch?v=CKr5JKmqmTI
1:11:20″ – DataSource : https://developer.android.com/reference/android/arch/paging/DataSource
1:11:28″ – PositionalDataSource : https://developer.android.com/reference/android/arch/paging/PositionalDataSource.html
1:11:44″ – PageKeyedDataSource : https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource
1:12:07″ – Exemple sur Paging Library avec Retrofit : https://github.com/googlesamples/android-architecture-components/tree/master/PagingWithNetworkSample
1:12:18″ – PagedList : https://developer.android.com/reference/android/arch/paging/PagedList
1:12:38″ – LivePagedListBuilder : https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder
1:12:53″ – RxPagingLibrary : https://developer.android.com/topic/libraries/architecture/paging/#ex-observe-rxjava2
1:15:09″ – PagingRequestHelper : https://github.com/googlesamples/android-architecture-components/blob/master/PagingWithNetworkSample/app/src/main/java/android/arch/paging/PagingRequestHelper.java
1:18:17″ – CountDownLatch : https://developer.android.com/reference/java/util/concurrent/CountDownLatch
1:19:00″ – Rules JUnit pour les LiveData : https://developer.android.com/reference/android/arch/core/executor/testing/InstantTaskExecutorRulehttps://developer.android.com/reference/android/arch/core/executor/testing/CountingTaskExecutorRule
1:19:58″ – Navigation : https://developer.android.com/topic/libraries/architecture/navigation/
1:21:15″ – NavDestination : https://developer.android.com/reference/androidx/navigation/NavDestination
1:22:41″ – NavController : https://developer.android.com/reference/androidx/navigation/NavController
1:23:12″ – Magellan : https://androidleakspodcast.com/2017/05/07/episode-19-le-cycle-du-poireau-partie-1/
1:24:44″ – Passer des arguments de façon type-safe : https://developer.android.com/topic/libraries/architecture/navigation/navigation-implementing#Safe-args
1:25:42″ – ContextWrapper : https://developer.android.com/reference/android/content/ContextWrapper
1:28:04″ – Material Design Components : https://material.io/develop/android/
1:28:08″ – NavigationView : https://developer.android.com/reference/android/support/design/widget/NavigationView
1:28:10″ – BottomNavigationView : https://developer.android.com/reference/android/support/design/widget/BottomNavigationView
1:28:50″ – AppCompatActivity.onSupportNavigateUp() : https://developer.android.com/reference/android/support/v7/app/AppCompatActivity#onsupportnavigateup
1:30:31″ – WorkManager : https://developer.android.com/topic/libraries/architecture/workmanager
1:30:45″ – JobScheduler : https://developer.android.com/reference/android/app/job/JobScheduler
1:30:53″ – Firebase JobDispatcher : https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher
1:36:50″ – Android Priority JobQueue : https://github.com/yigit/android-priority-jobqueue
1:38:49″ – AlarmManager : https://developer.android.com/reference/android/app/AlarmManager
1:41:15″ – Jetifier : https://android-developers.googleblog.com/2018/05/android-studio-3-2-canary.html
1:47:46″ – marginTopWhenGone : https://developer.android.com/reference/android/support/constraint/ConstraintLayout#VisibilityBehavior
1:48:52″ – Moshi : https://github.com/square/moshi
1:48:55″ – Gson : https://github.com/google/gson

Contact

@BladeCoder

@Xzan

@TheYann