本篇要講的是在本地端就可以執行的資料庫
第一步:到官網下載看資料庫資料需要的程式
https://sqlitebrowser.org/dl/
第二步:建立一個 class 叫做 StdDBHelper 然後繼承 SQLiteOpenHelper
這個class為創建這個資料庫的格式
spackage com.example.touth;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class StdDBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "Class.db";
private static final int DATABASE_VERSION = 1;
public StdDBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
//students為資料庫的名子
//id,X,Y分別代表資料庫的3個欄位
String creatSQL = "CREATE TABLE students (" +
"id INTEGER primary key AUTOINCREMENT, " +
"X VARCHAR(250)," +
"Y VARCHAR(250))";
db.execSQL(creatSQL);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
第三步:在主程式呼叫
static SQLiteDatabase db;
private StdDBHelper dbHelper;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Stetho.initializeWithDefaults(this);
start=findViewById(R.id.start);
start.setOnClickListener(this);
// myview=findViewById(R.id.myview);
dbHelper = new StdDBHelper(this);
db = dbHelper.getWritableDatabase(); // 開啟資料庫
}
第四步:把資料寫入資料庫
public boolean onTouchEvent(MotionEvent event) {
...
String insert = "INSERT INTO students( X,Y)" +
"VALUES (" + x +","+ y +");";
db.execSQL(insert);
}
第五步:關閉資料庫
protected void onStop() {
super.onStop();
db.close(); // 關閉資料庫
}
如要看到資料庫只需依續點擊即可
之後儲存那個class再到下載的程式打開即可
記得下載程式裡的 Table 需要點選自己創建的資料庫名稱