Android SQLite数据库中的表详解
更新时间:2017年01月20日 09:01:39 投稿:lqh
这篇文章主要介绍了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<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; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
解析Android中如何做到Service被关闭后又自动启动的实现方法
本篇文章是对在Android中如何做到Service被关闭后又自动启动的方法进行了详细的分析和介绍。需要的朋友参考下2013-05-05Android入门之Gallery+ImageSwitcher用法实例解析
这篇文章主要介绍了Android入门之Gallery+ImageSwitcher用法,对Android初学者有很好的参考借鉴价值,需要的朋友可以参考下2014-08-08Android startActivityForResult()代替方案示例
这篇文章主要为大家介绍了Android startActivityForResult()代替方案示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-08-08
最新评论