android 数据库 总结
第一步:自己编写一个类 继承 SQLiteOpenHelper,如下
package com.example.wxj2048;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class Dbdao extends SQLiteOpenHelper{
private static final String DBNAME = "mldn.db";
private static final int DBVERSION = 1;
private static final String TABNAME = "game2048";
public Dbdao(Context context){
super(context, DBNAME, null, DBVERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String sql =" CREATE TABLE "+ TABNAME+" (" +
" id INTEGER ," +
" score INTEGER "+
") ";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
String sql = " DROP TABLE IF EXISTS " + TABNAME;
db.execSQL(sql);
this.onCreate(db);
}
public void insert(Integer score){
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put("id", 1);
values.put("score", score);
db.insert(TABNAME, null, values);
db.close();
}
public void delete(){
SQLiteDatabase db = getWritableDatabase();
String[] data = new String[1];
data[0] = "1";
db.delete(TABNAME,"id = ?",data);
db.close();
}
public Integer query(){
SQLiteDatabase db = getWritableDatabase();
Cursor c = db.query(TABNAME, null, null, null, null, null, null);
c.moveToFirst();
int index = c.getColumnIndex("score");
String result = c.getString(index);
db.close();
return Integer.valueOf(result);
}
}
第二步;就可以创建 Dbdao 对象,然后使用数据库
我们总结一下 Cursor 的重要方法
close()
关闭游标,释放资源
关闭游标,释放资源
getColumnCount()
返回所有列的总数
返回所有列的总数
getColumnIndex(String columnName)
返回指定列的名称,如果不存在返回-1
返回指定列的名称,如果不存在返回-1
getColumnName(int columnIndex)
从给定的索引返回列名
从给定的索引返回列名
getColumnNames()
返回一个字符串数组的列名
返回一个字符串数组的列名
getCount()
返回Cursor 中的行数
返回Cursor 中的行数
moveToFirst()
移动光标到第一行
移动光标到第一行
moveToLast()
移动光标到最后一行
移动光标到最后一行
moveToNext()
移动光标到下一行
移动光标到下一行
访问 Cursor 的下标获得其中的数据
int nameColumnIndex = cur.getColumnIndex(People.NAME);
String name = cur.getString(nameColumnIndex);
int nameColumnIndex = cur.getColumnIndex(People.NAME);
String name = cur.getString(nameColumnIndex);