Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% encontró este documento útil (0 votos)
174 vistas42 páginas

Base de Datos Teoría - Cibertec

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1/ 42

CRUD SQLITE

PANTALLA PRINCIPAL

MAIN.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:orientation="vertical"
tools:context=".MainActivity">

<Button
android:id="@+id/btnOpcionRegistro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Registrar Usuarios"
android:onClick="onClick"/>

<Button
android:id="@+id/btnRegistroMascota"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Registrar Mascota"
android:onClick="onClick"/>

<Button
android:id="@+id/btnConsultaIndividual"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Consultar Usuario"
android:onClick="onClick"/>

<Button
android:id="@+id/btnConsultaSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Consultar Lista Usuario Usando Spinner"
android:onClick="onClick"/>

<Button
android:id="@+id/btnConsultaLista"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Consultar Lista Usuario Usando ListView"
android:onClick="onClick"/>

<Button
android:id="@+id/btnConsultaListaMascota"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Consultar Lista Mascotas"
android:onClick="onClick"/>

<Button
android:id="@+id/btnConsultaListaPersonasRecycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Consultar Lista Usando Recycler"
android:onClick="onClick"/>

</LinearLayout>

MAIN.JAVA
package com.example.andre.ejemplosqlite;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

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

//instancia a la clase ConexionSQLiteHelper


ConexionSQLiteHelper conn = new ConexionSQLiteHelper(this,
"bd_usuarios", null,1);

public void onClick(View view) {


Intent miIntent=null;
switch (view.getId()){
case R.id.btnOpcionRegistro:
miIntent=new
Intent(MainActivity.this,RegistroUsuariosActivity.class);
break;
case R.id.btnConsultaIndividual:
miIntent=new
Intent(MainActivity.this,ConsultarUsuariosActivity.class);
break;
case R.id.btnConsultaSpinner:
miIntent=new
Intent(MainActivity.this,ConsultaComboActivity.class);
break;
case R.id.btnConsultaLista:
miIntent=new
Intent(MainActivity.this,ConsultarListaListViewActivity.class);
break;
case R.id.btnRegistroMascota:
miIntent=new
Intent(MainActivity.this,RegistroMascotaActivity.class);
break;
case R.id.btnConsultaListaMascota:
miIntent=new
Intent(MainActivity.this,ListaMascotasActivity.class);
break;
case R.id.btnConsultaListaPersonasRecycler:
miIntent=new
Intent(MainActivity.this,ListaPersonasRecycler.class);
break;
}
if (miIntent!=null){
startActivity(miIntent);
}

}
}

USUARIO.JAVA – ENTIDAD
package com.example.andre.ejemplosqlite.entidades;

//Creamos la estructura de la tabla usuarios

import java.io.Serializable;

public class Usuario implements Serializable{ //El implement


serializable solo es para pasar los datos de una activity a otra
private Integer id;
private String nombre;
private String telefono;

public Usuario(){
}
public Usuario(Integer id, String nombre, String telefono) {
this.id = id;
this.nombre = nombre;
this.telefono = telefono;
}

public Integer getId() {


return id;
}

public void setId(Integer id) {


this.id = id;
}

public String getNombre() {


return nombre;
}

public void setNombre(String nombre) {


this.nombre = nombre;
}

public String getTelefono() {


return telefono;
}

public void setTelefono(String telefono) {


this.telefono = telefono;
}
}

CONEXIONSQLITEHELPER.JAVA
package com.example.andre.ejemplosqlite;

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

import com.example.andre.ejemplosqlite.utilidades.Utilidades;

public class ConexionSQLiteHelper extends SQLiteOpenHelper {

public ConexionSQLiteHelper(Context context, String name,


SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(Utilidades.CREAR_TABLA_USUARIO);
db.execSQL(Utilidades.CREAR_TABLA_MASCOTA);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
db.execSQL("DROP TABLE IF EXISTS " +
Utilidades.TABLA_USUARIO);
db.execSQL("DROP TABLE IF EXISTS " +
Utilidades.TABLA_MASCOTA);
onCreate(db);
}
}

UTILIDADES.JAVA - UTILIDADES
package com.example.andre.ejemplosqlite.utilidades;

public class Utilidades {

//Constantes de los campos de la tabla usuario


public static final String TABLA_USUARIO = "usuario";
public static final String CAMPO_ID = "id";
public static final String CAMPO_NOMBRE = "nombre";
public static final String CAMPO_TELEFONO = "telefono";

public static final String CREAR_TABLA_USUARIO = "CREATE TABLE " +


"" + TABLA_USUARIO + " (" + CAMPO_ID + " " +
"INTEGER, " + CAMPO_NOMBRE + " TEXT," + CAMPO_TELEFONO + "
TEXT)";

//Constantes campos tabla mascota


public static final String TABLA_MASCOTA = "mascota";
public static final String CAMPO_ID_MASCOTA = "id_mascota";
public static final String CAMPO_NOMBRE_MASCOTA =
"nombre_mascota";
public static final String CAMPO_RAZA_MASCOTA = "raza_mascota";
public static final String CAMPO_ID_DUENIO = "id_duenio";

