Section 1 : Introduction and Course Information

lecture 1 INTRODUCTION TO BRAINMEASURES PROCT Pdf
lecture 2 About Certification Pdf
lecture 3 Introduction to Android 18:55
lecture 4 FAQ Text

Section 2 : Downloading and Installing the Necessary Tools

lecture 5 Windows - Install Android Studio 11:0
lecture 6 Install Android Studio 6:5
lecture 7 Linux - Install Android Studio 11:20
lecture 8 Configure Android SDK on all Three Platforms 11:44
lecture 9 Android Studio Settings 2:41
lecture 10 Enable VT-X in BIOS 12:59

Section 3 : Hello World Android App

lecture 11 Your Programming Careers Questions Answered 1:8
lecture 12 Access to Programming Career Q&A Text
lecture 13 Introduction 0:23
lecture 14 Android Studio Templates 7:38
lecture 15 FAQ Templates in Android Studio 3.6 and later Text
lecture 16 More on Android Templates 8:4
lecture 17 Hello World 12:14
lecture 18 Tour of Android Studio 16:13
lecture 19 Setting Up a Virtual Device 14:53
lecture 20 FAQ Emulators on Windows 10 with AMD processo Text
lecture 21 Running on an emulator 9:30
lecture 22 Running on a physical Android device 12:7

Section 4 : Kotlin Tutorials

lecture 23 FAQ for Android Studio 3.3 Text
lecture 24 Kotlin Tutorial Setup 10:15
lecture 25 Kotlin Tutorial 1 8:49
lecture 26 Variables and Types 11:1
lecture 27 More on Variables and Types 11:32
lecture 28 String Concatenation and Interpolation 12:15
lecture 29 val and var and more on Declarations 9:50
lecture 30 Conditions 17:31
lecture 31 Classes 19:14
lecture 32 Objects and Instances 14:33
lecture 33 Challenge 6:6
lecture 34 Android App Development Masterclass using Kotl 10:7
lecture 35 More on Lists 11:42
lecture 36 toString Challenge 4:6
lecture 37 for Loops 13:44
lecture 38 for Encapsulation and Private Properties 13:2
lecture 39 Overloading Functions 7:52
lecture 40 Inheritance 12:17
lecture 41 More on Inheritance
lecture 42 Inheritance Continued 8:53
lecture 43 Further Inheritance 9:31
lecture 44 while Loops 13:55
lecture 45 for Loop Revisited 9:28
lecture 46 do while Loop 4:52
lecture 47 Loop Challenge 12:7

Section 5 : The Button Counter App

lecture 48 Introduction 2:9
lecture 49 Setup Play Project 11:2
lecture 50 The Constraint Layout 16:42
lecture 51 Constraints and Resizing 14:55
lecture 52 Positioning Widgets 7:29
lecture 53 Inner Lines within a Widget 9:14
lecture 54 Layouts on Different Devices 10:43
lecture 55 More on the Constraints 12:14
lecture 56 Layout Designer rendering error Text
lecture 57 FAQ Baseline Constraints change Text
lecture 58 Baseline Constraints 9:37
lecture 59 Constraining Widgets 5:17
lecture 60 Add Scrolling Capabilities 13:10
lecture 61 The Button Counter App 14:21
lecture 62 Finish Layout 12:1
lecture 63 Coding Button Counter App 13:30
lecture 64 findViewById and r Class 12:26
lecture 65 Events and setonclicklistener 7:32
lecture 66 Testing and Challenge Time 13:52
lecture 67 Extending the Button App 10:15
lecture 68 Testing and Challenge 6:37
lecture 69 Fixing Kotlin Gradle Issues 3:38
lecture 70 The Activity Lifecycle 14:56
lecture 71 The Logcat Pane 8:45
lecture 72 Logging the Activity Lifecycle 9:13
lecture 73 Activity Lifecycle in Action 14:12
lecture 74 Saving and Restoring Instance State 14:43

Section 6 : Calculator App

