Android 代码实现查看SQLite数据库中的表
生活随笔
收集整理的這篇文章主要介紹了
Android 代码实现查看SQLite数据库中的表
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
以前寫PHP的時(shí)候,內(nèi)置了print_r()和var_dump()兩個(gè)函數(shù)用于打印輸出任意類型的數(shù)據(jù)內(nèi)部結(jié)構(gòu),現(xiàn)在做Android的開(kāi)發(fā),發(fā)現(xiàn)并沒(méi)有這種類似的函數(shù),對(duì)于數(shù)據(jù)庫(kù)的查看很不方便,于是就寫了一下查看數(shù)據(jù)庫(kù)表的方法代碼。
代碼實(shí)現(xiàn)
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";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);((Button)findViewById(R.id.btnQue)).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {MyDatabaseHelper dbhelper = new MyDatabaseHelper(SecondActivity.this, "BookStore.db", null, 1);SQLiteDatabase db = dbhelper.getWritableDatabase();//核心區(qū)//讀取系統(tǒng)表 sqlite_masterString sql = "select * from sqlite_master";Cursor cursor = db.rawQuery(sql, null);//打印表的所有列名Log.i(TAG, Arrays.toString(cursor.getColumnNames()));//打印當(dāng)前數(shù)據(jù)庫(kù)中的所有表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());}}});}}功能擴(kuò)展
查看表是否存在
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; }查看數(shù)據(jù)庫(kù)中有哪些表
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;}博客名稱:王樂(lè)平博客
博客地址:http://blog.lepingde.com
CSDN博客地址:http://blog.csdn.net/lecepin
總結(jié)
以上是生活随笔為你收集整理的Android 代码实现查看SQLite数据库中的表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3732: Network
- 下一篇: 输入法android版,享受流畅手机输入