public static final String CREAR_TABLA_MASCOTA = "CREATE TABLE " +


"" + TABLA_MASCOTA + " (" + CAMPO_ID_MASCOTA + " INTEGER
PRIMARY KEY AUTOINCREMENT, "
+ CAMPO_NOMBRE_MASCOTA + " TEXT, " + CAMPO_RAZA_MASCOTA +
" TEXT," + CAMPO_ID_DUENIO + " INTEGER)";
}
REGISTRO DE USUARIOS

ACTIVITY_REGISTRO_USUARIOS.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_registro_usuarios"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:orientation="vertical"
tools:context=".RegistroUsuariosActivity">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="REGISTRO DE USUARIOS"
android:textSize="25sp"
android:textStyle="bold"
android:layout_marginBottom="30dp"/>

<EditText
android:id="@+id/campoId"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Documento"/>
<EditText
android:id="@+id/campoNombre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="nombre"/>

<EditText
android:id="@+id/campoTelefono"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="telefono"/>

<Button
android:id="@+id/btnRegistro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Registrar Usuario"
android:layout_marginTop="30dp"
android:onClick="onClick"/>

</LinearLayout>

REGISTROUSUARIOSACTIVITY.JAVA
package com.example.andre.ejemplosqlite;

import android.content.ContentValues;
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;

import com.example.andre.ejemplosqlite.utilidades.Utilidades;

public class RegistroUsuariosActivity extends AppCompatActivity {

EditText campoId, campoNombre, campoTelefono;

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

campoId = findViewById(R.id.campoId);
campoNombre = findViewById(R.id.campoNombre);
campoTelefono = findViewById(R.id.campoTelefono);

public void onClick(View view) {


registarUsuarios();
//registarUsuariosSql();
}

private void registarUsuariosSql() {


//Abrimos conexion con la BD y la habilitamos para escritura
ConexionSQLiteHelper conn = new ConexionSQLiteHelper(this,
"bd_usuarios", null, 1);
SQLiteDatabase db = conn.getWritableDatabase();

String insert="INSERT INTO "+Utilidades.TABLA_USUARIO


+" ( "
+Utilidades.CAMPO_ID+","+Utilidades.CAMPO_NOMBRE+","+Utilidades.CAMPO_
TELEFONO+")" +
" VALUES ("+campoId.getText().toString()+",
'"+campoNombre.getText().toString()+"','"
+campoTelefono.getText().toString()+"')";

db.execSQL(insert);
Toast.makeText(getApplicationContext(), "Registro exitoso",
Toast.LENGTH_SHORT).show();
db.close();
}

private void registarUsuarios() {

//Abrimos conexion con la BD y la habilitamos para escritura


ConexionSQLiteHelper conn = new ConexionSQLiteHelper(this,
"bd_usuarios", null, 1);
SQLiteDatabase db = conn.getWritableDatabase();

ContentValues values = new ContentValues();


values.put(Utilidades.CAMPO_ID, campoId.getText().toString());
values.put(Utilidades.CAMPO_NOMBRE,
campoNombre.getText().toString());
values.put(Utilidades.CAMPO_TELEFONO,
campoTelefono.getText().toString());

Long idResultante = db.insert(Utilidades.TABLA_USUARIO,


Utilidades.CAMPO_ID, values);
Toast.makeText(getApplicationContext(), "Id Registro " +
idResultante, Toast.LENGTH_SHORT).show();
db.close();
}
}
CONSULTAR USUARIOS

ACTIVITY_CONSULTAR_USUARIOS.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_consultar_usuarios"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:orientation="vertical"
tools:context=".ConsultarUsuariosActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1">

<EditText
android:id="@+id/documentoId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Documento"
android:layout_weight="0.93" />

<Button
android:id="@+id/btnConsultar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="Buscar"
android:onClick="onClick"/>

</LinearLayout>

<EditText
android:id="@+id/campoNombreConsulta"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nombre"/>

<EditText
android:id="@+id/campoTelefonoConsulta"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Telefono"/>

<LinearLayout
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1">

<Button
android:id="@+id/btnActualizar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Actualizar"
android:layout_weight="0.5"
android:onClick="onClick"/>

<Button
android:id="@+id/btnEliminar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eliminar"
android:layout_weight="0.5"
android:onClick="onClick"/>

</LinearLayout>
</LinearLayout>
CONSULTARUSUARIOSACTIVITY.JAVA - (CONSULTA-ACTUALIZA-ELIMINA)

package com.example.andre.ejemplosqlite;

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;

import com.example.andre.ejemplosqlite.utilidades.Utilidades;

