Skip to content

Tonalga69/casinoMoviles

Repository files navigation

Casino Fortuna

Este repositorio es una demostración del uso de kotlinx.serialization para la serialización y deserialización de datos en formato JSON, utilizando SharedPreferences como almacenamiento local en una aplicación Android.

Estructura del proyecto :)

root
├── Models          // Clases definidas según el diagrama UML
├── MainActivity    // Lógica principal de la aplicación

Uso de Shared Preferences

Almacenamiento y recuperación de datos de usuarios

El sistema utiliza SharedPreferences para guardar y recuperar datos de usuarios en formato JSON. A continuación, se describe el flujo principal:

  1. Inicialización de SharedPreferences

    val sharedPreferences: SharedPreferences = context.getSharedPreferences("Default", Context.MODE_PRIVATE)
  2. Obtención de datos
    Los datos se almacenan como un conjunto de cadenas (Set<String>) en formato JSON:

    val users = sharedPreferences.getStringSet("usuarios", mutableSetOf())
  3. Conversión de JSON a objetos
    Cada cadena JSON se convierte en una instancia de la clase UsuarioLoginData. Esta clase contiene los siguientes atributos:

    • username: Nombre de usuario.
    • password: Contraseña.
    • idUsuario: identificador.
    • isAdmin: boleano si es admin o no.

    La contraseña del admin es "admin" y el nombre de usuario es "admin". y su Id es 1 Ejemplo de deserialización:

    for (user in users) {
        val usuario = Json.decodeFromString<UsuarioLoginData>(user)
        println(usuario)
    }
  4. Obtener las probabilidades de los juegos Devuelve las probabilidades de los juegos en formato JSON.

    val probabilidades = sharedPreferences.getString("probabilidades", "")
  5. Conversión de JSON a objetos Cada cadena JSON se convierte en una instancia de la clase Probabilidades. Esta clase contiene los siguientes atributos:

    • ganarMomios: Probabilidad de la ruleta. Tipo de dato Float.
    • ganarMaquinas: Probabilidad de las tragamonedas Tipo de dato Float.
    • ganarRuleta: Probabilidad de las tragamonedas Tipo de dato Float. Ejemplo de deserialización:
    val probabilidades = Json.decodeFromString<Probabilidades>(probabilidades)
    

Almacenamiento y recuperación de datos internos de usuarios

Se gestiona información interna específica para cada usuario mediante un identificador único (IdUsuario):

  1. Inicialización de SharedPreferences

    val sharedPreferences: SharedPreferences = context.getSharedPreferences(IdUsuario, Context.MODE_PRIVATE)
  2. Obtención de datos
    Los datos internos se almacenan como un conjunto de cadenas (Set<String>) en formato JSON:

    val IDusuario = sharedPreferences.getString("Idusuario", "")
     val nombre = sharedPreferences.getString("nombre", "")
     val contraseña = sharedPreferences.getString("contraseña", "")
     val idioma = sharedPreferences.getString("idioma", "")
     val saldo = sharedPreferences.getFloat("saldo", 0.0f)
     val esAdmin = sharedPreferences.getBoolean("esAdmin", false)
    val historial = sharedPreferences.getStringSet("historial", mutableSetOf())
  3. Conversión de JSON a objetos
    Cada cadena JSON se convierte en una instancia de la clase Historial.
    Ejemplo de deserialización:

    for (item in historial) {
        val historial = Json.decodeFromString<Historial>(item)
        println(historial)
    }

Recuperacion del proyecto

Al hacer pull es necesario sincronizar el proyecto con el Gradle, presionando sobre el icono de elefante en la parte superior derecha del IDE

Tecnologías y bibliotecas utilizadas

Referencias


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages