編輯:關於Android編程
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;
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
扣丁音樂(三)——UI框架的實現
一丶PagerSlidingTabStrp運用扣丁音樂1.0前部分(gif圖大小限制)演示:視頻教程中是直接將PagerSlidingTabStrp例子的主頁面拿來做主頁
Android用PopupWindow實現自定義Dailog
Android的PopupWindow是個很有用的widget,利用它可以實現懸浮窗體的效果,比如實現一個懸浮的菜單,最常見的應用就是在視頻播放界面裡,做一個工具欄,用來
詳解Android中ViewPager的PagerTabStrip子控件的用法
我們先來看一個小例子:可以看到,效果實現的也是很棒,比之前自定義的標簽指示器更加的流暢。下面,簡單介紹一下 PagerTabStrip和它的使用。PagerTabStri
Android學習教程之懸浮窗菜單制作(9)
本文實例為大家分享了Android懸浮窗菜單的具體代碼,供大家參考,具體內容如下MainActivity.java代碼:package siso.multilistvie