public class ConsultarUsuariosActivity extends AppCompatActivity {

EditText campoId, campoNombre, campoTelefono;


ConexionSQLiteHelper conn;

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

campoId = findViewById(R.id.documentoId);
campoNombre = findViewById(R.id.campoNombreConsulta);
campoTelefono = findViewById(R.id.campoTelefonoConsulta);

conn = new ConexionSQLiteHelper(this, "bd_usuarios", null, 1);


}

public void onClick(View view) {

switch (view.getId()) {
case R.id.btnConsultar:
consultar();
consultarSql();
break;
case R.id.btnActualizar:
actualizarUsuario();
break;
case R.id.btnEliminar:
eliminarUsuario();
break;
}

/*----------------------TIPOS DE CONSULTAS------------------------
--------------------------------------------------------------------*/
private void consultar() {
SQLiteDatabase db = conn.getReadableDatabase();
String[] parametros = {campoId.getText().toString()};
String[] campos = {Utilidades.CAMPO_NOMBRE,
Utilidades.CAMPO_TELEFONO};

try {
Cursor cursor = db.query(Utilidades.TABLA_USUARIO, campos,
Utilidades.CAMPO_ID + "=?", parametros, null, null, null);
cursor.moveToFirst();
campoNombre.setText(cursor.getString(0));
campoTelefono.setText(cursor.getString(1));
cursor.close();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "El documento no
existe", Toast.LENGTH_SHORT).show();
limpiar();
}
}

private void consultarSql() {


SQLiteDatabase db = conn.getReadableDatabase();
String[] parametros = {campoId.getText().toString()};

try {
//select nombre,telefono from usuario where codigo=?
Cursor cursor = db.rawQuery("SELECT " +
Utilidades.CAMPO_NOMBRE + "," + Utilidades.CAMPO_TELEFONO +
" FROM " + Utilidades.TABLA_USUARIO + " WHERE " +
Utilidades.CAMPO_ID + "=? ", parametros);

cursor.moveToFirst();
campoNombre.setText(cursor.getString(0));
campoTelefono.setText(cursor.getString(1));

} catch (Exception e) {
Toast.makeText(getApplicationContext(), "El documento no
existe", Toast.LENGTH_LONG).show();
limpiar();
}
}
/*----------------------------------------------------------------
----------------------------------------------------*/

private void limpiar() {


campoNombre.setText("");
campoTelefono.setText("");
campoId.setText("");
}

/*-------------------- ACTUALIZAMOS USUARIOS ---------------------


--------------------------------------------------------------------*/

private void actualizarUsuario() {


SQLiteDatabase db = conn.getWritableDatabase();
String[] parametros = {campoId.getText().toString()};

ContentValues values = new ContentValues();


values.put(Utilidades.CAMPO_NOMBRE,
campoNombre.getText().toString());
values.put(Utilidades.CAMPO_TELEFONO,
campoTelefono.getText().toString());

db.update(Utilidades.TABLA_USUARIO, values,
Utilidades.CAMPO_ID + "=?", parametros);
Toast.makeText(getApplicationContext(), "Se actualizó el
usuario", Toast.LENGTH_SHORT).show();
db.close();
}
/*-----------------------ELIMINAMOS USUARIOS ---------------------
--------------------------------------------------------------------*/

private void eliminarUsuario() {


SQLiteDatabase db = conn.getWritableDatabase();
String[] parametros = {campoId.getText().toString()};

db.delete(Utilidades.TABLA_USUARIO, Utilidades.CAMPO_ID +
"=?", parametros);
Toast.makeText(getApplicationContext(), "Se eliminó el
usuario", Toast.LENGTH_SHORT).show();
db.close();
limpiar();
}
}

CONSULTAR USUARIOS USANDO SPINNER


ACTIVITY_CONSULTA_COMBO.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_consulta_combo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:orientation="vertical"
tools:context=".ConsultaComboActivity">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Seleccione una Opción"
android:textStyle="bold"
android:textSize="17sp"
android:layout_marginBottom="20dp"/>

<Spinner
android:id="@+id/comboPersonas"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

<RelativeLayout
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Documento: "
android:layout_marginBottom="20dp"
android:textStyle="bold"
android:layout_marginRight="20dp"
android:id="@+id/textView" />

<TextView
android:id="@+id/txtDocumento"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:layout_weight="1"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/textView"
android:layout_toEndOf="@+id/textView"
android:layout_marginLeft="31dp"
android:layout_marginStart="31dp"
android:layout_above="@+id/txtNombre" />

<TextView
android:id="@+id/txtTelefono"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:layout_weight="1"
android:layout_alignBaseline="@+id/textView3"
android:layout_alignBottom="@+id/textView3"
android:layout_alignLeft="@+id/txtNombre"
android:layout_alignStart="@+id/txtNombre" />

<TextView
android:id="@+id/txtNombre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:layout_weight="1"
android:layout_alignBaseline="@+id/textView2"
android:layout_alignBottom="@+id/textView2"
android:layout_alignLeft="@+id/txtDocumento"
android:layout_alignStart="@+id/txtDocumento" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nombre: "
android:textStyle="bold"
android:layout_weight="0.5"
android:id="@+id/textView2"
android:layout_above="@+id/textView3"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Telefono: "
android:textStyle="bold"
android:layout_weight="0.5"
android:id="@+id/textView3"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />

</RelativeLayout>
</LinearLayout>

CONSULTACOMBOACTIVITY.JAVA

package com.example.andre.ejemplosqlite;

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.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import com.example.andre.ejemplosqlite.entidades.Usuario;
import com.example.andre.ejemplosqlite.utilidades.Utilidades;

import java.util.ArrayList;

public class ConsultaComboActivity extends AppCompatActivity {

Spinner combopersonas;
TextView txtNombre, txtDocumento, txttelefono;
ArrayList<String> listaPersonas;
ArrayList<Usuario> personasList;

ConexionSQLiteHelper conn;

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

combopersonas = findViewById(R.id.comboPersonas);
txtDocumento = findViewById(R.id.txtDocumento);
txtNombre = findViewById(R.id.txtNombre);
txttelefono = findViewById(R.id.txtTelefono);

conn = new ConexionSQLiteHelper(getApplicationContext(),


"bd_usuarios", null, 1);

consultarListaPersonas();

ArrayAdapter<CharSequence> adaptador = new ArrayAdapter(this,


android.R.layout.simple_spinner_item, listaPersonas);
combopersonas.setAdapter(adaptador);

/*-----------------------SELECCIONAMOS USUARIOS DEL SPINNER Y LOS


MOSTRAMOS ---------------------------------------------------------*/

combopersonas.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View
view, int position, long id) {

if (position != 0) {
txtDocumento.setText(personasList.get(position -
1).getId().toString());
txtNombre.setText(personasList.get(position -
1).getNombre());
txttelefono.setText(personasList.get(position -
1).getTelefono());
} else {
txtDocumento.setText("");
txtNombre.setText("");
txttelefono.setText("");
}
}

@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});

private void consultarListaPersonas() {


SQLiteDatabase db = conn.getReadableDatabase();
Usuario persona = null;
personasList = new ArrayList<Usuario>();

//select * from usuarios


Cursor cursor = db.rawQuery("SELECT * FROM " +
Utilidades.TABLA_USUARIO, null);
while (cursor.moveToNext()) {
persona = new Usuario();
persona.setId(cursor.getInt(0));
persona.setNombre(cursor.getString(1));
persona.setTelefono(cursor.getString(2));

personasList.add(persona);
}
obtenerLista();
}

private void obtenerLista() {


listaPersonas = new ArrayList<String>();
listaPersonas.add("Seleccione");

for (int i = 0; i < personasList.size(); i++) {


listaPersonas.add(personasList.get(i).getId() + " - " +
personasList.get(i).getNombre());
}
}
}
MOSTRAR USUARIOS USANDO LISTVIEW

