java - 从sqlite数据库android中获取所有表名列表到数组中

标签 java android sqlite android-sqlite

如何获取我在 SQlite 数据库中创建的所有表到字符串数组?请给我建议。预先感谢我的数据库类如下

private static class DBHelper extends SQLiteOpenHelper {

   /* public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }*/
   public DBHelper(Context context) {
       super(context, DB_NAME, null, DB_VIRSION);
       // TODO Auto-generated constructor stub
   }
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE "+DB_TABLE+" ("+
                        KEY_ROWID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+
                        KEY_NAME+" TEXT NOT NULL, "+
                        KEY_MOBILE+" NUMBER NOT NULL, "+
                        KEY_DATE+" TEXT NOT NULL);"
        );
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS "+DB_TABLE);
    }
}
public MyDatabase(Context c){
    ourContext=c;
}
public MyDatabase open(){
    ourHelper=new DBHelper(ourContext);
    ourDatabase=ourHelper.getWritableDatabase();
    return this;
}
public void close(){
    ourHelper.close();
}

最佳答案

尝试此代码示例

ArrayList<String> arrTblNames = 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);

        if (c.moveToFirst()) {
            while ( !c.isAfterLast() ) {
                arrTblNames.add( c.getString( c.getColumnIndex("name")) );
                c.moveToNext();
            }
        }

关于java - 从sqlite数据库android中获取所有表名列表到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27884310/

相关文章:

java - Maven 插件 - 在存储库中搜索 net.abc 并且应该搜索 net/abc

java - 使用 ContentResolver 和 openInputStream() (Android)

java - 没有默认构造函数

android - BackupManager 不调用备份传输

java - SQLite异常: no such column error

java - Android应用程序远程数据库同步

java - 从 HttpPost Android 中提取 URL

java - 更改屏幕 LWJGL 窗口出现

java - 如何将网页上的图片加载到webview中?

sqlite - 未知的SQL(ITE)语法错误