wemall app商城源碼Android資料的SharedPreferences儲存方式

來源:互聯網
上載者:User

標籤:查詢   語句   記錄   toast   服務端   seo   索引值   span   prot   

       wemall-mobile是基於WeMall的Android app商城,只需要在原商城目錄下上傳介面檔案即可完成服務端的配置,用戶端可定製修改。本文分享wemall app商城源碼Android資料的SharedPreferences儲存方式,供技術員參考學習。

 

       SharedPreferences:除了SQLite資料庫外,SharedPreferences也是一種輕型的資料儲存方式,它的本質是基於XML檔案儲存體key-value索引值對資料,通常用來儲存一些簡單的配置資訊。SharedPreferences介面本身並沒有提供寫入資料的能力,而是通過SharedPreferencesde的內部介面,SharedPreferences調用edit()方法即可擷取它所對應的Editor對象。實現SharedPreferences儲存的步驟如下:

1、擷取SharedPreferences對象

2、利用edit()方法擷取Editor對象

3、通過Editor對象儲存key-value索引值對資料

4、通過commit()方法提交資料

例一:下面的代碼儲存三個資料,分別為String,Int,Boolean型,具體如下:

 

package com.ye_yun_lin.sharedpreferencestest;import android.os.Bundle;import android.preference.Preference;import android.app.Activity;import android.content.SharedPreferences;import android.view.Menu;public class MainActivity extends Activity {private SharedPreferences sharedPreferences;private SharedPreferences.Editor editor;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);sharedPreferences=getSharedPreferences("My_XML", MODE_WORLD_READABLE);editor=sharedPreferences.edit();editor.putString("String_key", "string");editor.putInt("Int_key", 3);editor.putBoolean("Boolean_key", true);editor.commit();}}

  

 這段代碼執行完後,在/data/data/com.ye_yun_lin.SharedPrefer/shared_prefs目錄下產生了一個SP.My_XML檔案,一個應用可以建立多個這樣的檔案。用DDMS介面的匯出檔案按鈕,匯出後開啟如下:

 

例二:記錄應用程式的使用次數:

這個執行個體可以記住應用程式的使用次數,當使用者第一次啟動該程式時,系統建立SharedPreferences來記錄使用次數。使用者以後啟動該應用程式時,系統先讀取SharedPreferences中的使用次數,然後將使用次數加1.代碼如下:

 

package com.ye_yun_lin.usecount;import android.R.integer;import android.os.Bundle;import android.preference.Preference;import android.app.Activity;import android.content.SharedPreferences;import android.view.Menu;import android.widget.Toast;public class MainActivity extends Activity {private SharedPreferences sharedPreferences;private SharedPreferences.Editor editor;private int count;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);sharedPreferences=getSharedPreferences("count",MODE_WORLD_WRITEABLE);editor=sharedPreferences.edit();count=sharedPreferences.getInt("count", 0);Toast.makeText(this, "該應用程式被使用了"+count+"次!", Toast.LENGTH_LONG).show();editor.putInt("count", ++count);editor.commit();}}

  

 例三:讀寫其他應用SharedPreferences。

要讀或寫其他程式的SharedPreferences,前提是要建立該應用程式指定相應的存取權限。比如MODE_WORLD_READABLE(只可被其他程式讀),MODE_WORLD_WRITABLE(可被其他程式讀或寫).其步驟如下:

1、需要建立其他程式對應的Context,例如如下代碼:

useContext=createPackageContext("com.ye_yun_lin.usecount", Context.CONTEXT_IGNORE_SECURITY);

 上面的com.ye_yun_lin就是其他程式的包名

 

2、條用其他程式的Context的getSharedPreferences()即可擷取相應的SharedPreferences對象

3、如果需要向其他應用的SharedPreferences資料寫入資料,調用SharedPreferences的edit()方法擷取相應的editor即可。

代碼如下:

 

package comye_yun_line.useotherpreferences;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.content.SharedPreferences;import android.content.pm.PackageManager.NameNotFoundException;import android.view.Menu;import android.widget.TextView;public class MainActivity extends Activity {private Context useContext=null;private SharedPreferences preferences;private int count;private TextView textView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);try {useContext=createPackageContext("com.ye_yun_lin.usecount", Context.CONTEXT_IGNORE_SECURITY);} catch (NameNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}preferences=useContext.getSharedPreferences("count", Context.MODE_WORLD_READABLE);count=preferences.getInt("count", 0);textView=(TextView)findViewById(R.id.textview);textView.setText(count+"");}}

  

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

 

wemall官網地址:http://www.wemallshop.com

原文詳情地址:http://Git.oschina.NET/zzunet/wemall-doraemon/commit/e8f303df5663dc69fe47bb9623222149d40e3956

wemall doraemonAndroid app商城詳情地址:http://www.koahub.com/home/product/55

wemall 開源微商城 ,商城,商城源碼,三級分銷,微生鮮,微水果,微外賣,微訂餐---專業的o2o系統

 

wemall app商城源碼Android資料的SharedPreferences儲存方式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.