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
getColumnName(int columnIndex)
从给定的索引返回列名
getColumnNames()
返回一个字符串数组的列名
getCount()
返回Cursor 中的行数
moveToFirst()
移动光标到第一行
moveToLast()
移动光标到最后一行
moveToNext()
移动光标到下一行
访问 Cursor 的下标获得其中的数据
int nameColumnIndex = cur.getColumnIndex(People.NAME);
String name = cur.getString(nameColumnIndex);
时间: 2024-10-09 22:18:34