| name | fundamentals |
| description | Master Kotlin syntax, OOP principles, SOLID practices, functional programming, and data structures. |
| version | 2.0.0 |
| sasmp_version | 1.3.0 |
| bonded_agent | 01-android-fundamentals |
| bond_type | PRIMARY_BOND |
| atomic | true |
| single_responsibility | Kotlin & OOP fundamentals |
| parameters | [object Object] |
| retry | [object Object] |
| logging | [object Object] |
Kotlin Fundamentals Skill
Quick Start
// Variables
val immutable = "constant"
var mutable = "variable"
// Functions
fun greet(name: String): String = "Hello, $name"
// Classes
data class User(val id: Int, val name: String)
// Null safety
val user: User? = null
user?.name // safe call
user?.name ?: "Unknown" // elvis operator
Key Concepts
Null Safety
? for nullable types
!! for non-null assertion (avoid)
?: elvis operator for defaults
?.let { } for null-safe blocks
Extension Functions
fun String.isValidEmail(): Boolean = contains("@")
val valid = "user@example.com".isValidEmail()
Scope Functions
apply: Configure object
let: Transform
run: Execute with context
with: Receiver operations
also: Side effects
Coroutines
viewModelScope.launch {
val data = withContext(Dispatchers.IO) {
fetchData()
}
}
SOLID Principles Summary
- SRP: One responsibility per class
- OCP: Open for extension, closed for modification
- LSP: Substitutable subtypes
- ISP: Specific interfaces
- DIP: Depend on abstractions
Learning Resources