Useful Links
Computer Science
Programming
By Language
Android Development with Kotlin
1. Introduction to Android and Kotlin
2. Kotlin Language Fundamentals
3. Your First Android Application
4. Android UI Fundamentals
5. Jetpack Compose: The Modern UI Toolkit
6. App Components and Lifecycle
7. App Navigation
8. Data Storage and Persistence
9. Concurrency and Background Tasks
10. Networking
11. App Architecture
12. Advanced Android Topics
13. Testing and Debugging
14. Publishing Your App
Data Storage and Persistence
Storage Options Overview
Internal vs. External Storage
Storage Categories
Storage Permissions
SharedPreferences
Key-Value Data Storage
Creating and Accessing SharedPreferences
Storing and Retrieving Data
Primitive Data Types
String Sets
Preference Change Listeners
Best Practices
File Storage
Internal File Storage
App-specific Storage
File Creation and Access
File Operations
External File Storage
Shared Storage
Scoped Storage
Storage Access Framework
Cache Storage
Internal Cache
External Cache
File Permissions and Security
Databases with Room
Introduction to Room
Benefits over SQLiteOpenHelper
Room Architecture Components
Setting Up Room
Dependencies
Database Configuration
Defining Entities
@Entity Annotation
Primary Keys
Column Info
Indices
Foreign Keys
Embedded Objects
Data Access Objects (DAOs)
@Dao Annotation
Query Methods
@Query
@Insert
@Update
@Delete
Return Types
LiveData
Flow
Suspend Functions
The Room Database Class
@Database Annotation
Database Initialization
Singleton Pattern
Database Builder
Type Converters
Handling Custom Data Types
@TypeConverter Annotation
Database Relations
One-to-One
One-to-Many
Many-to-Many
Nested Relations
Database Migrations
Versioning Strategies
Migration Implementation
Destructive Migrations
Testing Room Databases
In-memory Databases
Database Testing
Jetpack DataStore
Introduction to DataStore
Advantages over SharedPreferences
Preferences DataStore
Setup and Configuration
Storing and Retrieving Data
Migration from SharedPreferences
Proto DataStore
Protocol Buffers
Defining Schemas
Type Safety
Serialization and Deserialization
DataStore Best Practices
Previous
7. App Navigation
Go to top
Next
9. Concurrency and Background Tasks