lecture 75 Demo Calculator App 4:35
lecture 76 Calculator Interface Setup 15:19
lecture 77 Continue with Interface 15:54
lecture 78 Fine Tuning the Layout 14:57
lecture 79 Create Landscape Layout 8:25
lecture 80 Comparing FIles with Diff 16:37
lecture 81 Comparing Directories 8:11
lecture 82 Coding the Calculator 22:41
lecture 83 Add onClickListeners 6:42
lecture 84 Write Perform Operation Function 16:27
lecture 85 Bug Fix and Code Improvements 13:45
lecture 86 Bug Fix Challlenge and Save State 19:21
lecture 87 Widget References in Kotlin 7:5
lecture 88 Guidelines 13:31
lecture 89 Fixing Landscape Layout 12:8
lecture 90 Add Neg Button to Layout 6:58
lecture 91 Code Changes for Neg Button 8:9
lecture 92 Add Neg Button to Portrait 18:13

Section 7 : The Top 10 Downloader App

lecture 93 Introduction 10:19
lecture 94 AsyncTask 14:9
lecture 95 Logging and Logcat 8:41
lecture 96 Important note for API 28 (and higher) and the Text
lecture 97 Download the RSS Feed 14:15
lecture 98 Reading the Data 19:15
lecture 99 Android Permissions 19:35
lecture 100 Writing Idiomatic Kotlin 14:42
lecture 101 More Idiomatic Kotlin 6:33
lecture 102 Parsing the Data 18:36
lecture 103 Create Xml Parse Function 14:40
lecture 104 Testing the App 9:43
lecture 105 ListView and ArrayAdapter 12:53
lecture 106 Code Changes for Array Adapter 16:26
lecture 107 onDestroy and Asynctask 6:55
lecture 108 Create Custom Adapter 11:16
lecture 109 Custom Adapter Code 16:46
lecture 110 Improving the Adapter 12:19
lecture 111 ViewHolder Pattern. 11:50
lecture 112 Adding a Menu - Layout 8:39
lecture 113 Adding A Menu - Code 15:32
lecture 114 Menu Groups - Layout 9:9
lecture 115 Menu Groups - Code 15:31
lecture 116 Challenge Solution 15:14

Section 8 : The YouTube app

lecture 117 Setup 17:26
lecture 118 YouTube Activity 13:9
lecture 119 Adding Widgets Dynamically 9:36
lecture 120 Google API Key 11:21
lecture 121 Add Key to Code 7:37
lecture 122 The YouTube Player 13:9
lecture 123 onInitializationSuccess Method 12:47
lecture 124 Adding Listeners 10:22
lecture 125 Improving the Player 6:5
lecture 126 Extending App Layouts 5:5
lecture 127 Extending Youtube App Code
lecture 128 Implementing Intents and Challenge 17:29
lecture 129 Challenge Solution 4:51
lecture 130 More Error Handling 14:38

Section 9 : Flickr Browser App

lecture 131 Introduction 3:45
lecture 132 Flick App and Feeds 15:11
lecture 133 Json and Mini challenge 13:15
lecture 134 Log Tag and Companion Objects 15:14
lecture 135 Kotlin top-level constants Text
lecture 136 Download JSON - doInBackground 11:48
lecture 137 Downloading the JSON 13:11
lecture 138 CallBacks 15:49
lecture 139 Project Diagram and Photo Class 7:55
lecture 140 GetFlickJsonData class. 19:38
lecture 141 GetFlickrJsonData class continued 18:13
lecture 142 Uri Builder 11:37
lecture 143 Flickr Browser User Inferface 11:46
lecture 144 RecyclerView Layouts 14:49
lecture 145 Finishing Browse Layout 5:22
lecture 146 Search and PhotoDetail Activities 8:20
lecture 147 Nested Layouts 15:29
lecture 148 Recyclerview Adapter 16:58
lecture 149 onBindViewHolder and Picasso 13:50
lecture 150 Associate Adapter to Recyclerview 6:35
lecture 151 RecyclerItemClickListener 18:24
lecture 152 GestureDetector 15:16
lecture 153 Displaying the full photo 15:35
lecture 154 Serializable 16:29
lecture 155 Modify Photo Details Activity 5:36
lecture 156 Update for later version of Kotlin Text
lecture 157 Parcelable 8:46
lecture 158 Material Design 13:37
lecture 159 More on Material Design 9:29
lecture 160 AppCompat - Backwards Compatibility 6:15
lecture 161 Style Sheets 11:30
lecture 162 Custom Style Sheets 12:39
lecture 163 Namespaces 11:43
lecture 164 Other Material Design Changes 10:21
lecture 165 Missing Style Editor video Text
lecture 166 Differences in API Levels 8:41
lecture 167 String Resources
lecture 168 String Resources Placeholders 10:12
lecture169 Adding the Search Feature 4:35
lecture 170 SearchView 12:44
lecture 171 More on SearchView 11:45
lecture 172 SearchView Events 9:7
lecture 173 Deprecation of framework Text
lecture 174 SharedPreferences 10:2
lecture 175 Telling Fibs 8:14

