Android SQLite数据库中的表详解
#技术教程 发布时间: 2026-01-18
Android SQLite数据库

前言
以前写PHP的时候,内置了print_r()和var_dump()两个函数用于打印输出任意类型的数据内部结构,现在做Android的开发,发现并没有这种类似的函数,对于数据库的查看很不方便,于是就写了一下查看数据库表的方法代码。
代码实现
import java.util.Arrays;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class SecondActivity extends Activity {
public static final String TAG = "Debug Info";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
((Button)findViewById(R.id.btnQue)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
MyDatabaseHelper dbhelper = new MyDatabaseHelper(SecondActivity.this, "BookStore.db", null, 1);
SQLiteDatabase db = dbhelper.getWritableDatabase();
//核心区
//读取系统表 sqlite_master
String sql = "select * from sqlite_master";
Cursor cursor = db.rawQuery(sql, null);
//打印表的所有列名
Log.i(TAG, Arrays.toString(cursor.getColumnNames()));
//打印当前数据库中的所有表
if (cursor.moveToFirst()) {
do {
String str = "";
for (String item : cursor.getColumnNames()) {
str += item + ": " + cursor.getString(cursor.getColumnIndex(item)) + "\n";
}
Log.i(TAG, str);
} while (cursor.moveToNext());
}
}
});
}
}
功能扩展
查看表是否存在
public Boolean tableIsExist(SQLiteDatabase db, String tableName){
boolean result = false;
Cursor cursor = null;
if(tableName == null){
return result;
}
String sql = "select count(*) from sqlite_master where type ='table' and name ='"+tableName.trim()+"'";
cursor = db.rawQuery(sql, null);
if(cursor.moveToNext()){
if(cursor.getInt(0) > 0){
result = true;
}
}
return result;
}
查看数据库中有哪些表
public ArrayList<String> tablesInDB(SQLiteDatabase db){
ArrayList<String> list = new ArrayList<String>();
String sql = "select name from sqlite_master where type='table'";
Cursor cursor = db.rawQuery(sql, null);
if (cursor.moveToFirst()) {
do {
list.add(cursor.getString(0));
} while (cursor.moveToNext());
}
return list;
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
上一篇 : 详解微信小程序入门五: wxml文件引用、模版、生命周期
下一篇 : mysql中的索引是什么_mysql索引基本概念解析
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!