ACTIVITY_CONSULTAR_LISTA_LIST_VIEW.XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_consultar_lista_list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
tools:context=".ConsultarListaListViewActivity">

<ListView
android:id="@+id/listViewPersonas"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

</RelativeLayout>
CONSULTARLISTALISTVIEWACTIVITY.JAVA

package com.example.andre.ejemplosqlite;

import android.content.Intent;
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.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import com.example.andre.ejemplosqlite.entidades.Usuario;
import com.example.andre.ejemplosqlite.utilidades.Utilidades;

import java.util.ArrayList;

public class ConsultarListaListViewActivity extends AppCompatActivity


{

ListView listViewPersonas;
ArrayList<String> listaInformacion;
ArrayList<Usuario> listaUsuarios;
ConexionSQLiteHelper conn;

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

conn = new ConexionSQLiteHelper(getApplicationContext(),


"bd_usuarios", null, 1);

listViewPersonas = findViewById(R.id.listViewPersonas);

consultarPersonas();

ArrayAdapter adaptador = new ArrayAdapter(this,


android.R.layout.simple_list_item_1, listaInformacion);
listViewPersonas.setAdapter(adaptador);

listViewPersonas.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String informacion = "id: " +
listaUsuarios.get(position).getId() + "\n";
informacion += "Nombre: " +
listaUsuarios.get(position).getNombre() + "\n";
informacion += "Telefono: " +
listaUsuarios.get(position).getTelefono() + "\n";

Toast.makeText(getApplicationContext(),informacion,Toast.LENGTH_SHORT)
.show();
//Logica para enviar el objeto como parametro a la
otra actividad, enviamos los datos de esta activity a la otra
Usuario user =listaUsuarios.get(position);

Intent intent = new


Intent(ConsultarListaListViewActivity.this,DetalleUsuarioActivity.clas
s);
Bundle bundle = new Bundle();
bundle.putSerializable("usuario",user);
intent.putExtras(bundle);
startActivity(intent);
}
});
}