Section 10 : Databases, the SQL Language and SQLite on Android

lecture 176 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM Pdf
lecture 177 Introduction to Databases 4:48
lecture 178 Database Terminology 10:19
lecture 179 Command Line and Path Setup for Windows 9:23
lecture 180 Command Line and Path Setup for Mac 7:42
lecture 181 Command Line and Path Setup for Ubuntu Linux 5:45
lecture 182 Introduction to Sqlite 10:48
lecture 183 More SQL with Sqlite 10:28
lecture 184 Sqlite Querying Data 15:40
lecture 185 Order By and Joins 12:58
lecture 186 More Complex Joins 11:29
lecture 187 Wild Cards and Views 14:56
lecture 188 Housekeeping and Challenge 14:5
lecture 189 Basic SQL in Android 10:4
lecture 190 Create Table Add Data and Test 11:24
lecture 191 Cursor and Navigation 17:26
lecture 192 Correction Text
lecture 193 Android File System 16:6
lecture 194 Content Providers 2:37
lecture 195 Setting up the Emulators 11:19
lecture 196 Contact Provider App Layout 7:27
lecture 197 The ContactsContract 9:56
lecture 198 ContentResolver and Abstraction 8:22
lecture 199 Retrieving Data with a ContentResolver 9:14
lecture 200 Permissions 13:8
lecture 201 Checking Permissions at Runtime 14:42
lecture 202 Testing the App 8:58
lecture 203 Avoiding Crashes Snackbars and a Challenge 7:41
lecture 204 More on Snackbars 10:37
lecture 205 Intents, setData and Uris 14:18
lecture 206 Problems Storing State 5:56
lecture 207 Remove Saving of State 4:9
lecture 208 Test Scripts Challenge and Cleanup 6:48

Section 11 : ViewModel and LiveData

lecture 209 Introduction 2:0
lecture 210 Androids ViewModel Class 3:52
lecture 211 FAQ Changes to the Lifecycle Components libra Text
lecture 212 Using a ViewModel 13:23
lecture 213 Finish ViewModel Changes 20:33
lecture 214 Exposing LiveData 8:19
lecture 215 Swapping the ViewModel 7:29
lecture 216 ViewModel with Top 10 Downloader 10:8
lecture 217 Implement ViewModel 15:44
lecture 218 Final Changes 10:1
lecture 219 App Testing 4:12

Section 12 : TaskTimer App

