entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Como hacer un login guardando los datos en una base de datos de sqlite

MAINACTIVITY
package com.example.danny.myapplication;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private EditText et1, et2, et3, et4, et5;//declarar los valosres de los editText

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
            //dar valor a los editText
        et1 = (EditText) findViewById(R.id.et_nombre);
        et2 = (EditText) findViewById(R.id.et_Apellido);
        et3 = (EditText) findViewById(R.id.et_sexo);
        et4 = (EditText) findViewById(R.id.et_edad);
        et5 = (EditText) findViewById(R.id.et_id);
    }
    public void alta(View v) {
        AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,"administracion", null, 1);
        SQLiteDatabase bd = admin.getWritableDatabase();

        String nombre = et1.getText().toString();
        String apellido = et2.getText().toString();
        String sexo = et3.getText().toString();
        String edad = et4.getText().toString();
        String id = et5.getText().toString();

        ContentValues registro = new ContentValues();  //es una clase para guardar datos

        registro.put("nombre", nombre);
        registro.put("apellido", apellido);
        registro.put("sexo", sexo);
        registro.put("edad", edad);
        bd.insert("datosPersonales", null, registro);
        bd.close();//cierre de base de datos

        et1.setText("");
        et2.setText("");
        et3.setText("");
        et4.setText("");

        Toast.makeText(this, "Se cargaron los datos de la persona",
                Toast.LENGTH_SHORT).show();
    }
    public void consulta(View v) {
        AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,
                "administracion", null, 1);
        SQLiteDatabase bd = admin.getWritableDatabase(); //Create and/or open a database that will be used for reading and writing.
        String id = et5.getText().toString();
        Cursor fila = bd.rawQuery(  //devuelve 0 o 1 fila //es una consulta
                "select nombre,apellido,sexo,edad  from datosPersonales where id=" + id, null);
        if (fila.moveToFirst()) {  //si ha devuelto 1 fila, vamos al primero (que es el unico)
            et1.setText(fila.getString(0));
            et2.setText(fila.getString(1));
            et3.setText(fila.getString(2));
            et4.setText(fila.getString(3));
        } else
            Toast.makeText(this, "No existe una persona con dicho id" ,
                    Toast.LENGTH_SHORT).show();
        bd.close();

    }
    public void baja(View v) {
        AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,
                "administracion", null, 1);
        SQLiteDatabase bd = admin.getWritableDatabase();
        String id = et5.getText().toString();
        int cant = bd.delete("datosPersonales", "id=" + id, null); // (datospersonales es la nombre de la tabla, condición)
        bd.close();
        et1.setText("");
        et2.setText("");
        et3.setText("");
        et4.setText("");
        et5.setText("");
        if (cant == 1)
            Toast.makeText(this, "Se borró la persona con dicho documento",
                    Toast.LENGTH_SHORT).show();
        else
            Toast.makeText(this, "No existe una persona con dicho documento",
                    Toast.LENGTH_SHORT).show();
    }
    public void modificacion(View v) {
        AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,
                "administracion", null, 1);
        SQLiteDatabase bd = admin.getWritableDatabase();
        String id = et5.getText().toString();
        String nombre = et1.getText().toString();
        String apellido = et2.getText().toString();
        String sexo = et3.getText().toString();
        String edad = et4.getText().toString();
        ContentValues registro = new ContentValues();
        registro.put("nombre", nombre);
        registro.put("apellido", apellido);
        registro.put("sexo", sexo);
        registro.put("edad", edad);
        int cant = bd.update("datosPersonales", registro, "id=" + id, null);
        bd.close();
        if (cant == 1)
            Toast.makeText(this, "se modificaron los datos", Toast.LENGTH_SHORT)
                    .show();
        else
            Toast.makeText(this, "no existe una persona con dicho documento",
                    Toast.LENGTH_SHORT).show();
    }
}

AdminSQLiteOpenHelper

package com.example.danny.myapplication;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

    public class AdminSQLiteOpenHelper extends SQLiteOpenHelper {

    //llamamos al constructor
    public AdminSQLiteOpenHelper(Context context, String nombre, CursorFactory factory, int version) {
        super(context, nombre, factory, version);
    }

    //creamos la tabla datos personales
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table datosPersonales(id integer primary key autoincrement, nombre text, apellido text, sexo text, edad integer)");
    }

    //borrar la tabla y crear la nueva tabla
    @Override
    public void onUpgrade(SQLiteDatabase db, int versionAnte, int versionNue) {//version anterior y actualizar a una nueva version
        db.execSQL("drop table if exists datosPersonales");
        db.execSQL("create table datosPersonales(id integer PRIMARY KEY AUTOINCREMENT NOT NULL, nombre text, apellido text, sexo text, edad integer)");
    }
}

1 Respuesta

1voto

cobasESP Puntos19560

Por lo que veo, ya tienes todas las operaciones CRUD terminadas (alta, baja y modificación). ¿Y no sabes como hacer un login?

Lo único que te queda es crear una activity con los dos campos user y password y hacer una consulta a datosPersonales a ver si estos coinciden, si coinciden creas un sharedpreferences y guardas ahi los datos de sesión y abres el siguiente intent.

Comenta tu duda de una manera mas clara, que solo has pegado todo el código sin señalar si ese código tiene fallos, si el código esta bien y no sabes continuar, te he contestado en base a lo que he entendido.

0voto

DanielBale comentado

Hola gracias, si el código esta bien, fue una practica que nos dejaron en la escuela pero ahora quieren que las 3 practicas las juntemos en un solo código, algo que no me sale muy bien es el poden enlazar todas las ventanas.

Imagen anexa

0voto

cobasESP comentado

Simplemente crea una activity de login, accede a la bdd para ver si el login es correcto, si lo es crea un shared preferences para guardar la id nombre de usuario etc, y accedes al restode la app, comprobando en el oncreate si existe un id en el shared preferences, y sino cierras y abres la activity de login de nuevo.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta