本書以Android Studio為開發(fā)環(huán)境,從移動網(wǎng)絡(luò)編程應(yīng)用需求出發(fā),由淺入深、循序漸進(jìn)地介紹了Android基礎(chǔ)編程和網(wǎng)絡(luò)編程,涵蓋了Android移動網(wǎng)絡(luò)程序開發(fā)的理論、實(shí)驗(yàn)和課程設(shè)計。全書包含四大部分: 第1部分是Android程序開發(fā)基礎(chǔ),包括開發(fā)環(huán)境搭建、移動程序創(chuàng)建、用戶界面設(shè)計、組件通信、數(shù)據(jù)存儲與訪問、廣播與后臺服務(wù); 第2部分是Android網(wǎng)絡(luò)編程,包括WiFi操作、TCP、UDP、HTTP、藍(lán)牙和百度地圖應(yīng)用編程; 第3部分是Android移動應(yīng)用編程實(shí)踐,包括Android開發(fā)環(huán)境搭建、移動程序結(jié)構(gòu)、用戶界面、組件通信、數(shù)據(jù)存儲與訪問、后臺服務(wù)、WiFi管理、Socket、HTTP、藍(lán)牙及百度應(yīng)用開發(fā)實(shí)驗(yàn); 第4部分是Android移動網(wǎng)絡(luò)應(yīng)用編程課程設(shè)計,包括設(shè)計目的、題目及要求等。
全書采用案例教學(xué)和項(xiàng)目引導(dǎo)驅(qū)動相結(jié)合的方式,除了對每章的重要知識點(diǎn)輔以范例講解外,還以“移動點(diǎn)餐系統(tǒng)”項(xiàng)目為線索,在將各章節(jié)知識點(diǎn)串起來的過程中重點(diǎn)揭示如何將所學(xué)技能進(jìn)行實(shí)戰(zhàn),從而領(lǐng)悟到更多的工程技巧。通過本書的學(xué)習(xí)能讓讀者快速掌握移動網(wǎng)絡(luò)應(yīng)用程序的開發(fā)流程和編程技能,并獲得較好的工程實(shí)踐體驗(yàn)。
使用目前流行的Android Studio開發(fā)環(huán)境,講解了Studio環(huán)境中開發(fā)Android應(yīng)用程序的步驟和方法。
通過引進(jìn)工程案例,采用項(xiàng)目引導(dǎo)與驅(qū)動的方法,改變以往程序設(shè)計類課程的單純知識講解及簡單例子模擬的教學(xué)方式,使學(xué)生在掌握移動網(wǎng)絡(luò)編程技能的同時,獲得更好的工程實(shí)踐體驗(yàn)。
內(nèi)容及案例遵循由淺入深、逐步深入的原則。在知識的講解上力爭做到深入淺出,重難點(diǎn)突出。
第
5
章Android數(shù)據(jù)存儲與訪問
5.1簡 單 存 儲
5.1.1SharedPreferences
SharedPreferences是Android中最容易理解的數(shù)據(jù)存儲技術(shù),常用來存儲一些輕量級的數(shù)據(jù),采用keyvalue(鍵值對)的方式保存數(shù)據(jù),類似于Web程序的Cookie,通常用來保存一些配置文件數(shù)據(jù)、用戶名及密碼等。
SharedPreferences不僅能夠保存數(shù)據(jù),還能實(shí)現(xiàn)不同應(yīng)用程序間的數(shù)據(jù)共享,支持三種訪問模式: 私有(MODE_PRIVATE)、全局讀(MODE_WORLD_READABLE)、全局寫(MODE_WORLD_WRITEABLE)。其中MODE_PRIVATE是默認(rèn)模式,該模式下的配置文件只允許本程序和享有本程序ID的程序訪問; MODE_WORLD_READABLE模式允許其他應(yīng)用程序讀文件; MODE_WORLD_WRITEABLE模式允許其他應(yīng)用程序?qū)懳募。如果既要全局讀又要全局寫,可將訪問模式設(shè)置為MODE_WORLD_READABLE +MODE_WORLD_WRITEABLE。
除了定義SharedPreferences的訪問模式,還要定義SharedPreferences的名稱,該名稱是SharedPreferences在Android文件系統(tǒng)中保存的文件名稱,一般聲明為常量字符串,以方便在代碼中多次使用,如:
SharedPreferences sharedPreferences = getSharedPreferences("filename", MODE_PRIVATE);
其中,getSharedPreferences()為Android系統(tǒng)函數(shù),通過它可獲得SharedPreferences實(shí)例。
獲取SharedPreferences實(shí)例后,通過SharedPreferences.Editor類對SharedPreferences實(shí)例進(jìn)行修改,完成數(shù)據(jù)設(shè)置,最后調(diào)用commit()函數(shù)保存數(shù)據(jù)。SharedPreferences廣泛支持各種基本數(shù)據(jù)類型,包括整型、布爾型、浮點(diǎn)型和長整形等,如:
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("Name", "Tom");
editor.putFloat("Height", 1.78f);
editor.commit();
如果需要從已保存的SharedPreferences中讀取數(shù)據(jù),同樣調(diào)用getSharedPreferences()函數(shù),并在函數(shù)的第1個參數(shù)中指明需要訪問的SharedPreferences名稱,然后通過get()函數(shù)獲取保存在SharedPreferences中的鍵值對,如:
SharedPreferences mySdPferences = getSharedPreferences("filename", MODE_PRIVATE);
String name = mySdPferences.getString("Name", "Default Name");
float height = mySdPferences.getFloat("Height", 1.70f);
其中,get()函數(shù)的第1個參數(shù)是鍵值對的鍵名,第2個參數(shù)是無法獲取鍵值時的默認(rèn)值。
Android系統(tǒng)為每個應(yīng)用程序建立了與包同名的目錄,用來保存應(yīng)用程序產(chǎn)生的數(shù)據(jù)文件,包括普通文件、SharedPreferences文件和數(shù)據(jù)庫文件等。SharedPreferences產(chǎn)生的文件就保存在/data/data//shared_prefs目錄下。
……