Java 有人能帮我找到一种方法,在Android Studio应用程序的活动中显示新用户(新注册)的字段吗?
我正在开发一个需要注册用户的应用程序,数据库(SQLite)有三个表,cliente表包含usuario表的所有内容,trabalhador表包含usuario表没有的另外两行内容,而usuario表包含注册用户的所有信息,但我不确定是否还需要这两个表的id,trabalhador表和cliente表,因为如果我注册其中任何一个,它们都将是usuario,但我在考虑如何向新注册的用户显示其新注册的信息时产生了疑问 我知道如何显示包含所有已注册用户信息的ArrayList:Java 有人能帮我找到一种方法,在Android Studio应用程序的活动中显示新用户(新注册)的字段吗?,java,android,android-sqlite,Java,Android,Android Sqlite,我正在开发一个需要注册用户的应用程序,数据库(SQLite)有三个表,cliente表包含usuario表的所有内容,trabalhador表包含usuario表没有的另外两行内容,而usuario表包含注册用户的所有信息,但我不确定是否还需要这两个表的id,trabalhador表和cliente表,因为如果我注册其中任何一个,它们都将是usuario,但我在考虑如何向新注册的用户显示其新注册的信息时产生了疑问 我知道如何显示包含所有已注册用户信息的ArrayList: public Arra
public ArrayList<Usuario> getAllUsuarios() {
ArrayList<Usuario> listaUsuarios = new ArrayList<Usuario>();
String query = "SELECT * FROM " + TABELA_USUARIOS;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(query, null);
if (cursor.moveToFirst()) {
do {
Usuario usuario = cursorToUsuario(cursor); //método criado no banco de dados
listaUsuarios.add(usuario);
} while
(cursor.moveToNext());
}
return listaUsuarios;
在注册后重定向到活动中,但问题是使用此方法显示上次注册用户的数据。
我可以创建ArrayList以请求此活动中的所有注册用户:
final ArrayList<Usuario> listaUsuarios = bd.getAllUsuarios();
ArrayAdapter<Usuario> adapter = new ArrayAdapter<Usuario>(this,
android.R.layout.simple_list_item_1, listaUsuarios);
lvListaUsuarios.setAdapter(adapter);
final ArrayList listaUsuarios=bd.getAllUsuarios();
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,listaUsuarios);
lvListaUsuarios.setAdapter(适配器);
我可以显示此活动中的所有用户,但我在获取仅显示最后一个用户的正确逻辑时遇到问题
如果有人能在这方面给我任何帮助,我将不胜感激。您可以使用
ORDER BY DESC
或使用
使用按描述订购的:
public Usuario getLastUsuarios() {
String query = "SELECT * FROM " + TABELA_USUARIOS + " ORDER BY id DESC";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(query, null);
if (cursor.moveToFirst()) {
return cursorToUsuario(cursor);
}
// not found.
return null;
}
使用cursor.moveToLast()代码>:
请在复制粘贴代码之前尝试使用Ctrl+Alt+L。谢谢,您帮助了lot@GlaudistonNeto:不客气。如果此答案解决了问题,请将其标记为已接受答案。
public Usuario getLastUsuarios() {
String query = "SELECT * FROM " + TABELA_USUARIOS + " ORDER BY id DESC";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(query, null);
if (cursor.moveToFirst()) {
return cursorToUsuario(cursor);
}
// not found.
return null;
}
public Usuario getLastUsuario() {
SQLiteDatabase db = this.getReadableDatabase();
// get all rows in table.
Cursor cursor = db.query(TABELA_USUARIOS, null, null, null, null, null, null);
Usuario usuario = null;
if (cursor != null) {
cursor.moveToLast();
usuario = cursorToUsuario(cursor);
}
cursor.close();
return usuario;
}