lecture 220 The TaskTimer Application 18:0
lecture 221 Database Setup 11:33
lecture 222 Creating a Fragment Text
lecture 223 Tasks Contract Class 6:47
lecture 224 AppDatabase Class 8:58
lecture 225 Create SQL for Tasks Table 8:17
lecture 226 Singleton AppDatabase Class 10:43
lecture 227 onUpgrade and Testing 11:47
lecture 228 The ContentProvider 17:33
lecture 229 FAQ context in a ContentProvider Text
lecture 230 uriMatcher 17:24
lecture 231 Updating Build Files 3:1
lecture 232 The Content URI 11:50
lecture 233 Register the ContentProvider 11:38
lecture 234 Using appendWhereEscapeString 12:2
lecture 235 Mime Types in the Content Provider 8:44
lecture 236 Content Provider Insert 8:52
lecture 237 Update and Delete 11:51
lecture 238 Testing Insert and Update 12:22
lecture 239 Testing Bulk Update and Delete 14:26
lecture 240 Main Menu UI 15:11
lecture 241 Task UI Layout 14:19
lecture 242 Task List Items Constraints 5:35
lecture 243 Add Edit Layout 16:35
lecture 244 The Kotlin Data Class 12:3
lecture 245 The Add Edit Fragment 18:23
lecture 246 Swapping Fragments 12:28
lecture 247 Multi-pane Fragments 13:2
lecture 248 Multi-pane Displays 15:33
lecture 249 Enabling Two-pane Mode 10:18
lecture 250 The Fragment Lifecycle Part 1 12:30
lecture 251 The Fragment Lifecycle Part 2 7:29
lecture 252 Logging the Fragment Lifecycle 14:36
lecture 253 Android SDK Gradle and Kotlin Updates 11:15
lecture 254 Up and Back Navigation for Fragments 7:27
lecture 255 Object can have More than One Type 3:25
lecture 256 Removing the Up Button 6:12
lecture 257 Back Navigation 6:25
lecture 258 Completing the AddEdit UI 9:59
lecture 259 Saving the Task Details 10:11
lecture 260 Test Saving 7:13
lecture 261 Updating Android Studio, Kotlin, and Gradle 4:14
lecture 262 Fixing New Kotlin Warnings 4:26
lecture 263 Layout Container 6:41
lecture 264 RecyclerView CursorAdapter 15:56
lecture 265 Introducing David Reidy 1:35
lecture 266 Tricky String Resources 11:42
lecture 267 The ViewModel Class 6:44
lecture 268 Subscribe to The ViewModel 3:7
lecture 269 Notifications and Observers 9:6
lecture 270 Responding to Taps 4:18
lecture 271 onClick Listeners, Interfaces and Callbacks 2:30
lecture 272 Responding to Clicks from the Adapter 4:12
lecture 273 Solution to The Interface Challenge 5:34
lecture 274 Deleting a Task from The Database 9:39
lecture 275 Accessing a Database on a Background Thread 9:39
lecture 276 Background Processing Using a Coroutine 4:16
lecture 277 Clean Up AddEditFragment 8:37
lecture 278 Saving in The ViewModel 4:58
lecture 279 Sharing ViewModel Instances 5:20

Section 13 : Dialogs

lecture 280 AndroidX 13:49
lecture 281 Introduction to Dialogs 4:4
lecture 282 AppDialog Class Part 1 15:32
lecture 283 AppDialog Class Part 2 8:24
lecture 284 Adding a Dialog to The App 5:31
lecture 285 Dialog CallBacks 11:20
lecture 286 Asserts and BuildConfig
lecture 287 Strange Dialog Behavior 5:33
lecture 288 Confirming Exit Without Saving 7:38
lecture 289 Implementing the Interface 4:0
lecture 290 Kotlin Extension Functions 8:26
lecture 291 Image Asset Studio 13:15
lecture 292 Create an About Dialog the Layout Part 1 10:30
lecture 293 Create an About Dialog the Layout Part 2 11:15
lecture 294 Displaying the About Dialog 11:47
lecture 295 Versioning and build.gradle 7:46
lecture 296 Dismissing the Dialogue 8:41
lecture 297 Supporting Older Versions 8:14
lecture 298 Compatibility Challenge Solution Part 1 14:39
lecture 299 Compatibility Challenge Solution Part 2 11:57

Section 14 : Settings Dialog

lecture 300 Introduction 2:47
lecture 301 Settings Dialog Layout 10:34
lecture 302 Settings Dialog 3:45
lecture 303 DefaultSharedPreferences 7:8
lecture 304 SeekBar Values 7:49
lecture 305 Quantity String Resources 9:11
lecture 306 Setting Dialog Title 3:19
lecture 307 Retain Instance State 5:47

Section 15 : Multiple Tables and Database Upgrades

