Skip to content

Commit 5c5e76c

Browse files
committed
fixed listview for login adapter
1 parent 187173e commit 5c5e76c

File tree

3 files changed

+35
-37
lines changed

3 files changed

+35
-37
lines changed
Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.github.k3ssdev.loginformsqliteandroid;
22

33
import android.content.Intent;
4-
import android.database.Cursor;
54
import android.os.AsyncTask;
65
import android.os.Bundle;
76
import android.view.View;
@@ -10,7 +9,6 @@
109

1110
import androidx.appcompat.app.AppCompatActivity;
1211

13-
import java.util.ArrayList;
1412
import java.util.List;
1513

1614
public class LogActivity extends AppCompatActivity {
@@ -35,40 +33,28 @@ public void exit(View view) {
3533
finish(); // Cierra la actividad actual
3634
}
3735

38-
private class ConsultarLogin extends AsyncTask<Void, Void, List<String>> {
36+
private class ConsultarLogin extends AsyncTask<Void, Void, List<Login>> {
3937
@Override
40-
protected List<String> doInBackground(Void... voids) {
38+
protected List<Login> doInBackground(Void... voids) {
4139
// Obtiene los registros de SQLite llamando al método consultarRegistros
4240
SQLiteHandler sqLiteHandler = new SQLiteHandler(LogActivity.this);
43-
Cursor cursor = sqLiteHandler.consultarRegistros();
41+
List<Login> registros = sqLiteHandler.consultarRegistros();
42+
// Ordena los registros por fecha de forma descendente usando el campo timestamp
4443

45-
List<String> registros = new ArrayList<>();
4644

47-
while (cursor.moveToNext()) {
48-
String timestamp = cursor.getString(cursor.getColumnIndex("timestamp"));
49-
String usuario = cursor.getString(cursor.getColumnIndex("usuario"));
50-
String contrasena = cursor.getString(cursor.getColumnIndex("contrasena"));
51-
52-
// Aquí puedes construir el formato de registro que desees
53-
String registro = "Timestamp: " + timestamp + ", Usuario: " + usuario + ", Contraseña: " + contrasena;
54-
registros.add(registro);
55-
}
56-
57-
cursor.close();
58-
sqLiteHandler.cerrarBaseDeDatos();
5945

6046
return registros;
47+
6148
}
6249

6350
@Override
64-
protected void onPostExecute(List<String> registros) {
51+
protected void onPostExecute(List<Login> registros) {
6552
if (registros != null) {
66-
// Crea un adaptador personalizado para tu lista de registros
67-
ArrayAdapter<String> adapter = new ArrayAdapter<>(LogActivity.this, android.R.layout.simple_list_item_1, registros);
68-
53+
// Crea un adaptador personalizado para tu lista de usuarios
54+
LoginAdapter adapter = new LoginAdapter(LogActivity.this, registros);
6955
// Asigna el adaptador al ListView
7056
listView_apr.setAdapter(adapter);
7157
}
7258
}
7359
}
74-
}
60+
}

app/src/main/java/io/github/k3ssdev/loginformsqliteandroid/Login.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.github.k3ssdev.loginformsqliteandroid;
22

33
public class Login {
4-
private String usuario;
5-
private String contrasena;
6-
private String timestamp;
4+
private final String usuario;
5+
private final String contrasena;
6+
private final String timestamp;
77

88
public Login(String usuario, String contrasena, String timestamp) {
99
this.usuario = usuario;
@@ -23,12 +23,4 @@ public String getTimestamp() {
2323
return timestamp;
2424
}
2525

26-
@Override
27-
public String toString() {
28-
return "Login{" +
29-
"usuario='" + usuario + '\'' +
30-
", contrasena='" + contrasena + '\'' +
31-
", timestamp='" + timestamp + '\'' +
32-
'}';
33-
}
3426
}

app/src/main/java/io/github/k3ssdev/loginformsqliteandroid/SQLiteHandler.java

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package io.github.k3ssdev.loginformsqliteandroid;
22

3+
import android.annotation.SuppressLint;
34
import android.content.ContentValues;
45
import android.content.Context;
56
import android.database.Cursor;
67
import android.database.sqlite.SQLiteDatabase;
78
import java.sql.Timestamp;
9+
import java.util.ArrayList;
810
import java.util.Date;
11+
import java.util.List;
912

1013
public class SQLiteHandler {
1114

@@ -42,10 +45,27 @@ public void insertarRegistro(String usuario, String contrasena) {
4245
}
4346

4447
// Consulta los registros de la tabla
45-
public Cursor consultarRegistros() {
48+
public List<Login> consultarRegistros() {
4649
// Consulta los registros
47-
String[] columnas = {"id", "timestamp", "usuario", "contrasena"};
48-
return db.query(tableName_apr, columnas, null, null, null, null, "timestamp DESC");
50+
List<Login> registros = new ArrayList<>();
51+
Cursor cursor = db.query(tableName_apr, null, null, null, null, null, "timestamp DESC");
52+
53+
// Recorre los registros
54+
while (cursor.moveToNext()) {
55+
@SuppressLint("Range") String timestamp = cursor.getString(cursor.getColumnIndex("timestamp"));
56+
@SuppressLint("Range") String usuario = cursor.getString(cursor.getColumnIndex("usuario"));
57+
@SuppressLint("Range") String contrasena = cursor.getString(cursor.getColumnIndex("contrasena"));
58+
59+
// Crea un objeto Login y lo añade a la lista
60+
Login registro = new Login(timestamp, usuario, contrasena);
61+
registros.add(registro);
62+
}
63+
64+
// Cierra el cursor
65+
cursor.close();
66+
67+
// Devuelve la lista de registros
68+
return registros;
4969
}
5070

5171
// Elimina todos los registros de la tabla

0 commit comments

Comments
 (0)