private void consultarPersonas() {


SQLiteDatabase db = conn.getReadableDatabase();

Usuario usuario = null;


listaUsuarios = new ArrayList<Usuario>();
//Select * from usuarios
Cursor cursor = db.rawQuery("SELECT * FROM " +
Utilidades.TABLA_USUARIO, null);

while (cursor.moveToNext()) {
usuario = new Usuario();
usuario.setId(cursor.getInt(0));
usuario.setNombre(cursor.getString(1));
usuario.setTelefono(cursor.getString(2));

listaUsuarios.add(usuario);
}
obtenerLista();
}

private void obtenerLista() {


listaInformacion = new ArrayList<String>();

for (int i = 0; i < listaUsuarios.size(); i++) {


listaInformacion.add(listaUsuarios.get(i).getId() + " - "
+ listaUsuarios.get(i).getNombre());
}
}
}
ENVIAMOS LOS OBJETOS ENTRE ACTIVIDADES

MOSTRAMOS DETALLE DEL USUARIO QUE ESTA EN EL LISTVIEW

ACTIVITY_DETALLE_USUARIO.XML

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_detalle_usuario"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:orientation="vertical"
tools:context=".DetalleUsuarioActivity">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="id"
android:textStyle="bold"
android:textSize="18sp"/>

<TextView
android:id="@+id/campoId"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="1094"
android:layout_marginBottom="10dp"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="nombre"
android:textStyle="bold"
android:textSize="18sp"/>

<TextView
android:id="@+id/campoNombre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Cristian David Henao"
android:layout_marginBottom="10dp"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="telefono"
android:textStyle="bold"
android:textSize="18sp"/>

<TextView
android:id="@+id/campoTelefono"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="75845682"
android:layout_marginBottom="10dp"/>

</LinearLayout>

DETALLEUSUARIOACTIVITY.JAVA

package com.example.andre.ejemplosqlite;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

import com.example.andre.ejemplosqlite.entidades.Usuario;

public class DetalleUsuarioActivity extends AppCompatActivity {

TextView campoId, campoNombre, campoTelefono;

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

campoId = findViewById(R.id.campoId);
campoNombre=findViewById(R.id.campoNombre);
campoTelefono=findViewById(R.id.campoTelefono);

Bundle objetoEnviado=getIntent().getExtras();
Usuario user =null;

if(objetoEnviado!=null){
user=(Usuario) objetoEnviado.getSerializable("usuario");
campoId.setText(user.getId().toString());
campoNombre.setText(user.getNombre().toString());
campoTelefono.setText(user.getTelefono().toString());
}
}
}

PARA PASAR DATOS ENTRE TABLAS DE UNA BD

REGISTRAMOS UNA MASCOTA

ACTIVITY_REGISTRO_MASCOTA.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_registro_mascota"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:orientation="vertical"
tools:context=".RegistroMascotaActivity">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="REGISTRO DE MASCOTAS"
android:textSize="25sp"
android:textStyle="bold"
android:layout_marginBottom="30dp"/>

<EditText
android:id="@+id/campoNombreMascota"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nombre Mascota"/>

<EditText
android:id="@+id/campoRaza"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Raza Mascota"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Dueño"
android:textSize="20sp"/>

<Spinner
android:id="@+id/comboDuenioMascota"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

<Button
android:id="@+id/btnRegistroMascota"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Registrar Mascota"
android:layout_marginTop="30dp"
android:onClick="onClick"/>

</LinearLayout>

USUARIO – ENTIDAD
package com.example.andre.ejemplosqlite.entidades;

//Creamos la estructura de la tabla usuarios

import java.io.Serializable;

public class Usuario implements Serializable{ //El implement


serializable solo es para pasar los datos de una activity a otra
private Integer id;
private String nombre;
private String telefono;

public Usuario(){
}

public Usuario(Integer id, String nombre, String telefono) {


this.id = id;
this.nombre = nombre;
this.telefono = telefono;
}

public Integer getId() {


return id;
}

public void setId(Integer id) {


this.id = id;
}

public String getNombre() {


return nombre;
}

public void setNombre(String nombre) {


this.nombre = nombre;
}

public String getTelefono() {


return telefono;
}

public void setTelefono(String telefono) {


this.telefono = telefono;
}
}

REGISTROMASCOTAACTIVITY.JAVA

package com.example.andre.ejemplosqlite;

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.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

import com.example.andre.ejemplosqlite.entidades.Usuario;
import com.example.andre.ejemplosqlite.utilidades.Utilidades;

import java.util.ArrayList;
public class RegistroMascotaActivity extends AppCompatActivity {

EditText razaMascota, nombreMascota;


Spinner comboDuenio;

ArrayList<String> listaPersonas;
ArrayList<Usuario> personasList;

ConexionSQLiteHelper conn;

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

razaMascota = findViewById(R.id.campoRaza);
nombreMascota = findViewById(R.id.campoNombreMascota);
comboDuenio = findViewById(R.id.comboDuenioMascota);

conn = new ConexionSQLiteHelper(getApplicationContext(),


"bd_usuarios", null, 1);

consultarListaPersonas();

ArrayAdapter<CharSequence> adaptador = new ArrayAdapter


(this, android.R.layout.simple_spinner_item,
listaPersonas);

comboDuenio.setAdapter(adaptador);

comboDuenio.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View
view, int position, long idl) {

@Override
public void onNothingSelected(AdapterView<?> adapterView)
{

}
});

