01.01-course preview.mp4
08:27
01.02-installation and introduction.mp4
09:28
01.03-creating a project.mp4
07:26
01.04-using a virtual device.mp4
11:22
01.05-using a physical device.mp4
05:13
01.06-links to resources used.mp4
03:08
02.01-exploring android studio.mp4
11:07
02.02-exploring the manifest.mp4
11:08
02.03-exploring the main activity.mp4
07:42
02.04-exploring the layout.mp4
11:08
02.05-exploring lifecycle methods.mp4
12:17
03.01-linear layout basics view width height sizing and spacing.mp4
11:38
03.02-linear layout basics nested layouts and layout weight.mp4
10:22
03.03-a quick note about minimum sdk targets.mp4
07:36
04.01-motivate me app preview.mp4
01:10
04.02-building our layout part 1.mp4
21:25
04.03-building our layout part 2.mp4
07:28
04.04-writing our main activity part 1.mp4
15:07
04.05-writing our main activity part 2.mp4
09:06
04.06-writing our main activity part 3.mp4
09:46
04.07-writing our main activity part 4.mp4
06:16
05.01-counter app preview.mp4
01:01
05.02-building our layout part 1.mp4
12:17
05.03-building our layout part 2.mp4
16:17
05.04-building our layout part 3.mp4
09:37
05.05-writing our main activity part 1.mp4
11:51
05.06-writing our main activity part 2.mp4
14:55
05.07-writing our main activity part 3.mp4
10:00
06.01-constraint layout basics 1.mp4
07:35
06.02-constraint layout basics 2.mp4
09:52
06.03-constraint layout basics 3.mp4
08:15
07.01-coin flip app preview.mp4
01:37
07.02-building our layout part 1.mp4
21:32
07.03-building our layout part 2.mp4
18:06
07.04-building our layout part 3.mp4
09:50
07.05-writing our main activity part 1.mp4
15:01
07.06-writing our main activity part 2.mp4
17:44
07.07-writing our main activity part 3.mp4
16:54
08.01-diaper tracker app preview.mp4
01:37
08.02-building our layout part 1.mp4
21:33
08.03-building our layout part 2.mp4
12:15
08.04-building our layout part 3.mp4
11:24
08.05-writing our main activity part 1.mp4
17:28
08.06-writing our main activity part 2.mp4
10:12
09.01-shortcomings of our app.mp4
06:08
09.02-onsaveinstancestate.mp4
18:02
09.03-shortcomings of onsaveinstancestate and solutions.mp4
06:14
10.01-why use bindings.mp4
05:31
10.02-motivate me with view binding part 1.mp4
12:30
10.03-motivate me with view binding part 2.mp4
09:21
10.04-counter app with view binding part 1.mp4
14:31
10.05-counter app with view binding part 2.mp4
12:05
11.01-coin flip with data binding part 1.mp4
14:43
11.02-coin flip with data binding part 2.mp4
14:54
11.03-coin flip with data binding part 3.mp4
16:17
11.04-diaper tracker with data binding part 1.mp4
11:42
11.05-diaper tracker with data binding part 2.mp4
12:32
12.01-what is a fragment.mp4
20:05
12.02-setting up multiple fragments.mp4
18:47
12.03-enabling the navigation library.mp4
10:10
12.04-triggering navigation actions.mp4
06:03
12.05-passing data to fragments with safe args.mp4
19:52
13.01-score keeper app preview.mp4
01:55
13.02-building our layout part 1.mp4
15:21
13.03-building our layout part 2.mp4
23:42
13.04-building our layout part 3.mp4
19:22
13.05-building our layout part 4.mp4
11:37
13.06-writing our kotlin part 1.mp4
17:33
13.07-writing our kotlin part 2.mp4
15:45
13.08-writing our kotlin part 3.mp4
15:44
14.01-what is a view model.mp4
15:04
14.02-putting data in a view model.mp4
18:21
14.03-using live data and observers.mp4
18:06
14.04-encapsulating live data.mp4
07:16
14.05-data binding live data.mp4
09:13
14.06-view model factories.mp4
25:51
14.07-wrapping up.mp4
08:45
15.01-click the app preview.mp4
01:40
15.02-click the app part 1.mp4
22:16
15.03-click the app part 2.mp4
26:59
15.04-click the app part 3.mp4
17:26
15.05-click the app part 4.mp4
19:42
15.06-click the app part 5.mp4
16:06
16.01-thank you for completing this course.mp4
02:13
9781803241739 Code.zip