栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 移动开发 > Android

Android SQLite数据库中的表详解

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android SQLite数据库中的表详解

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;

}

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

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/160119.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号