//創建數據庫,數據庫名稱為mydata.db
DatabaseHelper dbHelper = new DatabaseHelper(MyActivity.this, "mydata.db");
SQLiteDatabase db = dbHelper.getReadableDatabase();
public class DatabaseHelper extends SQLiteOpenHelper {
public DatabaseHelper(Context context, String name, CursorFactory cursorFactory, int version) {
super(context, name, cursorFactory, version);
}
public DatabaseHelper(Context context, String name) { //創建時只傳入兩個參數,可以不重寫
this(context, name, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO 創建數據庫后,對數據庫的操作
//創建一個表格,表格名為mytable,id自動增長,列數為三列,數據類型為varchar(字符串)
db.execSQL("CREATE TABLE mytable (_id INTEGER PRIMARY KEY AUTOINCREMENT, latitude varchar, longitude varchar, time varchar)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO 更改數據庫版本的操作
}
@Override
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
// TODO 每次成功打開數據庫后首先被執行
}
}
//插入
ContentValues values = new ContentValues();
values.put("latitude", strLatitude);
values.put("longitude", strLongitude);
values.put("time", time);
DatabaseHelper dbHelper = new DatabaseHelper(MyService.this, "mydata.db");
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.insert("mytable", null, values);
//查詢
DatabaseHelper dbHelper = new DatabaseHelper(MyActivity.this, "mydata.db");
SQLiteDatabase db = dbHelper.getReadableDatabase();
//(表名, new String[] {要查詢的列}, "_id=?", new String[] {要查詢的id}, 后面的是一些分組排列方式,想要用的話可以查一下,本人沒用到就全設為空值);
Cursor cursor = db.query("mytable", new String[] {"latitude", "longitude", "time"}, "_id=?", new String[] {id}, null, null, null);
while (cursor.moveToNext()) {
//查到后的操作,這里將輸出顯示在文本中
String latitudeStr = cursor.getString(cursor.getColumnIndex("latitude"));
String longitudeStr = cursor.getString(cursor.getColumnIndex("longitude"));
String timeStr = cursor.getString(cursor.getColumnIndex("time"));
txtQueryLongitude.setText(latitudeStr);
txtQueryLatitude.setText(longitudeStr);
txtQueryTime.setText(timeStr);
}
//查詢全部數據
Cursor mCursor = mSQLiteDatabase.rawQuery("SELECT * FROM mytable", null);
cursor.moveToFirst(); //指向第一條數據
while (!(cursor.isLast())) { //數據不為空
String latitudeStr = cursor.getString(cursor.getColumnIndex("latitude"));
String longitudeStr = cursor.getString(cursor.getColumnIndex("longitude"));
String timeStr = cursor.getString(cursor.getColumnIndex("time"));
Map<String, String> map = new HashMap<String, String>();
map.put("latitude", latitudeStr);
map.put("longitude", longitudeStr);
map.put("time", timeStr);
list.add(map); //list這里未定義,List<Map<String, String>>
cursor.moveToNext(); //指向下一條數據
}
//修改
DatabaseHelper dbHelper = new DatabaseHelper(MyActivity.this, "mydata.db");
SQLiteDatabase db = dbHelper.getReadableDatabase();
ContentValues values = new ContentValues();
values.put("name", strName);
db.update("mytable", values, "id=?", new String[]{修改的id});
//刪除
DatabaseHelper dbHelper = new DatabaseHelper(MyActivity.this, "mydata.db");
SQLiteDatabase db = dbHelper.getReadableDatabase();
db.delete("表名", "id=?", new String[]{1}); //刪除了id為1的數據
db.delete(“表名”,“id? and no=?”,new String[]{1, 1});//刪除了id為1且no為1的數據
本人發布的內容均為學習中用過的代碼,上傳主要為了方便以后的復習和為他人提供一些方便,一些代碼沒有上下文,新學的朋友有不懂或存在問題的地方可以留言。