private void registrarMascota() {

SQLiteDatabase db = conn.getWritableDatabase();

ContentValues values = new ContentValues();


values.put(Utilidades.CAMPO_NOMBRE_MASCOTA,
nombreMascota.getText().toString());
values.put(Utilidades.CAMPO_RAZA_MASCOTA,
razaMascota.getText().toString());

int idCombo = (int) comboDuenio.getSelectedItemId();


/**
* Valida la seleccion del combo de dueños, si el usuario
elige "seleccione" entonces
* se retorna el id 0 ya que la palabra "seleccione" se
encuentra en la pos 0 del combo,
* sinó entonces se retorna la posicion del combo para
consultar el usuario almacenado en la lista
*/
if (idCombo != 0) {
Log.i("TAMAÑO", personasList.size() + "");
Log.i("id combo", idCombo + "");
Log.i("id combo - 1", (idCombo - 1) + "");//se resta 1 ya
que se quiere obtener la posicion de la lista, no del combo
int idDuenio = personasList.get(idCombo - 1).getId();
Log.i("id DUEÑO", idDuenio + "");

values.put(Utilidades.CAMPO_ID_DUENIO, idDuenio);

Long idResultante = db.insert(Utilidades.TABLA_MASCOTA,


Utilidades.CAMPO_ID_MASCOTA, values);

Toast.makeText(getApplicationContext(), "Id Registro: " +


idResultante, Toast.LENGTH_SHORT).show();
db.close();

} else {
Toast.makeText(getApplicationContext(), "Debe seleccionar
un Dueño", Toast.LENGTH_LONG).show();
}

private void consultarListaPersonas() {


SQLiteDatabase db = conn.getReadableDatabase();

Usuario persona = null;


personasList = new ArrayList<Usuario>();
//select * from usuarios
Cursor cursor = db.rawQuery("SELECT * FROM " +
Utilidades.TABLA_USUARIO, null);

while (cursor.moveToNext()) {
persona = new Usuario();
persona.setId(cursor.getInt(0));
persona.setNombre(cursor.getString(1));
persona.setTelefono(cursor.getString(2));

Log.i("id", persona.getId().toString());
Log.i("Nombre", persona.getNombre());
Log.i("Tel", persona.getTelefono());

personasList.add(persona);

}
obtenerLista();
}

private void obtenerLista() {


listaPersonas = new ArrayList<String>();
listaPersonas.add("Seleccione");
for (int i = 0; i < personasList.size(); i++) {
listaPersonas.add(personasList.get(i).getId() + " - " +
personasList.get(i).getNombre());
}

public void onClick(View view) {


switch (view.getId()) {
case R.id.btnRegistroMascota:
registrarMascota();
}
}
}

CONSULTAMOS LISTA DE MASCOTAS


LISTAMASCOTASACTIVITY.JAVA

package com.example.andre.ejemplosqlite;

import android.content.Intent;
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.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import com.example.andre.ejemplosqlite.entidades.Mascota;
import com.example.andre.ejemplosqlite.utilidades.Utilidades;

import java.util.ArrayList;

public class ListaMascotasActivity extends AppCompatActivity {

ListView listViewMascota;
ArrayList<String> listaInformacion;
ArrayList<Mascota> listaMascotas;

ConexionSQLiteHelper conn;

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

conn = new ConexionSQLiteHelper(getApplicationContext(),


"bd_usuarios", null, 1);

listViewMascota = findViewById(R.id.listViewMascotas);

consultarListaPersonas();

ArrayAdapter adaptador = new ArrayAdapter(this,


android.R.layout.simple_list_item_1, listaInformacion);
listViewMascota.setAdapter(adaptador);

listViewMascota.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View
view, int pos, long l) {

Mascota mascota = listaMascotas.get(pos);

Intent intent = new Intent(ListaMascotasActivity.this,


DetalleMascotaActivity.class);

Bundle bundle = new Bundle();


bundle.putSerializable("mascota", mascota);

intent.putExtras(bundle);
startActivity(intent);
}
});
}

private void consultarListaPersonas() {


SQLiteDatabase db = conn.getReadableDatabase();

Mascota mascota = null;


listaMascotas = new ArrayList<Mascota>();
//select * from usuarios
Cursor cursor = db.rawQuery("SELECT * FROM " +
Utilidades.TABLA_MASCOTA, null);

while (cursor.moveToNext()) {
mascota = new Mascota();
mascota.setIdMascota(cursor.getInt(0));
mascota.setNombreMascota(cursor.getString(1));
mascota.setRaza(cursor.getString(2));
mascota.setIdDuenio(cursor.getInt(3));

listaMascotas.add(mascota);
}
obtenerLista();
}

