SharePreferences的概念:轻量级的数据存储方法
以键值对来存储应用程序的配置信息,只能保存基本数据类型。
*、保存用户私有数据和配置。
*、需要存储到外部介质中。
SharedPreferences的使用;
*、使用上下文Context获取SharedPreferences对象。
SharedPreferences getSharedPreferences(String name,int accessMode)
name 利用上下文获取SharedPreferences对象,name表示XML文件名,accessMode为访问权限
*、数据库概念和操作
*、SQLite的介绍与使用
*、sqliteDatabase命令:
实例,*、通过openOrCreateDatabase静态方法来获取实例
*、通过execSQL(String cmd)可以执行命令
这个方法没有返回值,不能用来查询,
String path = getFileDir().getAbsolutePath()
+"/database.db";
SQLiteDatabase database = SQLiteDatabase.
openOrCreateDatabase(path,null);
String sql = "create table books....;";
database.execSQL(sql);
*、database.execSQL(String sql,Object [] bindArgs);通过占位符提高代码的灵活性。
String path = getFileDir().getAbsolutePath()
+"/database.db";
SQLiteDatabase database = SQLiteDatabase.
openOrCreateDatabase(path,null);
String sql = "insert into books values(?,?,?,?);";
Object [] bindArgs = {id,bookname,auther,Category};
database.execSQl(sql,bindArgs);
*、有返回值的SQLiteDatabaase的方法
*、rawQuery(String sql,String [] selectionArgs)返回一个Cursor的实例
数据库查询结果用Cursor表示,Cursor是代表若干条结果的集合,Cursor有一个position属性,表示Cursor正在访问那条数据,
Cursor中的方法:
*、cursor.getString(1);将Cursor.moveToFirst则position转到第一条,则得到第一条,第一列
*、cursor 的遍历
for(cursor.moveToFirst(),!cursor.isAfterlast(),cursor.moveTOnext())
*cursor.getColumnIndex("id");可以获得id所在类的position
cursor.getInt(cursor.getColumnIndex("id"))得到id的值
ContentValues对象帮助我们简化数据库命令:
*insert(String table,String nullColumnHack,ContentValues values);
eg,:
ContentValues values = new ContentValues();
values.put("id","1");
values.put("bookname","tian");
database.insert(bookname,null,values);
*updata(String table,ContentValues valuse,String WhereClause,String []
whereArgs)
ContentValues values = new ContentValues();
values.put("id","1");
String [] where={""+4};
database.updata(bookname,values "id=?",where);
将where里的内容补全?,执行更新语句
*delete(String table,String whereClause,String [] whereArgs)
database.delete(bookname,"id=0",null);
*查询 Cursor query(String table表名,
String [] columas显示那个列null是显示多有的列,
String selection查询条件,
String [] selectionArgs查询条件的参数,
String groupBy,
String having语法have,可以为null,
String orderBy语法,按xx排序,可以为null)
eg:Cursor cursor = database.query(bookname,null,null,null,null,null,null);
SQLiteOpenHelper来创建表,就能实现不重复建立数据库
*、继承SQLiteOpenhelper类,覆盖onCreate方法。
使用getWritableDatabase、getReadableDatabase来获取SQLiteDatabase实例
MyOpenhelper openHelper = new MyOpenHelper(getApplicateionContext(),"database.db数据库名",null,1版本);
database.openHelper.getWritableDatabase();
class MyOpenHelper extends SQLiteOpenhelper{
public void onCreate(SQliteDatabase arg0)
final String sql = "创建一个表"
arg0.execSQl(sql);
}
*、SQLiteDatabase
*、ContentProvider
数据存储检索
猜你喜欢
转载自blog.csdn.net/tst116/article/details/70237666
今日推荐
周排行