




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
項目五數據持久化操作學習目標掌握使用SharedPreferences讀寫移動智能系統的配置文件掌握讀寫SD卡的圖片掌握使用AndroidAPI操作SQLite數據庫情景導入隨著智能手機的普及,越來越多的人習慣將一些重要資料保存到手機中,一旦手機沒電關機,保存的數據也會隨之丟失。因此Android提供了SharedPreferences、SD存儲、SQLite三種數據存儲機制來保存數據。本次任務主要實現登錄系統數據持久化操作。任務描述本任務將設計一款利用SharedPreferences、SD卡和SQLite存儲的“登錄系統”軟件。使用線性布局技術來設計登錄系統界面Logo界面,Toast提示“歡迎進入登錄系統”登錄界面,點擊“注冊”按鈕,跳轉到注冊界面注冊界面,輸入姓名、性別、用戶名、用戶密碼,點擊圖片拍照,點擊“注冊”按鈕進行注冊登錄界面,輸入已注冊的用戶名和用戶密碼,點擊“登錄”按鈕進行登錄登錄界面,點擊“記住密碼”選擇框,程序退出后再次進入登錄界面時,用戶名,用戶密碼依舊顯示登錄界面,點擊“自動登錄”選擇框,程序退出后再次進入登錄界面時,系統自動實現登錄功能【基本框架】基本框架如圖5.1、5.2所示,將框架圖轉換成的效果如圖5.3-5.6所示。任務描述圖5.1登錄系統Login界面框架圖圖5.2登錄系統Register界面框架圖
圖5.3登錄系統Logo界面效果圖
任務描述圖5.4登錄系統Login界面效果圖
圖5.5登錄系統Register界面效果圖圖5.6登錄系統Success界面效果圖任務技能技能點1SharedPreferences概述1SharedPreferences存儲類的特點SharedPreferences存儲類是以XML方式來保存,整體效率比較低,但對于常規的輕量級而言效率要高很多,如果存儲量小可以考慮自己定義文件格式。XML處理文件時是使用Dalvik通過自帶底層的本地XMLParser解析的,XMLPull方式也是使用的上述方法進行解析文件,這樣對于內存資源占用比較好。任務技能2SharedPreferences的特點SharedPreferences是Android平臺上一個輕量級的存儲類,有以下幾個特點:保存應用的一些常用配置。在Activity生命周期中了解當Activity執行onpause()時,最好存儲數據,一般將此Activity的狀態保存到SharedPreferences中。當Activity重載的時候,系統回調方法onSaveInstanceState(),就能從SharedPreferences中將值取出SharePreferences提供了多種類型數據的保存接口,比如long、int、String、char類型接口可以全局共享訪問任務技能3SharedPreferences操作模式移動應用程序存儲配置數據有四種模式,在上下文創建SharedPreferences實例對象的時候要指定目標訪問應用程序的訪問模式。四種模式如表5.1所示。任務技能4SharedPreferences常用方法及實現步驟SharedPreferences常用來存儲一些輕量級的數據,常用的方法如表5.2所示。任務技能技能點2讀寫SD卡1
Environment類的常用方法移動設備的拍照頻率高且每個圖片都需要一定的存儲空間,因此采用讀寫SD卡中的數據可以滿足業務需求的存儲要求。讀寫SD卡上的圖片文件都是通過流的方式進行讀取的,可以使用在Java面向對象程序設計中的流操作類。在讀寫SD卡時會常用到設備環境android.os.Environment工具類,Environment類的常用方法說明如表5.3所示。任務技能2讀寫SD卡的文件的步驟讀寫SD卡的文件的一般步驟為:(1)判斷移動設備中是否存在SD卡,如果存在則對Android系統SD卡里的文件操作添加使用權限。程序通過調用Environment.getExternalStorageState()方法的返回值與Environment.MEDIA_MOUNTED比較,如果SD卡存在并且具有操作權限則返回true。Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)Android中SD卡外部設置的狀態情況如表5.4所示。任務技能(2)通過調用Environment.getExternalStorageDirectory()獲取文件絕對路徑(即/mnt/sdcard/+文件名),也可以在程序中直接寫“/mnt/sdcard/+文件名”這個字符串。(3)獲取文件路徑后的操作,使用FileInputStream、FileOutputStream、FileReader、FileWriter四個類的方法實現讀寫SD卡文件數據。(4)如果是在模擬器中測試使用SD卡,需要設置SD卡的大小如圖5.7所示。在Android操作系統中操作SD卡需要在AndroidManifest.xml配置文件的Permission選項卡添加兩個用戶訪問權限,如圖5.8所示。任務技能任務技能任務技能技能點3SQLite數據庫簡介及操作1SQLite數據庫簡介SQLite輕量級關系型數據庫發布于2000年。盡管SQLite是一個輕量級的數據庫,但它支持關系型數據庫(如SQLServer、Oracle)操作數據的大部分功能,如觸發器、索引、自動增長字段和LIMIT/OFFSET子句等。SQLite數據庫在運行時占用的系統資源極少,目前廣泛的應用在嵌入式產品中。Android平臺已經嵌入了SQLite數據庫,其具有如下特點。任務技能跨平臺:SQLite可以編譯運行在絕大多數主流操作平臺上的軟件,也適用于移動終端平臺緊湊性:SQLite一個功能齊全但體積很小數據庫,可以描述為1個頭文件,1個庫適應性:作為一個內嵌式的數據庫,具備強有力而且可伸縮的關系型數據庫前端,簡單而緊湊的多路搜索樹后端不受拘束的授權:SQLite的全部代碼都在公共域中,不需要授權可靠性:SQLite是一個開源的數據庫,包含大約30000行標準C代碼易用性:SQLite還提供一些獨特的功能來提高易用性,包括動態類型、沖突解決和“附加”多個數據庫到一個連接的能力任務技能SQLite的存儲是采用動態數據存儲類型,可以根據存入的值自動進行判斷。SQLite支持5種數據類型:NULL-空值、INTEGER-帶符號的整型、REAL-浮點型、TEXT-字符串文本和BLOB-二進制對象。在實際編程過程中SQLite數據庫可以寫入int、varchar等大多數數據類型,在數據庫運算或保存時將其轉化為可以接受的5種數據類型。移動應用開發階段只需要引用SQLite提供的API接口工具類即可創建和使用指定的數據庫。通常在移動平臺上使用SQLiteDatabase工具類創建或打開數據庫的方法說明,如表5.5所示。任務技能任務技能2SQLite數據庫操作基于數據庫創建的基礎上,可以對數據庫進行建表并且對數據庫表的DML(數據操縱)進行操作。根據AndroidAPI中SQLiteDatabase提供的數據操作方法,下面通過表5.6列出常用的數據操作方法。任務技能任務實施第一步:在Eclipse中創建一個Android工程,命名為“登錄系統”
,并設計界面。如圖5.3-5.6所示。第二步:在src文件夾下建立LogoActivity.java文件和LoginActivity.java文件,并實現從閃屏界面跳轉到登錄界面。
第三步:實現Login界面初始化。第四步:在src文件夾中下建立
RegisterActivity.java文件并設置Login界面“注冊”按鈕事件,點擊“注冊”按鈕,跳轉到Register界面。
任務實施第五步:在src文件夾下建立數據庫register.db并建表msg。第六步:在Register界面實現界面初始化。第七步:在RegisterActivity.java界面輸入姓名、賬號、密碼、性別,利用系統照相機拍照。第八步:在Register界面設置“注冊”按鈕點擊事件,點擊“注冊”按鈕將界面上的所有信息保存到數據庫中。任務實施第九步:將注冊信息寫入數據庫表msg中。第十步:返回到Login界面設置“登錄”按鈕事件。點擊“登錄”按鈕查詢數據庫信息。第十一步:將查詢信息語句寫入數據庫表msg中。第十二步:在Login界面判斷數據庫信息與輸入信息是否相同,根據判斷結果進行登錄或提示錯誤,并添加記住密碼以及自動登錄功能。第十三步:運行程序,結果如圖5.3-5.6
所示。
任務拓展【拓展目的】
熟悉并掌握數據持久化操作技能。【拓展內容】在“登錄系統”基礎上增加“忘記密碼”功能。結果如圖5.9–5.11所示。圖5.9Login界面
結果圖
圖5.10Forget界面結果圖
圖5.11Update界面結果圖【拓展步驟】1設計思路點擊“忘記密碼”后,用戶可根據用戶真實姓名與賬號修改密碼。修改信息判斷以及提示信息。輸入新密碼進行密碼修改。修改數據庫數據代碼。任務拓展任務總結本項目內容
主要介紹了在移動設備中應
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國半導體光電器件行業市場規模調研及投資前景研究分析報告
- 電商平臺限時搶購活動策劃與執行服務協議
- 2025年中國百歲老人期貨行業市場前景預測及投資價值評估分析報告
- 2025年中國鈀合金行業市場前景預測及投資價值評估分析報告
- 虛擬現實影視特效制作與VR教育合作合同
- 影視拍攝現場群眾演員意外險及理賠程序協議
- 2025年中國奧硝唑藥物行業市場前景預測及投資價值評估分析報告
- 鄰居代兒童接送協議書
- 股權代持與公司內部控制協議
- 重大公關事件應對與危機管理合同
- 糖尿病患者的飲食指導-課件
- 醫院藥物臨床試驗倫理委員會倫理審查申請及受理表
- 2021譯林版高中英語選擇性必修三課文翻譯
- 智能網聯汽車線控技術課件
- 鄭州大學ppt模板
- (完整版)ECRS培訓課件
- 學校端午假期致學生家長一封信
- 第1本書出體旅程journeys out of the body精教版2003版
- 塑料制品事業部獨立核算體系文件
- 《鴻門宴》話劇劇本
- 灸法操作規程完整
評論
0/150
提交評論