1.使用sharedpreferences儲存資料
2.檔案儲存資料
3.sqlite資料庫儲存資料
4.使用contentprovider儲存資料
5.網路儲存資料
儲存少量的資料,且這些資料的格式非常簡單:字串型、基本型別的值。比如應用程式的各種配置資訊(如是否開啟音效、是否使用震動效果、小遊戲的玩家積分等),解鎖口 令密碼等。
儲存基於xml檔案儲存的key-value鍵值對資料,通常用來儲存一些簡單的配置資訊。通過ddms的file explorer面板,展開檔案瀏覽樹,很明顯sharedpreferences資料總是儲存在/data/data//shared_prefs目錄下。sharedpreferences物件本身只能獲取資料而不支援儲存和修改,儲存修改是通過sharedpreferences.edit()獲取的內部介面editor物件實現。 sharedpreferences本身是一 個介面,程式無法直接建立sharedpreferences例項,只能通過context提供的getsharedpreferences(string name, int mode)方法來獲取sharedpreferences例項。
context.mode_private:指定該sharedpreferences資料只能被本應用程式讀、寫。
context.mode_world_readable:指定該sharedpreferences資料能被其他應用程式讀,但不能寫。context.mode_world_writeable:指定該sharedpreferences資料能被其他應用程式讀,寫。
sharedpreferences.editor clear()清空sharedpreferences裡所有資料。
sharedpreferences.editor put***(string key , *** value):向sharedpreferences存入指定key對應的資料,其中*** 可以是boolean,float,int等各種基本型別據。
sharedpreferences.editor remove():刪除sharedpreferences中指定key對應的資料項。
boolean commit():當editor編輯完成後,使用該方法提交修改。
1.在建立sharedpreferences時,指定mode_world_readable模式,表明該sharedpreferences資料可以被其他程式讀取。
3.使用其他程式的context獲取對應的sharedpreferences。
sharedpreferences read = pvcount.getsharedpreferences(「lock」, context.mode_world_readable)。
4、如果是寫入資料,使用editor介面即可,所有其他操作均和前面一致。
sharedpreferences物件與sqlite資料庫相比,免去了建立資料庫,建立表,寫sql語句等諸多操作,相對而言更加方便,簡潔。 但是sharedpreferences也有其自身缺陷,比如其職能儲存boolean,int,float,long和string五種簡單的資料類 型,比如其無法進行條件查詢等。所以不論sharedpreferences的資料儲存操作是如何簡單,它也只能是儲存方式的一種補充,而無法完全替代如 sqlite資料庫這樣的其他資料儲存方式。
除此之外,context還提供了如下幾個重要的方法:
getdir(string name , int mode):在應用程式的資料資料夾下獲取或者建立name對應的子目錄。
file getfilesdir():獲取該應用程式的資料資料夾得絕對路徑。
string filelist():返回該應用資料資料夾的全部檔案。
sqlite是輕量級嵌入式資料庫引擎,它支援sql 語言,並且只利用很少的記憶體就有很好的效能。現在的主流移動裝置像android、iphone等都使用sqlite作為複雜資料的儲存引擎,在我們為移 動裝置開發應用程式時,也許就要使用到sqlite來儲存我們大量的資料,所以我們就需要掌握移動裝置上的sqlite開發技巧 。
android 提供了sqliteopenhelper抽象類幫助你建立乙個資料庫,你只要繼承 sqliteopenhelper 類,就可以輕鬆的建立資料庫。sqliteopenhelper 類根據開發應用程式的需要,封裝了建立和更新資料庫使用的邏輯。
sqliteopenhelper 中有兩個抽象方法:1.oncreate()2.onupdate()在這兩個方法中去實現建立和公升級資料庫的邏輯。
sqliteopenhelper中還有兩個非常重要的例項方法:1.getreadabledatabase() 2. getwritabledatabase();
這兩種方法都可以建立或開啟乙個現有的資料庫(如果資料庫已存在則直接開啟,否則建立乙個新的資料庫),並返回乙個可對資料庫進行讀寫操作的物件。不同的是,當資料庫不可寫入的時候(如磁碟空間已滿)getreadabledatabase() 方法返回的物件將以唯讀的方式去開啟資料庫,而getwritabledatabase() 方法將丟擲異常。
sqliteopenhelper的構造方法接收四個引數,第乙個引數是context,必須要有context物件才能對資料庫進行操作。第二個引數是資料庫名,建立資料庫時使用的就是這裡指定的名稱。第三個引數允許在查詢資料庫的時候返回乙個自定義的cursor,一般傳入null。第四個引數表示當前資料庫的版本號,可用於對資料庫進行公升級操作。
contentprovider內容提供器,主要用於在不同應用程式之間實現資料的共享功能。
contentprovider使用方法有兩種:一種是使用現有的內容提供器來讀取和操作相應程式中的資料;另一種是建立自己的內容提供器給我們的應用提供外部訪問介面。
乙個程式可以通過實現乙個contentprovider的抽象介面將自己的資料完全暴露出去,而且contentproviders是以類似資料庫中表的方式將資料暴露,也就是說contentprovider就像乙個「資料庫」。那麼外界獲取其提供的資料,也就應該與從資料庫中獲取資料的操作基本一樣,只不過是採用uri來表示外界需要訪問的「資料庫」。
使用方法
1.建立乙個介面,定義了乙個名為content_url,並且是public static final的uri型別的類變數,必須為其指定乙個唯一的字串值,最好的方案是類的全稱,和資料列的名稱。
2.實現sqliteopenhelper。
3.建立乙個繼承了contentprovider父類的類。
4.在androidmanifest.xml中使用標籤來設定呼叫contentprovider。
5.增加資料。
6.刪除資料。
7.查詢資料。
8.更新資料。
通過網路來實現資料的儲存和獲取。
我們可以呼叫webservice返回的資料或是解析http協議實現網路資料互動。
我們上述所講的都是通過本地上傳的。
Android資料儲存五種方式總結
本文介紹android平台進行資料儲存的五大方式,分別如下 1 使用sharedpreferences儲存資料 2 檔案儲存資料 3 sqlite資料庫儲存資料 4 使用contentprovider儲存資料 5 網路儲存資料 sharedpreferencese的使用 適用範圍 儲存少量的資料,且...
Android資料儲存
android中一共提供了4種資料儲存方式 shared preferences 用來儲存 key value paires 格式的資料,它是乙個輕量級的鍵值儲存機制,只可以儲存基本資料型別。files 他通過fileinputstream和fileoutputstream對檔案進行操作。但是在an...
Android資料儲存
1.五種儲存方式 android作業系統提供了一種公共檔案系統,即任何應用軟體都可以使用它來儲存和讀取檔案,該檔案被其他的應用軟體讀取。android採用了一種不同的系統,在android中,所有的應用軟體資料 為應用軟體私有,然而,android也提供了一種標準方式 用軟體將私有資料開放給其他應用...