lecture 308 Introduction 3:56
lecture 309 A Correction and the Device File Explorer 6:52
lecture 310 Database Updates 11:20
lecture 311 Saving the Timing Data 5:56
lecture 312 The saveTiming Function 3:57
lecture 313 Testing Timings 3:14
lecture 314 Providing Feedback 4:37
lecture 315 Correction to the Providing Feedback lecture Text
lecture 316 Data Loss 3:38
lecture 317 Storing the Current Timing Records 3:45
lecture 318 Solution - Retrieving the Current Time Record 4:28
lecture 319 Solution Continued 1:45
lecture 320 Finish Solution and Test 6:22
lecture 321 When the Battery Dies 6:7

Section 16 : Reports

lecture 322 Creating Test Data 12:25
lecture 323 Generating the Test Data 3:18
lecture 324 Debug and Release Builds 9:42
lecture 325 Using a SQLite view 11:29
lecture 326 Adding the view to the Database 7:31
lecture 327 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM Pdf
lecture 328 Testing the Database Upgrade 6:50
lecture 329 ConstraintLayout Chains 8:30
lecture 330 Chain Types 11:48
lecture 331 Finishing the reports layouts - challenge 9:56
lecture 332 The Landscape Layouts 8:34
lecture 333 The Report Adapter 10:25
lecture 334 The Durations Report Activity 11:29
lecture 335 Testing Different Locales 6:21
lecture 336 Creating the reports ViewModel 6:12
lecture 337 Using the DurationsViewModel 2:11
lecture 338 Sorting the Report Data 6:22
lecture 339 Vector Drawables and Asset Studio 12:48
lecture 340 The Report Menu 5:7
lecture 341 Report Menu Code - dayweek toggle 7:16
lecture 342 The DatePickerDialog 15:5
lecture 343 Filtering by Date 5:39
lecture 344 Filtering in the DurationsViewModel 9:53
lecture 345 Testing the Report Filters 7:13
lecture 346 Unbuggy DatePickerDialog 9:21
lecture 347 Deleting old Timings data 9:6
lecture 348 Testing Mass Deletion 3:17
lecture 349 Observing the cursor in the ViewModel 4:1
lecture 350 A Minor Bug 4:45
lecture 351 Observing a Configuration Change 8:49
lecture 352 Testing the Bug Fix 7:44
lecture 353 Using the First Day Of Week Setting 5:56
lecture 354 Taking Advantage of Later Features 4:2
lecture 355 Testing the new DatePickerFragment 3:45
lecture 356 Observing SharedPreference changes 6:49
lecture 357 Solution to Ignore Short Timings Challenge 9:15

Section 17 : Tidying up

lecture 358 Introduction
lecture 359 Plugin and Library Versions 6:4
lecture 360 Code Review 7:22
lecture 361 Code Review - The AppProvider Class 9:5
lecture 362 Code Review - CursorRecyclerViewAdapter, Dur 8:2
lecture 363 Code Review - MainActivity and the Contract 5:20
lecture 364 Kotlin and ViewModels 9:35
lecture 365 Another Breaking Change 5:9
lecture 366 Improvements to coroutines in a ViewModel 5:38
lecture 367 Dispatchers 3:27
lecture 368 Coroutines Don’t Block 7:36
lecture 369 Bug Fixes and Ideas for Improvements 5:45
lecture 370 Prevent Deletion of Edited Task 10:9
lecture 371 Implementing Delete by Swiping - Part 1 7:36
lecture 372 Implementing Delete by Swiping - Part 2 5:52
lecture 373 Implementing Delete by Swiping - Part 3 7:53
lecture 374 Challenge - Bug Fix 5:16
lecture 375 Challenge - Deleting a task that's being time 5:8
lecture 376 About Certification Pdf
lecture 377 Adding the Parameters Table 8:8
lecture 378 Using the Parameterised View in our ViewModel 10:33
lecture 379 Refreshing the Report 2:25
lecture 380 Collation 3:28

Section 18 : Extra Information - Source code, and other stuff

lecture 381 Source Code Text