8.1 Introduction to ContentProvider
8.2 Runtime Permissions
8.2.1 Android Runtime Permissions in Depth
8.2.2 Request Permission at Runtime
8.3 Access Data in Other Apps
8.3.1 Basic Use of ContentResolver
8.3.2 Read System Contact
8.4 Create Your Own ContentProvider
8.4.1 Create ContentProvider
8.4.2 Share Data Between Apps
8.5 Kotlin Class: Generics and Delegate
8.5.1 Basic Use of Generics
8.5.2 Class Delegation and Delegated Properties
8.5.3 Implement Lazy Function
8.6 Summary and Comment