Qual você acha que seria a maneira certa de obter todos os nomes de tabelas de um banco de dados e adicioná-los a uma lista?
Agora fui tão longe:
final ArrayList<String> dirArray = new ArrayList<String>();
SqlHelper sqlHelper = new SqlHelper(this, "TK.db", null, 1);
SQLiteDatabase DB = sqlHelper.getWritableDatabase();
Cursor c = DB.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null);
c.moveToFirst();
while (c.isAfterLast() == false) {
dirArray.add("n" + c.getColumnIndex("name"));
c.moveToNext();
}
c.close();
Mas ele produz alguns "android_metadata" em vez do nome da minha tabela. Portanto, acho que há algo errado com a consulta.
Obrigado!
Acabei de fazer um teste rápido no plugin SQLite Manager no FireFox com o banco de dados SQLite com o qual estou trabalhando e a consulta que você está usando retorna os nomes das tabelas. Você está criando as tabelas corretamente e testou a existência de acordo com suas expectativas?
Para iterar, faça algo como:
if (c.moveToFirst())
{
while ( !c.isAfterLast() ){
dirArray.add( c.getString( c.getColumnIndex("name")) );
c.moveToNext();
}
}
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras