SQLite資料庫及在Android開發中的基本使用
SQLite資料庫的特點
輕量級資料庫,無需搭建服務器,
SQLite環境配置
這里提供從官網下載的方法,如果有Android Studio的專案,可以跳轉到本文:SQLite在Android中的應用,
1.進入sqlite官網(https://www.sqlite.org/index.html),進入Download

2.選擇Windows版本下的sqlite-tools,下載壓縮包

3.解壓后的檔案

4.進入系統環境配置界面(可在設定里面搜索),編輯環境變數

5.在系統變數的Path中添加sqlite3.exe的路徑(如C:\Program Files (x86)\sqlite-tools-win32-x86-3360000)

6.進入命令列,輸入sqlite3陳述句,測驗環境是否安裝成功

SQLite的常用基本操作
查看資料庫
.database
打開資料庫
.open 資料庫檔案名(后綴名為.db)

顯示該資料庫中的創建操作
.schema

查看資料表
.table
創建資料表(與SQL語言相同)
create table 表名(欄位1 資料型別, 欄位2 資料型別, ...);

SQL語言
SQL語言在這里都可以使用,如insert(),select,update()

SQLite在Android中的應用
找到sqlite3.exe
1.打開Android Studio,右上方找到SDK Manager,打開并復制SDK的路徑

2.在Sdk/platform-tools目錄下可以找到SQLite資料庫的運行檔案 sqlite3.exe,然后跟上面步驟一樣配置環境變數即可,

訪問資料庫
1.新建一個公共類繼承自SQLiteOpenHelper,建好以后需要重寫建構式,以及onCreate()和onUpgrade()兩個方法
public class MyOpenHelper extends SQLiteOpenHelper {
//重寫建構式
public MyOpenHelper(Context context){
super(context, "taskDB.db", null,1);
//taskDB.db為資料庫名,若不存在則創建
}
@Override
public void onCreate(SQLiteDatabase db) {
String create_sql =
"create table task(id INTEGER PRIMARY KEY AUTOINCREMENT, content varchar(50), status int);";
db.execSQL(create_sql); //執行SQL陳述句
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
對資料庫修改或插入
//新建MyOpenHelper實體,注意自己重新定義的建構式的引數
MyOpenHelper openHelper = new MyOpenHelper(this);
//通過getWritableDatabase()創建用于寫資料庫的實體
SQLiteDatabase writableDatabase = openHelper.getWritableDatabase();
//新建ContentValues類,用來存放插入資料庫的資料
ContentValues task_item = new ContentValues();
//ContentValues.put(key, value) key需要與資料表的欄位名對應
task_item.put("content", ((EditText) findViewById(R.id.Content)).getText().toString());
task_item.put("status",0);
//執行插入陳述句 writableDatabase.insert(資料表名, nullColumnHack, ContentValues)
//nullColumnHack通常為null
writableDatabase.insert("task", null, task_item);
//關閉資料庫,減少記憶體資源浪費
writableDatabase.close();
讀取資料庫
public List<TaskItem> task_list = new ArrayList<>();
public void ReadDataBase(){
MyOpenHelper openHelper = new MyOpenHelper(this);
//創建SQLiteDatabase實體并獲取ReadableDatabase
SQLiteDatabase read_db = openHelper.getReadableDatabase();
//使用ReadableDatabase中的游標
Cursor cursor = read_db.query("task",new String[]{"id", "content", "status"},null,null,null,null,null);
//使用while陳述句遍歷游標Cursor,將從資料庫獲取的資料放進list串列中
while(cursor.moveToNext()){
TaskItem task_item = new TaskItem();
//游標get方法傳入的欄位索引值是從0開始的
task_item.setId(cursor.getInt(0));
task_item.setContent(cursor.getString(1));
task_item.setStatus(cursor.getInt(2));
task_list.add(task_item);
}
//關閉游標和ReadableDatabase,減少記憶體資源浪費
cursor.close();
read_db.close();
}
class TaskItem {
private int id;
private String content;
private int status;
public int getId() {
return id;
}
public String getContent() {
return content;
}
public int getStatus() {
return status;
}
public void setId(int id) {
this.id = id;
}
public void setContent(String content) {
this.content = content;
}
public void setStatus(int status) {
this.status = status;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/349663.html
標籤:其他
上一篇:在Android studio上自定義精美界面,要求包含選項選單、背景關系選單及其對應的監聽事件(高級UI組件使用練習)附完整原始碼