private void obtenerLista() {


listaInformacion = new ArrayList<String>();

for (int i = 0; i < listaMascotas.size(); i++) {


listaInformacion.add(listaMascotas.get(i).getIdMascota() +
" - "
+ listaMascotas.get(i).getNombreMascota());
}
}
}
CONSULTAMOS DETALLES DE MASCOTA

ACTIVITY_DETALLE_MASCOTA.XML

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_detalle_mascota"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:orientation="vertical"
tools:context=".DetalleMascotaActivity">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="INFORMACION MASCOTA"
android:layout_marginBottom="10dp"
android:textStyle="bold"
android:textSize="18sp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="id mascota"
android:textStyle="bold"
android:textSize="18sp"/>

<TextView
android:id="@+id/campoIdMascota"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="1094"
android:layout_marginBottom="10dp"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Nombre Mascota"
android:textStyle="bold"
android:textSize="18sp"/>

<TextView
android:id="@+id/campoNombreMascota"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Cristian David Henao"
android:layout_marginBottom="10dp"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Raza"
android:textStyle="bold"
android:textSize="18sp"/>

<TextView
android:id="@+id/campoRaza"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="75845682"
android:layout_marginBottom="10dp"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="INFORMACION DUEÑO"
android:layout_marginTop="20dp"
android:layout_marginBottom="10dp"
android:textStyle="bold"
android:textSize="18sp"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="id"
android:textStyle="bold"
android:textSize="18sp"/>
<TextView
android:id="@+id/campoId"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="1094"
android:layout_marginBottom="10dp"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="nombre"
android:textStyle="bold"
android:textSize="18sp"/>

<TextView
android:id="@+id/campoNombre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Cristian David Henao"
android:layout_marginBottom="10dp"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="telefono"
android:textStyle="bold"
android:textSize="18sp"/>

<TextView
android:id="@+id/campoTelefono"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="75845682"
android:layout_marginBottom="10dp"/>

</LinearLayout>

DETALLEMASCOTAACTIVITY.JAVA

package com.example.andre.ejemplosqlite;

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

import com.example.andre.ejemplosqlite.entidades.Mascota;
import com.example.andre.ejemplosqlite.utilidades.Utilidades;

public class DetalleMascotaActivity extends AppCompatActivity {

ConexionSQLiteHelper conn;
TextView campoIdMascota, campoNombreMascota, campoRaza;
TextView campoIdPersona, campoNombrePersona, campoTelefonoPersona;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detalle_mascota);

conn = new ConexionSQLiteHelper(getApplicationContext(),


"bd_usuarios", null, 1);

campoIdPersona = findViewById(R.id.campoId);
campoNombrePersona = findViewById(R.id.campoNombre);
campoTelefonoPersona = findViewById(R.id.campoTelefono);

campoIdMascota = findViewById(R.id.campoIdMascota);
campoNombreMascota = findViewById(R.id.campoNombreMascota);
campoRaza = findViewById(R.id.campoRaza);

Bundle objetoEnviado = getIntent().getExtras();


Mascota mascota = null;

if (objetoEnviado != null) {
mascota = (Mascota)
objetoEnviado.getSerializable("mascota");
campoIdMascota.setText(mascota.getIdMascota().toString());

campoNombreMascota.setText(mascota.getNombreMascota().toString());
campoRaza.setText(mascota.getRaza().toString());
consultarPersona(mascota.getIdDuenio());
}

private void consultarPersona(Integer idPersona) {


SQLiteDatabase db = conn.getReadableDatabase();
String[] parametros = {idPersona.toString()};
String[] campos = {Utilidades.CAMPO_NOMBRE,
Utilidades.CAMPO_TELEFONO};
Toast.makeText(getApplicationContext(), "El documento " +
idPersona, Toast.LENGTH_LONG).show();
try {
Cursor cursor = db.query(Utilidades.TABLA_USUARIO, campos,
Utilidades.CAMPO_ID + "=?", parametros, null, null, null);
cursor.moveToFirst();
campoIdPersona.setText(idPersona.toString());
campoNombrePersona.setText(cursor.getString(0));
campoTelefonoPersona.setText(cursor.getString(1));
cursor.close();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "El documento no
existe", Toast.LENGTH_LONG).show();
campoNombrePersona.setText("");
campoTelefonoPersona.setText("");
}

}
}
LLENAR RECYCLER CON INFO DE BD

ACTIVITY_LISTA_PERSONAS_RECYCLER.XML

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_lista_personas_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
tools:context=".ListaPersonasRecycler">

<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerPersonas"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

</RelativeLayout>
CREAMOS ELD ETALLE INDIVIDUAL DE LA LISTA DE PERSONAS

LIST_ITEM_PERSONAS.XML

LIST_ITEM_PERSONAS.XML

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/linearLayout"
android:layout_marginBottom="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Documento:"
android:textStyle="bold"/>

<TextView
android:id="@+id/textDocumento"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1094899"
android:layout_marginLeft="10dp"/>

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nombre:"
android:textStyle="bold"/>

