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 tablesInDB(SQLiteDatabase db){  ArrayList list = new ArrayList();  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;}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多相关文章

  1. Android系统配置数据库注释(settings.db)
  2. Android(安卓)无法查看外部依赖jar的源码的问题
  3. Android(安卓)中数据库查询方法 query() 中的 select
  4. [置顶] android orm映射框架(类似hibernate)基本使用
  5. Android下打印调用栈
  6. Android查看系统信息
  7. Android:getWritableDatabase/getReadableDatabase无法调用onCre
  8. Android(安卓)SQLiteDatabase的使用
  9. android SQLite数据库基本操作示例

随机推荐

  1. android 4中新增的日历处理相关API
  2. 使用valgrind检测Android(安卓)native程
  3. Android(安卓)数据序列化总结
  4. PendingIntent
  5. Android学习(八) 打开Activity
  6. Android中自定义属性(attrs.xml,TypedArra
  7. Android中的Space组件
  8. android模仿铃声选择功能
  9. 【Android(安卓)Api 翻译4】android api
  10. Activity启动过程分析