Slide 1

Slide 1 text

Android 11 and the Future Aung Kyaw Paing Mobile Development Team Lead nexlabs

Slide 2

Slide 2 text

1. Android 11 2. Android Studio 3. Modern Android Development

Slide 3

Slide 3 text

Android 11

Slide 4

Slide 4 text

1. Built-in screen recording 2. New Media Control 3. Smart Reply 4. Conversations User-sided features

Slide 5

Slide 5 text

Developer sided Features

Slide 6

Slide 6 text

Bubbles - Started from Notification panel - OS-level support

Slide 7

Slide 7 text

Slide 8

Slide 8 text

Slide 9

Slide 9 text

Slide 10

Slide 10 text

Slide 11

Slide 11 text

Conversations - Show at the top under seperate section - Can promote to bubble - Conversation-specific actions - Mark as priority - Promote to bubble - Silence notification - Custom sounds/vibrations

Slide 12

Slide 12 text

Slide 13

Slide 13 text

WindowInsets - Can listen to WindowInsets animations - Can show keyboard easily - Will be added to appcompat later

Slide 14

Slide 14 text

doOnLayout {

Slide 15

Slide 15 text

val animationCallback = object : WindowInsetsAnimation.Callback(DISPATCH_MODE_STOP) { override fun onPrepare(animation: WindowInsetsAnimation) { ): WindowInsets {

Slide 16

Slide 16 text

https://medium.com/androiddevelopers/ani mating-your-keyboard-fb776a8fb66d

Slide 17

Slide 17 text

Wireless debugging Easily set up Wifi ADB through QR code or pairing code

Slide 18

Slide 18 text

Privacy Updates

Slide 19

Slide 19 text

Scoped Storage - requestLegacyExternalStorage is ignored on Android 11 - Access to all files in shared storage requires read/write file permission

Slide 20

Slide 20 text

One-Time Permission

Slide 21

Slide 21 text

Permission Auto-reset - Auto reset to decline permission after a few months

Slide 22

Slide 22 text

Don’t ask again - If user taps “Decline” more than once, it’s considered as “Don’t ask again”

Slide 23

Slide 23 text

Background Location Permission - Need to be requested separately - Have to request for Foreground Location permission first <<<- Required only when requesting background location access on Android 10 (API level 29) and higher. <<>

Slide 24

Slide 24 text

Tools

Slide 25

Slide 25 text

1. Database Inspector 2. Android Emulator Windows 3. Dagger Navigation 4. TFLite 5. Foldables Android Studio 4.1 STABLE

Slide 26

Slide 26 text

Database Inspector

Slide 27

Slide 27 text

Android Emulator Window

Slide 28

Slide 28 text

Dagger Navigation

Slide 29

Slide 29 text

Dagger Navigation

Slide 30

Slide 30 text

TFLite

Slide 31

Slide 31 text

Foldable

Slide 32

Slide 32 text

1. Layout Inspector Live Update On/Off 2. Jetpack Compose support 3. Safe Args Support 4. Accessibility Scanner 5. Multiple Parallel Instrumentation Testing Android Studio 4.2 Preview

Slide 33

Slide 33 text

Modern Android Development

Slide 34

Slide 34 text

https://developer.android.com/modern-and roid-development

Slide 35

Slide 35 text

of Android developers prefer using Kotlin 60%

Slide 36

Slide 36 text

Jetpack

Slide 37

Slide 37 text

1. Single-Activity Architecture 2. ViewModel+LiveData 3. Dagger 4. Constraint Layout/Jetpack Compose Modern Android Development

Slide 38

Slide 38 text

● No longer recommends multiple activities ● Prefer to use Fragment and Nav Arch to structure single-activity Single Activity Architecture

Slide 39

Slide 39 text

ViewModel+LiveData ● ViewModel is not MVVM

Slide 40

Slide 40 text

“The description of the class for what it does, matches View Model. That has nothing to do with MVVM. We are not telling you to use or not to use MVVM” -Yigit Boyar (droidcon NYC 2017)

Slide 41

Slide 41 text

ViewModel+LiveData ● ViewModel is not MVVM ● Understand how LiveData works

Slide 42

Slide 42 text

● Data Store (Protobuffer) ● Room ● Scoped Storage Persistence Storage

Slide 43

Slide 43 text

● Manual Injection for small project ● Dagger for large project Dependency Injection

Slide 44

Slide 44 text

● Constraint Layout ● Motion Layout ● Jetpack Compose Layouts

Slide 45

Slide 45 text

Future

Slide 46

Slide 46 text

Android 11 and the Future Aung Kyaw Paing Mobile Development Team Lead nexlabs