freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

[計算機軟件及應用]android應用與游戲開發(fā)第8章數(shù)據(jù)存儲與訪問(參考版)

2024-12-11 02:20本頁面
  

【正文】 ContentValues類是一個數(shù)據(jù)承載容器,主要用來向數(shù)據(jù)庫表中添加一條數(shù)據(jù) 數(shù)據(jù)庫存儲 ? 數(shù)據(jù)操作 ? 第 4行代碼向 ContentValues對象 newValues中添加一個名稱/值對, put()函數(shù)的第 1個參數(shù)是名稱,第 2個參數(shù)是值 ? 在第 8行代碼的 insert()函數(shù)中,第 1個參數(shù)是數(shù)據(jù)表的名稱,第 2個參數(shù)是在 NULL時的替換數(shù)據(jù),第 3個參數(shù)是需要向數(shù)據(jù)庫表中添加的數(shù)據(jù) 1. public long insert(People people) { 2. ContentV。 14. return result。 12. result += 年齡: + + , 。 10. result += ID: + + , 。 5. public float Height。 3. public String Name。 4. public void create() { 5. (DB_NAME, , null) 6. (DB_CREATE)。 18. } 19. } 數(shù)據(jù)庫存儲 ? 代碼建庫 ? 在代碼第 11行中,通過調用 SQLiteDatabase對象的execSQL()方法,執(zhí)行創(chuàng)建表的 SQL命令。 onCreate()函數(shù)在數(shù)據(jù)庫第一次建立時被調用,一般用來用來創(chuàng)建數(shù)據(jù)庫中的表,并做適當?shù)某跏蓟ぷ? 14. Override 15. public void onUpgrade(SQLiteDatabase _db, int _oldVersion, int _newVersion) { 16. (DROP TABLE IF EXISTS + DB_TABLE)。 8. 9. Override 10. public void onCreate(SQLiteDatabase _db) { 11. (DB_CREATE)。這個兩個函數(shù)會根據(jù)數(shù)據(jù)庫是否存在、版本號和是否可寫等情況,決定在返回數(shù)據(jù)庫對象前,是否需要建立數(shù)據(jù)庫 數(shù)據(jù)庫存儲 ? 代碼建庫 ? 在代碼第 30行的 close()函數(shù)中,調用了 SQLiteDatabase對象的 close()方法關閉數(shù)據(jù)庫 ? 這是上面的代碼中,唯一的一個地方直接調用了SQLiteDatabase對象的方法 ? SQLiteDatabase中也封裝了打開數(shù)據(jù)庫的函數(shù)openDatabases()和創(chuàng)建數(shù)據(jù)庫函數(shù)openOrCreateDatabases(),因為代碼中使用了幫助類SQLiteOpenHelper,從而避免直接調用 SQLiteDatabase中的打開和創(chuàng)建數(shù)據(jù)庫的方法,簡化了數(shù)據(jù)庫打開過程中繁瑣的邏輯判斷過程 ? 代碼第 15行實現(xiàn)了內部靜態(tài)類 DBOpenHelper,繼承了幫助類 SQLiteOpenHelper 數(shù)據(jù)庫存儲 ? 代碼建庫 ? 重載了 onCreate()函數(shù)和 onUpgrade()函數(shù)的代碼如下 1. private static class DBOpenHelper extends SQLiteOpenHelper { 2. public DBOpenHelper(Context context, String name, CursorFactory factory, int version){ 3. super(context, name, factory, version)。 34. } 35. } 36. } 數(shù)據(jù)庫存儲 ? 代碼建庫 ? 第 11行代碼聲明了 SQLiteDatabase對象 db。 27. } 28. } 29. 數(shù)據(jù)庫存儲 ? 代碼建庫 ? 從代碼的第 2行到第 9行可以看出,在 DBAdapter類中首先聲明了數(shù)據(jù)庫的基本信息,包括數(shù)據(jù)庫文件的名稱、數(shù)據(jù)庫表格名稱和數(shù)據(jù)庫版本,以及數(shù)據(jù)庫表中的屬性名稱 ? 從這些基本信息上不難發(fā)現(xiàn),這個數(shù)據(jù)庫與前一小節(jié)手動建立的數(shù)據(jù)庫是完全相同的 30. public void close() { 31. if (db != null){ 32. ()。 23. try { 24. db = ()。 數(shù)據(jù)庫存儲 ? 代碼建庫 14. 15. private static class DBOpenHelper extends SQLiteOpenHelper {} 16. 17. public DBAdapter(Context _context) { 18. context = _context。 12. private final Context context。 9. public static final String KEY_HEIGHT = height。 7. public static final String KEY_NAME = name。 4. private static final int DB_VERSION = 1。 4. 1 Tom 21 5. 2 Jim 22 6. sqlite 數(shù)據(jù)庫存儲 ? 手動建庫 ? sqlite3工具還支持大量的命令,可以使用 .help命令查詢sqlite3的命令列表 編號 命令 說明 1 .bail ON|OFF 遇到錯誤時停止 , 缺省為 OFF 2 .databases 顯示數(shù)據(jù)庫名稱和文件位置 3 .dump ?TABLE? ... 將數(shù)據(jù)庫以 SQL文本形式導出 4 .echo ON|OFF 開啟和關閉回顯 5 .exit 退出 6 .explain ON|OFF 開啟或關閉適當輸出模式 , 如果開啟模式將更改為 column, 并自動設置寬度 數(shù)據(jù)庫存儲 ? 手動建庫 編號 命令 說明 7 .header(s) ON|OFF 開啟或關閉標題顯示 8 .help 顯示幫助信息 9 .import FILE TABLE 將數(shù)據(jù)從文件導入表中 10 .indices TABLE 顯示表中所的列名 11 .load FILE ?ENTRY? 導入擴展庫 12 .mode MODE ?TABLE? 設置輸入格式 13 .nullvalue STRING 打印時使用 STRING代替 NULL 14 .output FILENAME 將輸入保存到文件 15 .output stdout 將輸入顯示在屏幕上 16 .prompt MAIN CONTINUE 替換標準提示符 數(shù)據(jù)庫存儲 ? 手動建庫 編號 命令 說明 17 .quit 退出 18 .read FILENAME 在文件中執(zhí)行 SQL語句 19 .schema ?TABLE? 顯示表的創(chuàng)建語句 20 .separator STRING 更改輸入和導入的分隔符 21 .show 顯示當前設置變量值 22 .tables ?PATTERN? 顯示符合匹配模式的表名 23 .timeout MS 嘗試打開被鎖定的表 MS毫秒 24 .timer ON|OFF 開啟或關閉 CPU計時器 25 .width NUM NUM ... 設置 column模式的寬度 數(shù)據(jù)庫存儲 ? 代碼建庫 ? 在代碼中動態(tài)建立數(shù)據(jù)庫是比較常用的方法 ? 在程序運行過程中,當需要進行數(shù)據(jù)庫操作時,應用程序會首先嘗試打開數(shù)據(jù)庫,此時如果數(shù)據(jù)庫并不存在,程序則會自動建立數(shù)據(jù)庫,然后再打開數(shù)據(jù)庫 ? 在編程實現(xiàn)時,一般將所有對數(shù)據(jù)庫的操作都封裝在一個類中,因此只要調用這個類,就可以完成對數(shù)據(jù)庫的添加、更新、刪除和查詢等操作 數(shù)據(jù)庫存儲 ? 代碼建庫 ? 下面內容是 DBAdapter類的部分代碼,封裝了數(shù)據(jù)庫的建立、打開和關閉等操作 1. public class DBAdapter { 2. private static final String DB_NAME = 。 2. sqlite select * from peopleinfo。 3. select * from peopleinfo。 3. 1 Tom 21 4. 2 Jim 22 5. 3 Lily 19 6. sqlite 數(shù)據(jù)庫存儲 ? 手動建庫 ? 更新數(shù)據(jù)可以使用 update命令,命令格式為 [update 表名 set 屬性 =“ 新值” where 條件 ] ? 更新數(shù)據(jù)后,同樣使用 select命令顯示數(shù)據(jù),則可以確定數(shù)據(jù)是否正確更新 ? 下面的代碼將姓名為 Lily數(shù)據(jù)中的高度值更新為 1. sqlite update peopleinfo set height= where name=Lily。 _id name age height 1 Tom 21 2 Jim 22 3 Lily 19 數(shù)據(jù)庫存儲 ? 手動建庫 ? 在數(shù)據(jù)添加完畢后,使用 select命令,顯示指定數(shù)據(jù)表中的所有數(shù)據(jù)信息,命令格式為 [select 屬性 from 表名 ] ? 下面的代碼用來顯示 peopleinfo表的所有數(shù)據(jù) 1. select * from peopleinfo。Lily39。,22,)。 2. sqlite insert into peopleinfo values(null,39。Tom39。 4. sqlite 數(shù)據(jù)庫存儲 ? 手動建庫 ? 向 peopleinfo表中添加數(shù)據(jù),使用 insert into … values命令 ? 代碼運行成功后,數(shù)據(jù)庫的 peopleinfo表將有三條數(shù)據(jù)。 6. sqlite 數(shù)據(jù)庫存儲 ? 手動建庫 ? 為了確認數(shù)據(jù)表是否創(chuàng)建成功,可以使用 .tables命令,顯示當前數(shù)據(jù)庫中的所有表 ? 從下面的代碼中可以觀察到,當前數(shù)據(jù)庫僅有一個名為peopleinfo的表 ? 當然,也可以使用 .schema命令查看建立表時使用的SQL命令。 29. } 30. (msg)。 (height != null)) { 23. msg += 姓名: +name+,年齡: +age+,身高: +height+\n。 (age != null) amp。 20. } 21. } 22. if ((name != null) amp。amp。 (age)) { 17. age = attrValue。 16. } else if ((attrName != null) amp。amp。 13. String attrValue = (i)。 i count。 (person)) { 10. int count = ()。 9. if ((people != null) amp。 文件存儲 ? 資源文件 7. String age = null。 3. try { 4. while (() != ) { 5. String people = ()。 15. } 16. catch (IOException e) { } 17. } 18. } 文件存儲 ? 資源文件 ? 確認的方法 ? 右擊 ? 選擇“ Properties”打開 ? 在 Resource欄下的 Text file encoding中,選擇“ Other:UTF8” 文件存儲 ? 資源文件 ? /res/xml目錄下的 XML文件會轉換為一種高效的二進制格式 ? 說明如何在程序運行時讀取 /res/xml目錄下的 XML文件 ? 首先在 /res/xml目錄下創(chuàng)建一個名為 ? XML文件定義了多個 person元素,每個 person元素都包含三個屬性 name、 age和 height,分別表示姓名、年齡和身高 ? /res/xml/ 1. people 2. person name=李某某 age=21 he
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1