日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Android保存數(shù)據(jù)幾種常用方法解析

Android 手機(jī)操作系統(tǒng)是一款基于Linux平臺(tái)的開(kāi)源操作系統(tǒng)。它應(yīng)用于手機(jī)中能夠幫助我們實(shí)現(xiàn)許多需求。比如今天為大家介紹的Android保存數(shù)據(jù),就是其中一個(gè)比較重要的操作技巧。#t#

成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)黃浦,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108

對(duì)于我們所熟悉的大部分軟件都有一個(gè)比較典型的特點(diǎn),應(yīng)用現(xiàn)有的數(shù)據(jù)根據(jù)不同的需求來(lái)得到相應(yīng)的結(jié)果。例如,我們最常用的Officeword、Excel、PowerPoint等辦公軟件,它們都是幫助我們完成某種特定的需求,同時(shí)由其所產(chǎn)生的數(shù)據(jù)或者文檔又可以被其它軟件所讀取和做進(jìn)一步的優(yōu)化等等,在這個(gè)層面上可以看成是這些軟件通過(guò)相同的文件標(biāo)準(zhǔn)來(lái)共享數(shù)據(jù)。但是對(duì)于Android***的不同點(diǎn)在于,其平臺(tái)上的應(yīng)用軟件所存儲(chǔ)的數(shù)據(jù)或者文件是私有,僅僅可以通過(guò)它自身才可以訪問(wèn)其所包含的數(shù)據(jù)資源。

那么基于這樣的限制,該如何在Android平臺(tái)上實(shí)現(xiàn)不同程序間的數(shù)據(jù)共享呢?答案非常簡(jiǎn)單 – 應(yīng)用ContentProviders,這是建立在Android平臺(tái)上用于定義統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn)。Android提供了針對(duì)不同數(shù)據(jù)類型的ContentProviders來(lái)滿足各種需要。例如:Image、Audio、Video和通訊錄信息類等。閱讀下邊的文檔之前,***先熟悉Content Providers的概念。

有了上邊所提到Content Providers,接下來(lái)就要處理在共享文件過(guò)程中的存儲(chǔ)環(huán)節(jié)了,這里有四種方法分別適用于不同情況的需求。它們都各自有相應(yīng)的優(yōu)缺點(diǎn),所以當(dāng)開(kāi)發(fā)者決定選擇應(yīng)用哪種方法之前,先要考慮當(dāng)前所操作的情況是否適合于所選擇的方法。

 
 
 
  1. Preferences  
  2. Files  
  3. Databases  
  4. Network 

接下來(lái)將依次介紹上訴四個(gè)Android保存數(shù)據(jù)方法:

Preferences從其保存數(shù)據(jù)的結(jié)構(gòu)來(lái)分析,這是一個(gè)相對(duì)較輕量級(jí)的存儲(chǔ)數(shù)據(jù)的方法。類似于我們常用的ini文件保存軟件初始化設(shè)置,同樣在Android平臺(tái)常用于存儲(chǔ)較簡(jiǎn)單的參數(shù)設(shè)置。例如,可以通過(guò)它保存上一次用戶所作的修改或者自定義參數(shù)設(shè)定,當(dāng)再次啟動(dòng)程序后依然保持原有的設(shè)置。

通過(guò)Context.getSharedPreferences()方法來(lái)讀寫數(shù)值,這個(gè)方法通過(guò)設(shè)置name來(lái)使得同一個(gè)程序內(nèi)的其它模塊共享數(shù)據(jù)。如果不需要與其它模塊共享數(shù)據(jù),可以使用Activity.getPreferences()方法保持?jǐn)?shù)據(jù)私有。需要著重強(qiáng)調(diào)一點(diǎn),無(wú)法直接在多個(gè)程序間共享Preferences數(shù)據(jù)(不包括使用Content Providers)。

