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
數據存儲檢索
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.