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代码设置EditText只输入数字、字母
  2. android手机开机动画相关代码解析
  3. Android 代码混淆及第三方jar包不被混淆
  4. android 在代码中获取SHA1值
  5. Android Studio 第四十九期 - Sqlite数据库四种写法
  6. Android中SQLite数据库操作(2)——SQLiteOpenHelper类
  7. Android studio cmd命令行操作数据库文件导出,导入
  8. [转CSDN]android 滑动入门代码...[geoway]
  9. Android 图片对比(图片相似度)代码

随机推荐

  1. 别再问我Android前景如何
  2. android 中一个工程引用另一个工程
  3. Android中网络编程以及与服务器上Web项目
  4. Android(安卓)SDK Manager更新 != 问题
  5. 2011Android技术面试整理附有详细答案(包
  6. Android用户近60%仍使用2.3版本 4.0版本
  7. Android的内存机制和溢出说明
  8. [Android]你不知道的Android进程化(3)--
  9. Android内存阀值修改--内存回收机制配置
  10. 电子书 android高薪之路-android程序员面