Android SQLite數(shù)據(jù)庫中的表詳解
Android SQLite數(shù)據(jù)庫
前言
以前寫PHP的時候,內(nèi)置了print_r()和var_dump()兩個函數(shù)用于打印輸出任意類型的數(shù)據(jù)內(nèi)部結(jié)構(gòu),現(xiàn)在做Android的開發(fā),發(fā)現(xiàn)并沒有這種類似的函數(shù),對于數(shù)據(jù)庫的查看很不方便,于是就寫了一下查看數(shù)據(jù)庫表的方法代碼。
代碼實現(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"; @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(); //核心區(qū) //讀取系統(tǒng)表 sqlite_master String sql = "select * from sqlite_master"; Cursor cursor = db.rawQuery(sql, null); //打印表的所有列名 Log.i(TAG, Arrays.toString(cursor.getColumnNames())); //打印當前數(shù)據(jù)庫中的所有表 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; }
查看數(shù)據(jù)庫中有哪些表
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使用SQLite數(shù)據(jù)庫的示例
- ASP.net與SQLite數(shù)據(jù)庫通過js和ashx交互(連接和操作)
- SQLite3中文編碼 Python的實現(xiàn)
- 詳解Python 數(shù)據(jù)庫 (sqlite3)應(yīng)用
- c++獲取sqlite3數(shù)據(jù)庫表中所有字段的方法小結(jié)
- Python解析excel文件存入sqlite數(shù)據(jù)庫的方法
- c#幾種數(shù)據(jù)庫的大數(shù)據(jù)批量插入(SqlServer、Oracle、SQLite和MySql)
- Python Sqlite3以字典形式返回查詢結(jié)果的實現(xiàn)方法
- Android實現(xiàn)SQLite添加、更新及刪除行的方法
- SQLite Delete詳解及實例代碼
相關(guān)文章
解析Android中如何做到Service被關(guān)閉后又自動啟動的實現(xiàn)方法
本篇文章是對在Android中如何做到Service被關(guān)閉后又自動啟動的方法進行了詳細的分析和介紹。需要的朋友參考下2013-05-05Android入門之Gallery+ImageSwitcher用法實例解析
這篇文章主要介紹了Android入門之Gallery+ImageSwitcher用法,對Android初學者有很好的參考借鑒價值,需要的朋友可以參考下2014-08-08Android定制RadioButton樣式三種實現(xiàn)方法
三種方法實現(xiàn)Android定制RadioButton樣式:使用XML文件進行定義/在JAVA代碼中定義等等,感興趣的朋友可以參考下,希望可以幫助到你2013-02-02Android startActivityForResult()代替方案示例
這篇文章主要為大家介紹了Android startActivityForResult()代替方案示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08Android編程實現(xiàn)提取網(wǎng)址鏈接的方法
這篇文章主要介紹了Android編程實現(xiàn)提取網(wǎng)址鏈接的方法,涉及Android針對字符串的正則匹配操作相關(guān)技巧,需要的朋友可以參考下2016-10-10