您好,登錄后才能下訂單哦!
這篇文章給大家介紹深入淺析Android 項(xiàng)目中SQLite的數(shù)據(jù)表,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
Android SQLite數(shù)據(jù)庫(kù)
以前寫PHP的時(shí)候,內(nèi)置了print_r()和var_dump()兩個(gè)函數(shù)用于打印輸出任意類型的數(shù)據(jù)內(nèi)部結(jié)構(gòu),現(xiàn)在做Android的開發(fā),發(fā)現(xiàn)并沒有這種類似的函數(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"; @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())); //打印當(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; }
關(guān)于深入淺析Android 項(xiàng)目中SQLite的數(shù)據(jù)表就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。