標籤:查詢 語句 記錄 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儲存方式