<TextView
android:id="@+id/textNombre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cristian David Henao"
android:layout_marginLeft="10dp"/>

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Telefono:"
android:textStyle="bold"/>

<TextView
android:id="@+id/textTelefono"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="311358639"
android:layout_marginLeft="10dp"/>

</LinearLayout>

<TextView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/colorPrimary"
android:layout_below="@+id/idImagen"
android:layout_marginTop="11dp" />

</LinearLayout>
<ImageView
android:id="@+id/imageFlecha"
android:layout_width="30dp"
android:layout_height="match_parent"
android:src="@drawable/flech"
android:layout_alignBottom="@+id/linearLayout"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginBottom="10dp"/>

</RelativeLayout>

LISTAPERSONASADAPTER.JAVA

package com.example.andre.ejemplosqlite.adaptadores;

import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.example.andre.ejemplosqlite.R;
import com.example.andre.ejemplosqlite.entidades.Usuario;

import java.util.ArrayList;

public class ListaPersonasAdapter extends


RecyclerView.Adapter<ListaPersonasAdapter.PersonasViewHolder> {

ArrayList<Usuario> listaUsuario;

public ListaPersonasAdapter(ArrayList<Usuario> listaUsuario) {


this.listaUsuario = listaUsuario;
}

@Override
public PersonasViewHolder onCreateViewHolder(ViewGroup parent, int
viewType) {
View view =
LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_pe
rsonas,null,false);
return new PersonasViewHolder(view);
}

@Override
public void onBindViewHolder(PersonasViewHolder holder, int
position) {

holder.documento.setText(listaUsuario.get(position).getId().toString()
);
holder.nombre.setText(listaUsuario.get(position).getNombre());

holder.telefono.setText(listaUsuario.get(position).getTelefono());
}

@Override
public int getItemCount() {
return listaUsuario.size();
}

public class PersonasViewHolder extends RecyclerView.ViewHolder {

TextView documento,nombre,telefono;

public PersonasViewHolder(View itemView) {


super(itemView);
documento = (TextView)
itemView.findViewById(R.id.textDocumento);
nombre = (TextView)
itemView.findViewById(R.id.textNombre);
telefono = (TextView)
itemView.findViewById(R.id.textTelefono);
}
}
}

LISTAPERSONASRECYCLER.JAVA

package com.example.andre.ejemplosqlite;

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;

import
com.example.andre.ejemplosqlite.adaptadores.ListaPersonasAdapter;
import com.example.andre.ejemplosqlite.entidades.Usuario;
import com.example.andre.ejemplosqlite.utilidades.Utilidades;

import java.util.ArrayList;

public class ListaPersonasRecycler extends AppCompatActivity {

ArrayList<Usuario> listaUsuario;
RecyclerView recyclerViewUsuarios;

ConexionSQLiteHelper conn;

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

conn=new
ConexionSQLiteHelper(getApplicationContext(),"bd_usuarios",null,1);

listaUsuario=new ArrayList<>();

recyclerViewUsuarios= (RecyclerView)
findViewById(R.id.recyclerPersonas);
recyclerViewUsuarios.setLayoutManager(new
LinearLayoutManager(this));

consultarListaPersonas();
ListaPersonasAdapter adapter=new
ListaPersonasAdapter(listaUsuario);
recyclerViewUsuarios.setAdapter(adapter);

private void consultarListaPersonas() {


SQLiteDatabase db=conn.getReadableDatabase();

Usuario usuario=null;
// listaUsuarios=new ArrayList<Usuario>();
//select * from usuarios
Cursor cursor=db.rawQuery("SELECT * FROM "+
Utilidades.TABLA_USUARIO,null);

while (cursor.moveToNext()){
usuario=new Usuario();
usuario.setId(cursor.getInt(0));
usuario.setNombre(cursor.getString(1));
usuario.setTelefono(cursor.getString(2));

listaUsuario.add(usuario);
}
}

private void llenarListaUsuarios() {


listaUsuario.add(new Usuario(1,"Cristian","548526"));
listaUsuario.add(new Usuario(1,"Cristian","548526"));
listaUsuario.add(new Usuario(1,"Cristian","548526"));
listaUsuario.add(new Usuario(1,"Cristian","548526"));
listaUsuario.add(new Usuario(1,"Cristian","548526"));
listaUsuario.add(new Usuario(1,"Cristian","548526"));
listaUsuario.add(new Usuario(1,"Cristian","548526"));
}
}
GRADLE

apply plugin: 'com.android.application'

android {
compileSdkVersion 26
defaultConfig {
applicationId "com.example.andre.ejemplosqlite"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-
android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.0.0'
implementation 'com.android.support.constraint:constraint-
layout:1.1.3'
testImplementation 'junit:junit:4.12'
implementation 'com.android.support:recyclerview-v7:26.0.0'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation
'com.android.support.test.espresso:espresso-core:3.0.2'
}

También podría gustarte