Autor Tema: ayuda con error AndroidStudio  (Leído 1362 veces)

nikiton

  • Sin experiencia
  • *
  • Mensajes: 20
    • Ver Perfil
ayuda con error AndroidStudio
« en: 28 de Octubre 2022, 05:48 »
Hola buenas estoy haciendo una actividad, y me surgio un error en una de ellas, se me solicita hacer una agenda que guarde el nombre, el correo y el numero.
Al realizar la actividad pude realizar correctamente el nombre y el correo, pero al intentar guardar el numero no me deja, subo mi codigo y el error que me da.

Código de mi activity
Código: [Seleccionar]
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#7DDC81"
    tools:context=".MainAgenda">

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.026"
        app:srcCompat="@mipmap/logo" />
    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="164dp"
        android:text="Agenda de Contactos"
        android:textSize="34sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.209"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/txt_nombre"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="52dp"
        android:hint="Ingrese un Nombre"
        android:textSize="24sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.18"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView5" />

    <EditText
        android:id="@+id/txt_datos"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="36dp"
        android:layout_marginTop="40dp"
        android:ems="10"
        android:hint="Ingrese su Correo"
        android:inputType="textEmailAddress"
        android:textSize="24sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txt_nombre" />

    <Button
        android:id="@+id/bt_guardar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="64dp"
        android:layout_marginTop="68dp"
        android:onClick="guardar"
        android:text="Guardar"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txt_nume" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="68dp"
        android:layout_marginEnd="68dp"
        android:onClick="buscar"
        android:text="Buscar"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txt_nume" />

    <EditText
        android:id="@+id/txt_nume"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="40dp"
        android:ems="10"
        android:hint="Ingrese su Numero"
        android:inputType="phone"
        android:textSize="24sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.179"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txt_datos" />


</androidx.constraintlayout.widget.ConstraintLayout>

Codigo de mi Main
Código: [Seleccionar]
package com.example.appsEjericio;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainAgenda extends AppCompatActivity {
    private EditText et_nombre, et_datos, et_num;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_agenda);

        et_nombre = (EditText) findViewById(R.id.txt_nombre);
        et_datos = (EditText) findViewById(R.id.txt_datos);
        et_num  = (EditText) findViewById(R.id.txt_nume);
    }

    public void Guardar(View view){
        String nombre = et_nombre.getText().toString();
        String datos = et_datos.getText().toString();
        String nume = et_num.getText().toString();

        int numerovalor = Integer.parseInt(nume);

        SharedPreferences preferences = getSharedPreferences("agenda",
                Context.MODE_PRIVATE);
        SharedPreferences.Editor obj_editor = preferences.edit();
        obj_editor.putString(nombre, datos, numerovalor);
        obj_editor.commit();
        Toast.makeText(this, "El contacto ha sido guardado",
                Toast.LENGTH_SHORT).show();
    }

    public void Buscar(View v){
        String nombre = et_nombre.getText().toString();


        SharedPreferences preferences = getSharedPreferences("agenda",
                Context.MODE_PRIVATE);
        String datos = preferences.getString(nombre, "");

        if (datos.length()==0){
            Toast.makeText(this, "No se encontro ningun registro",
                    Toast.LENGTH_SHORT).show();
        }else{
            et_datos.setText(datos);
        }
    }
}

el error que me da es en en esta seccion
obj_editor.putString(nombre, datos, numerovalor);


Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 988
    • Ver Perfil
Re: ayuda con error AndroidStudio
« Respuesta #1 en: 28 de Octubre 2022, 09:48 »
Hola.
Se poco (más bien nada) de programación Android.

Sin embargo, viendo la línea que dices que te da error, he curioseado la documentación del método putString() y veo que dicho método solo acepta dos parámetros: una "clave" y un "valor"

Pero tú le estás pasando tres parámetros:
Código: [Seleccionar]
obj_editor.putString(nombre, datos, numerovalor);
Hay otro método, el putStringSet(), que admite una "clave" y un conjunto(Set) de valores. Ahí si tendrías posibilidad de  incluir todos los valores que quieras.
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".