How to get the data saved in Sqlite

0

How can I get the data saved in the Sqlite database and display it in a Textview by pressing the button.

Code:

package BSHELPER;


public class Usuarios {

    private int idusuario,edad;
    private String nombre,apellidos;

    public Usuarios(int idusuario,String nombre,String apellidos,int edad){
        setIdusuario(idusuario);
        setNombre(nombre);
        setApellidos(apellidos);
        setEdad(edad);
    }

    public int getIdusuario() {
        return idusuario;
    }

    public void setIdusuario(int idusuario) {
        this.idusuario = idusuario;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getEdad() {
        return edad;
    }

    public void setEdad(int edad) {
        this.edad = edad;
    }

    public String getApellidos() {
        return apellidos;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }
}

package BSHELPER;


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

public class sqlite extends SQLiteOpenHelper {

    public String usuarios = "CREATE TABLE usuarios(idusuario INTEGER PRIMARY KEY AUTOINCREMENT,nombre TEXT,apellidos TEXT," +
            "edad INTEGER)";
    public sqlite(Context context,String name,SQLiteDatabase.CursorFactory factory,int version){
        super(context,name,factory,version);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(usuarios);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}


package com.example.mand.crudsqliteandroid;


import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import BSHELPER.Usuarios;
import BSHELPER.sqlite;


public class prueba2 extends AppCompatActivity{

    private TextView mitexto;
    private Button miBoton;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_prueba2);


            mitexto = (TextView)findViewById(R.id.textView2);

            miBoton = (Button)findViewById(R.id.button5);

            miBoton.setOnClickListener(new View.OnClickListener(){


                @Override
                public void onClick(View v){

                    mitexto.setText("Ensayo"+usuarios);

                }

            });
        }

        public Usuarios recuperar (int idusuario) {

        sqlite bh  = new sqlite(prueba2.this,"usuarios",null,1);

        SQLiteDatabase db = bh.getReadableDatabase();

        String[] valores_recuperar = {"idusuario", "nombre", "edad", "apellidos"};

        Cursor c = db.query("usuarios", valores_recuperar, "_id=" + idusuario,
                null, null, null, null, null);

        if(c != null) {
            c.moveToFirst();
        }
        Usuarios usuarios = new Usuarios(c.getInt(0), c.getString(1),
                c.getString(2), c.getInt(2));

        db.close();
        c.close();

       return usuarios;
       }

    }
    
asked by Johnatan Alexander 17.07.2018 в 04:33
source

1 answer

0

My way of doing it is the following in the same class where I create the database in your case (sqlite) I also create functions to be able to insert, modify, delete, consult, etc.

package BSHELPER;

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

public class sqlite extends SQLiteOpenHelper {

public String usuarios = "CREATE TABLE usuarios(idusuario INTEGER PRIMARY KEY AUTOINCREMENT,nombre TEXT,apellidos TEXT," +
        "edad INTEGER)";
public sqlite(Context context,String name,SQLiteDatabase.CursorFactory factory,int version){
    super(context,name,factory,version);
}
@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL(usuarios);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

public Cursor recuperar( int idusuario){
     ....(aca ira lo que pusiste en el prueba 2)
   return cursor;
}

}

And to call it from test2 from your button

miBoton.setOnClickListener (new View.OnClickListener () {                 @Override                 public void onClick (View v) {                          sqlite bh = new sqlite (test2.this, "users", null, 1);

                     Cursor cr=bh.recuperar(4)//poner el integer que deseas 

            }
        });
    
answered by 17.07.2018 в 09:42