我正在开发一个需要用户注册的应用程序,数据库(sqlite)具有三个表,clIEnte表具有usuario表具有的所有内容,trabalhador表具有usuario表不具有的另外两行,并且table usuario拥有已注册用户的所有信息,但是我不确定是否仍然需要这两个表trabalhador表和clIEnte表的ID,因为如果我注册它们中的任何一个,两者都将成为usuario ,但是在考虑如何向新注册用户显示他的新注册信息时,我有一个疑问.
我有一个好主意,如何显示一个ArrayList,其中包含所有已注册用户的信息:
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;
}
我还在数据库中创建了一个仅返回用户的方法:
public Usuario getUsuario(int ID) {sqliteDatabase db = this.getReadableDatabase();Cursor cursor = db.query( TABELA_USUARIOS, ColUNAS, "ID = ?", new String[]{String.valueOf(ID)}, null, null, null, null);if (cursor == null) { return null;} else { cursor.movetoFirst(); Usuario usuario = cursorToUsuario(cursor); //método também criado return usuario;}
注册后将其重定向到要重定向的活动,但是问题是使用此方法显示了最后注册用户的数据.
我可以创建一个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);
我可以显示此活动中的所有用户,但是我无法正确显示仅显示最后一个用户的逻辑…
如果有人可以给我任何帮助,我将非常感激.
解决方法:
您可以使用ORDER BY DESC或cursor.moveToLast()
.
使用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();:
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;}
总结 以上是内存溢出为你收集整理的java-谁能帮我找到一种方法,将新用户(新注册)的字段显示到Android Studio应用程序的活动中?全部内容,希望文章能够帮你解决java-谁能帮我找到一种方法,将新用户(新注册)的字段显示到Android Studio应用程序的活动中?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)