通過(guò)一個(gè)實(shí)例來(lái)了解實(shí)際使用方法:

 
 
 
  1. import android.app.Activity;  
  2. import android.content.SharedPreferences;  
  3. public class Calc extends Activity {  
  4. public static final String PREFS_NAME = "MyPrefsFile";  
  5. . . . .   
  6. Override  
  7. protected void onCreate(Bundle state){  
  8. super.onCreate(state);  
  9. . . . .  
  10. // Restore preferences  
  11. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);  
  12. boolean silent = settings.getBoolean("silentMode", false);  
  13. setSilent(silent);  
  14. }  
  15. @Override  
  16. protected void onStop(){  
  17. super.onStop();  
  18. // Save user preferences. We need an Editor object to  
  19. // make changes. All objects are from android.context.Context  
  20. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);  
  21. SharedPreferences.Editor editor = settings.edit();  
  22. editor.putBoolean("silentMode", mSilentMode);  
  23. // Don't forget to commit your edits!!!  
  24. editor.commit();  
  25. }  

Files從這是第二種方法,可以在設(shè)備本身的存儲(chǔ)設(shè)備或者外接的存儲(chǔ)設(shè)備中創(chuàng)建用于保存數(shù)據(jù)的文件。同樣在默認(rèn)的狀態(tài)下,文件是不能在不同的程序間共享。

寫文件:調(diào)用Context.openFileOutput()方法根據(jù)指定的路徑和文件名來(lái)創(chuàng)建文件,這個(gè)方法會(huì)返回一個(gè)FileOutputStream對(duì)象。

讀取文件:調(diào)用Context.openFileInput()方法通過(guò)制定的路徑和文件名來(lái)返回一個(gè)標(biāo)準(zhǔn)的Java FileInputStream對(duì)象。
(注意:在其它程序中將無(wú)法應(yīng)用相同的路徑和文件名來(lái)操作文件)

另外編譯程序之前,在res/raw/tempFile中建立一個(gè)static文件,這樣可以在程序中通過(guò)Resources.openRawResource (R.raw.myDataFile)方法同樣返回一個(gè)InputStream對(duì)象,直接讀取文件內(nèi)容。

Databases在Android API中包括了應(yīng)用SQLite databases的接口,每個(gè)程序所創(chuàng)建的數(shù)據(jù)庫(kù)都是私有的,換句話說(shuō),程序間無(wú)法相互訪問(wèn)對(duì)方的數(shù)據(jù)庫(kù)。

在程序中創(chuàng)建SQLiteDatabase對(duì)象,其中包含了大部分與database交互的方法,例如:讀取數(shù)據(jù)或者管理當(dāng)前數(shù)據(jù)??梢詰?yīng)用SQLiteDatabase和其subClassSQLiteOpenHelper的create()方法來(lái)創(chuàng)建新的數(shù)據(jù)庫(kù)。

對(duì)于SQLitedatabase而言,其強(qiáng)大和方便的功能為Android提供了強(qiáng)有力的存儲(chǔ)功能。特別是存儲(chǔ)一些復(fù)雜的數(shù)據(jù)結(jié)構(gòu),例如:Android特別為通訊錄創(chuàng)建了特有的數(shù)據(jù)類型,其中包含了非常多的子集而且涵蓋了大部分的數(shù)據(jù)類型 “First Name” “Last Name” “PhoneNumber”和“Photo”等。

Android可以通過(guò)Sqlite3 database tool來(lái)查看指定數(shù)據(jù)庫(kù)中表的內(nèi)容,直接運(yùn)行SQL命令來(lái)快速便捷的直接操作SQLite database。
數(shù)據(jù)庫(kù)在設(shè)備中保存的地址是 /data/data/package_name/databases

Network通過(guò)網(wǎng)絡(luò)來(lái)獲取和保存數(shù)據(jù)資源,這個(gè)方法需要設(shè)備保持網(wǎng)絡(luò)連接狀態(tài),所以相對(duì)存在一些限制。下面列出了兩個(gè)用于相關(guān)操作的類:

 
 
 
  1. java.net.*  
  2. android.net.* 

以上是四種Android保存數(shù)據(jù)的方法常用于針對(duì)Android平臺(tái)來(lái)存儲(chǔ)和讀取數(shù)據(jù)的方法。


網(wǎng)站欄目:Android保存數(shù)據(jù)幾種常用方法解析
本文地址:http://m.5511xx.com/article/dhodhde.html