溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android中怎么實(shí)現(xiàn)數(shù)據(jù)存儲的訪問機(jī)制

發(fā)布時間:2021-06-26 14:56:11 來源:億速云 閱讀:144 作者:Leah 欄目:移動開發(fā)

本篇文章為大家展示了Android中怎么實(shí)現(xiàn)數(shù)據(jù)存儲的訪問機(jī)制,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

1. 如何使得應(yīng)用程序的數(shù)據(jù)可以被外部訪問呢?

答案是使用android 的content provider 接口,content provider 可以使應(yīng)用程序的私有數(shù)據(jù)暴露給其它application.

有兩種選擇來暴露application data,一種是建立自己的content provider,另外一種是使用已有的content provider前提是數(shù)據(jù)類型一致。

2. Android數(shù)據(jù)存儲的數(shù)據(jù)類型

Android 提供了一系列的 content type. 包括image, audio, and video files and personal contact information 等等.

3. Android數(shù)據(jù)存儲機(jī)制

Android 提供了存儲和獲取數(shù)據(jù)的以下幾種機(jī)制

3.1. Preference

Preference 提供了一種輕量級的存取機(jī)制,主要是可以通過關(guān)鍵字讀取和存儲某個Preference value.

比如載系統(tǒng)啟動的時候得到上次系統(tǒng)退出時候保存的值。

view plaincopy to clipboardprint?  . . .   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();   }   . . .   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();  }

3.2. Files

通過Android數(shù)據(jù)存儲中的File機(jī)制你可以直接存儲一個文件到你手機(jī)文件系統(tǒng)路徑比如SD卡中。

需要注意的是 , 默認(rèn)情況下存儲的文件是不可以被其他application是訪問的 !!

Context.openFileInput() 返回java的標(biāo)準(zhǔn)文件輸入對象。

Context.openFileOutput() 返回java的標(biāo)準(zhǔn)文件輸出對象。

3.3. Databases.

Android 使用 SQLite 數(shù)據(jù)庫。

可以通過調(diào)用SQLiteDatabase.create() and 以及子類 SQLiteOpenHelper.

Android 還提供了sqlite3 database tool, 你可以通過這個工具像MySQL tool那樣來直接訪問,修改數(shù)據(jù)庫

3.4. Network.

***你也可以通過網(wǎng)絡(luò)來存儲數(shù)據(jù),使用下面兩個包的java class.

java.net.*   android.net.*

上述內(nèi)容就是Android中怎么實(shí)現(xiàn)數(shù)據(jù)存儲的訪問機(jī)制,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI