今天就跟大家聊聊有關(guān)Android中怎么保存數(shù)據(jù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
10余年的秦安網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整秦安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“秦安網(wǎng)站設(shè)計(jì)”,“秦安網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
Preferences從其保存數(shù)據(jù)的結(jié)構(gòu)來分析,這是一個(gè)相對較輕量級的存儲數(shù)據(jù)的方法。類似于我們常用的ini文件保存軟件初始化設(shè)置,同樣在Android平臺常用于存儲較簡單的參數(shù)設(shè)置。例如,可以通過它保存上一次用戶所作的修改或者自定義參數(shù)設(shè)定,當(dāng)再次啟動程序后依然保持原有的設(shè)置。
通過Context.getSharedPreferences()方法來讀寫數(shù)值,這個(gè)方法通過設(shè)置name來使得同一個(gè)程序內(nèi)的其它模塊共享數(shù)據(jù)。如果不需要與其它模塊共享數(shù)據(jù),可以使用Activity.getPreferences()方法保持?jǐn)?shù)據(jù)私有。需要著重強(qiáng)調(diào)一點(diǎn),無法直接在多個(gè)程序間共享Preferences數(shù)據(jù)(不包括使用Content Providers)。
通過一個(gè)實(shí)例來了解實(shí)際使用方法:
import android.app.Activity; import android.content.SharedPreferences; public class Calc extends Activity { public static final String PREFS_NAME = "MyPrefsFile"; . . . . Override protected void onCreate(Bundle state){ super.onCreate(state); . . . . // Restore preferences SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); boolean silent = settings.getBoolean("silentMode", false); setSilent(silent); } @Override protected void onStop(){ super.onStop(); // Save user preferences. We need an Editor object to // make changes. All objects are from android.context.Context SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); SharedPreferences.Editor editor = settings.edit(); editor.putBoolean("silentMode", mSilentMode); // Don't forget to commit your edits!!! editor.commit(); } }
Files從這是第二種方法,可以在設(shè)備本身的存儲設(shè)備或者外接的存儲設(shè)備中創(chuàng)建用于保存數(shù)據(jù)的文件。同樣在默認(rèn)的狀態(tài)下,文件是不能在不同的程序間共享。
寫文件:調(diào)用Context.openFileOutput()方法根據(jù)指定的路徑和文件名來創(chuàng)建文件,這個(gè)方法會返回一個(gè)FileOutputStream對象。
讀取文件:調(diào)用Context.openFileInput()方法通過制定的路徑和文件名來返回一個(gè)標(biāo)準(zhǔn)的Java FileInputStream對象。
(注意:在其它程序中將無法應(yīng)用相同的路徑和文件名來操作文件)
另外編譯程序之前,在res/raw/tempFile中建立一個(gè)static文件,這樣可以在程序中通過Resources.openRawResource (R.raw.myDataFile)方法同樣返回一個(gè)InputStream對象,直接讀取文件內(nèi)容。
Databases在Android API中包括了應(yīng)用SQLite databases的接口,每個(gè)程序所創(chuàng)建的數(shù)據(jù)庫都是私有的,換句話說,程序間無法相互訪問對方的數(shù)據(jù)庫。
在程序中創(chuàng)建SQLiteDatabase對象,其中包含了大部分與database交互的方法,例如:讀取數(shù)據(jù)或者管理當(dāng)前數(shù)據(jù)??梢詰?yīng)用SQLiteDatabase和其subClassSQLiteOpenHelper的create()方法來創(chuàng)建新的數(shù)據(jù)庫。
對于SQLitedatabase而言,其強(qiáng)大和方便的功能為Android提供了強(qiáng)有力的存儲功能。特別是存儲一些復(fù)雜的數(shù)據(jù)結(jié)構(gòu),例如:Android特別為通訊錄創(chuàng)建了特有的數(shù)據(jù)類型,其中包含了非常多的子集而且涵蓋了大部分的數(shù)據(jù)類型 “First Name” “Last Name” “PhoneNumber”和“Photo”等。
Android可以通過Sqlite3 database tool來查看指定數(shù)據(jù)庫中表的內(nèi)容,直接運(yùn)行SQL命令來快速便捷的直接操作SQLite database。
數(shù)據(jù)庫在設(shè)備中保存的地址是 /data/data/package_name/databases
Network通過網(wǎng)絡(luò)來獲取和保存數(shù)據(jù)資源,這個(gè)方法需要設(shè)備保持網(wǎng)絡(luò)連接狀態(tài),所以相對存在一些限制。下面列出了兩個(gè)用于相關(guān)操作的類:
java.net.* android.net.*
看完上述內(nèi)容,你們對Android中怎么保存數(shù)據(jù)有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。