Consejo: Mantén tu código con los espacios necesarios para que sea legible de manera sencilla 😉
Arquitectura
Qué aprenderás sobre patrones de diseño en android
¿Qué es arquitectura?
Tipos de arquitectura en Android
Presentación del proyecto: Platzi Wallet
Patrón de arquitectura MVP
Implementación de MVP en el proyecto
Comunicación entre capas MVP
Creación del loader y resultados de la implementación
Patrón de arquitectura MVVM
Patrones de diseño
Qué es un patrón de diseño y qué tipos existen
Patrones de diseño creacionales
Singleton
Object Singleton
¿Qué es Builder?
Aplicando builder en código
Función Apply en Builder
Factory
Patrones de diseño estructurales
Adapter
Proxy
Facade
Patrones de comportamiento
Observer
Cómo implementar observer en el proyecto
Command
Cómo implementar command en el proyecto
Prueba de ejecución de comandos
Bonus: Architecture Components
Introducción a Architecture Components
LiveData
Introducción a Room y preparación del proyecto
Creación de componentes de Room
Comunicación entre componentes
ViewModel
Bonus: Custom View
Creando Custom Views
Conclusiones
Conclusiones y consejos para seguir aprendiendo
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 4
Preguntas 0
Consejo: Mantén tu código con los espacios necesarios para que sea legible de manera sencilla 😉
Nunca he usado command en mis proyectos, aún no se si lo vaya a empezar a implementar.
Seria una buena practica hacer al CommandManager un Singleton?
package com.cristianvillamil.platziwallet.ui.commands
import android.content.Context
import android.util.Log
import java.io.BufferedReader
import java.io.InputStreamReader
class ReadCommand : FileCommand{
override fun execute(context: Context, fileName: String, vararg arguments: String) {
//escribir en la consola lo que vamos a leer de los archivos
//vamos a hacerlo por medio de un string.
var fileString = ""
//abrir conexion con el sistema de archivos para lectura
//abrir un archivo
val inputStream = context.openFileInput(fileName)
//vamos a ir haciendole append a cada uno de los strings que vamos leyendo
//de nuestro archivo
val stringBuilder = StringBuilder()
//leera el archivo
val inputStreamReader = InputStreamReader(inputStream)
//permitir leer linea por linea al archivo
val bufferedReader = BufferedReader(inputStreamReader)
//por cada linea vamos a agregar un salto de linea con \n (backslash ALT +92)
//despues del salto de linea hacemos append de la linea (it viene for each line)
bufferedReader.forEachLine { stringBuilder.append("\n").append(it)}
//tenemos hasta este punto un stringBuilder
//tenemos que pasarlo a string
fileString = stringBuilder.toString()
//escribir en consola
Log.e("ReadedFile", fileString)
}
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.