中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Android中有哪些數據存儲方式

發布時間:2021-06-28 17:14:54 來源:億速云 閱讀:156 作者:Leah 欄目:移動開發

Android中有哪些數據存儲方式,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

第一種: 使用SharedPreferences存儲數據

  適用范圍:保存少量的數據,且這些數據的格式非常簡單:字符串型、基本類型的值。比如應用程序的各種配置信息(如是否打開音效、是否使用震動效果、小游戲的玩家積分等),解鎖口 令密碼等

  核心原理:保存基于XML文件存儲的key-value鍵值對數據,通常用來存儲一些簡單的配置信息。通過DDMS的File Explorer面板,展開文件瀏覽樹,很明顯SharedPreferences數據總是存儲在/data/data//shared_prefs目錄下。SharedPreferences對象本身只能獲取數據而不支持存儲和修改,存儲修改是通過SharedPreferences.edit()獲取的內部接口Editor對象實現。 SharedPreferences本身是一 個接口,程序無法直接創建SharedPreferences實例,只能通過Context提供的getSharedPreferences(String name, int mode)方法來獲取SharedPreferences實例,該方法中name表示要操作的xml文件名,第二個參數具體如下:

 Context.MODE_PRIVATE: 指定該SharedPreferences數據只能被本應用程序讀、寫。

  Context.MODE_WORLD_READABLE: 指定該SharedPreferences數據能被其他應用程序讀,但不能寫。

  Context.MODE_WORLD_WRITEABLE: 指定該SharedPreferences數據能被其他應用程序讀,寫

 SharedPreferences對象與SQLite數據庫相比,免去了創建數據庫,創建表,寫SQL語句等諸多操作,相對而言更加方便,簡潔。但是SharedPreferences也有其自身缺陷,比如其職能存儲boolean,int,float,long和String五種簡單的數據類型,比如其無法進行條件查詢等。所以不論SharedPreferences的數據存儲操作是如何簡單,它也只能是存儲方式的一種補充,而無法完全替代如SQLite數據庫這樣的其他數據存儲方式。

第二種: 文件存儲數據

  可以在設備本身的存儲設備或者外接的存儲設備中創建用于保存數據的文件。同樣在默認的狀態下,文件是不能在不同的程序間共享。

  寫文件:調用Context.openFileOutput()方法根據指定的路徑和文件名來創建文件,這個方法會返回一個FileOutputStream對象。

  讀取文件:調用Context.openFileInput()方法通過制定的路徑和文件名來返回一個標準的Java FileInputStream對象。

第三種:SQLite存儲數據

  SQLite Database數據庫。Android對數據庫的支持很好,它本身集成了SQLite數據庫,每個應用都可以方便的使用它,或者更確切的說,Android完全依賴于SQLite數據庫,它所有的系統數據和用到的結構化數據都存儲在數據庫中。 它具有以下優點: a. 效率出眾,這是無可否認的 b. 十分適合存儲結構化數據 c. 方便在不同的Activity,甚至不同的應用之間傳遞數據。  

第四種:ContentProvider

  Android系統中能實現所有應用程序共享的一種數據存儲方式,由于數據通常在各應用間的是互相私密的,所以此存儲方式較少使用,但是其又是必不可少的一種存儲方式。例如音頻,視頻,圖片和通訊錄,一般都可以采用此種方式進行存儲。每個ContentProvider都會對外提供一個公共的URI(包裝成Uri對象),如果應用程序有數據需要共享時,就需要使用ContentProvider為這些數據定義一個URI,然后其他的應用程序就通過Content Provider傳入這個URI來對數據進行操作。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

怀集县| 石泉县| 新乡县| 柳林县| 定西市| 罗定市| 伊春市| 永仁县| 菏泽市| 深州市| 黎川县| 息烽县| 琼中| 义乌市| 虞城县| 陇川县| 紫阳县| 和林格尔县| 岳普湖县| 专栏| 张家港市| 宁阳县| 柘荣县| 微山县| 石城县| 利津县| 林西县| 刚察县| 郸城县| 深州市| 榆中县| 手游| 商城县| 葫芦岛市| 海兴县| 灵山县| 泽州县| 云南省| 汾阳市| 博爱县| 南丹县|