var x = 3
val x = 3
var y: Int = 3
val y: Int = 3
val y = 3
val x = y
var y = 3
var x = y
var y = 3
y = -5
val y: Int
y = -5
fun f() = 3
fun h(a: Int, b: Float): Float =
a + b
fun f1(a: Int) = a+1
fun h(a: Int, b: Float): Float {
return a + b
}
fun f1(a: Int): Int = a+1
fun f2(x: Int, f: (Int) -> Int) = f(x) +1
fun Int.sum(x: Int) = this + x
USO: 3.sum(1) == 4
class Clase
class Clase(obj: String) {
val b: Int = 0
}
class Clase(obj: String) {
var len: Int
private set
init {
len = obj.length
}
}
open class X {
open fun numero() = 3
}
class Y: X() {
override fun numero() = 4
fun otro() = 5
}
interface A {
var casa: Int
fun bar()
fun foo() = casa
}
data class D(val a: Int, val b: Int)
object Editor {
var a = 0
}
companion object {
val a = 0
}
En Kotlin todo es un objeto
fun a() = print("aaaa")
fun a(): Unit = print("aaaa")
fun b(): Nothing = print("Matenme")
Apps vs programas
Las actividades son uno de los bloques de construcción fundamentales para la plataforma Android.
Sirven como punto de entrada para las interacciones del usuario con la app, pero tambien son centrales a como el usuario navega dentro de la app on entre apps
onCreate()
onResume()
onPause()
onDestroy()
onSaveInstanceState(Bundle)
onRestoreInstanceState(Bundle) ó onCreate(Bundle)
Moverse a otra Activity:
Componentes visuales modulares
Creación:
Encontrarlas: por id o `findViewById()`
setOnClickListener()
propiedad: onClick
Reglas generales para UI
https://material.io
AsyncTask
AsyncTask e instancias de Context
Loaders
por Emmanuel Messulam
github.com/EmmanuelMess
Agradecimientos especiales a:
Ignacion "Petru" Petruskevicius
Alexander Rvachev (GIthub @Alexander--)
Vishal Nehra (Github @VishalNehra)
Jesús Conde (YT Jesús Conde)