Android 数据存储与IO (一)
生活随笔
收集整理的這篇文章主要介紹了
Android 数据存储与IO (一)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.Sharedpreference簡(jiǎn)介
????????????????為了保存軟件的參數(shù),或者是某些比較小型的數(shù)據(jù),Android中我們可以使用Android為我么提供的SharedPreference類他是一個(gè)輕量級(jí)的儲(chǔ)存類,特別適合用于保存軟件參數(shù)使用SharedPreference保存數(shù)據(jù),其背后是使用xml文件存放數(shù)據(jù)
文件存放在/data/data/<-package name->/shared_prefs目錄下
實(shí)例
<RelativeLayout?xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"?android:layout_width="match_parent"android:layout_height="match_parent"?android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:paddingBottom="@dimen/activity_vertical_margin"?tools:context=".MainActivity"><Buttonandroid:id="@+id/buttonWrite"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="寫入數(shù)據(jù)"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"?/><EditTextandroid:id="@+id/edit"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@+id/buttonWrite"android:layout_alignParentLeft="true"android:layout_alignParentStart="true"?/><Buttonandroid:id="@+id/buttonReade"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="讀取數(shù)據(jù)"android:layout_below="@+id/edit"android:layout_alignLeft="@+id/buttonWrite"android:layout_alignStart="@+id/buttonWrite"android:layout_marginTop="73dp"?/><TextViewandroid:id="@+id/textview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="yu"android:textSize="20sp"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:layout_marginBottom="167dp"?/></RelativeLayout>package?xiaocool.net.sharedpreferencestest;import?android.content.SharedPreferences; import?android.support.v7.app.ActionBarActivity; import?android.os.Bundle; import?android.view.Menu; import?android.view.MenuItem; import?android.view.View; import?android.widget.Button; import?android.widget.EditText; import?android.widget.TextView;public?class?MainActivity?extends?ActionBarActivity?{//根據(jù)key讀取數(shù)據(jù)private?SharedPreferences?preferences;//寫入數(shù)據(jù)private?SharedPreferences.Editor?editor;private?Button?write,read;private?EditText?editText;private?TextView?textView;@Overrideprotected?void?onCreate(Bundle?savedInstanceState)?{super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);write=(Button)this.findViewById(R.id.buttonWrite);read=(Button)this.findViewById(R.id.buttonReade);editText=(EditText)this.findViewById(R.id.edit);textView=(TextView)this.findViewById(R.id.textview);preferences=getSharedPreferences("xiaocool",MODE_PRIVATE);editor=preferences.edit();write.setOnClickListener(new?View.OnClickListener()?{@Overridepublic?void?onClick(View?v)?{editor.putString("name",editText.getText().toString());editor.commit();editText.setText("");}});read.setOnClickListener(new?View.OnClickListener()?{@Overridepublic?void?onClick(View?v)?{String?name=preferences.getString("name",null);textView.setText(name);}});}@Overridepublic?boolean?onCreateOptionsMenu(Menu?menu)?{//?Inflate?the?menu;?this?adds?items?to?the?action?bar?if?it?is?present.getMenuInflater().inflate(R.menu.menu_main,?menu);return?true;}@Overridepublic?boolean?onOptionsItemSelected(MenuItem?item)?{//?Handle?action?bar?item?clicks?here.?The?action?bar?will//?automatically?handle?clicks?on?the?Home/Up?button,?so?long//?as?you?specify?a?parent?activity?in?AndroidManifest.xml.int?id?=?item.getItemId();//noinspection?SimplifiableIfStatementif?(id?==?R.id.action_settings)?{return?true;}return?super.onOptionsItemSelected(item);} }在其他的應(yīng)用程序中訪問(wèn)
public?class?ReadOtherPreferences?extends?ActionBarActivity?{@Overrideprotected?void?onCreate(Bundle?savedInstanceState)?{super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Context?context?=null;try{//獲取其他應(yīng)用程序?qū)?yīng)的Contextcontext=createPackageContext("xiaocool.net.sharedpreferencestest",Context.CONTEXT_IGNORE_SECURITY);}catch?(PackageManager.NameNotFoundException?e){e.printStackTrace();}//使用其他程序的Context?獲取對(duì)應(yīng)的.sharedpreferencesSharedPreferences?sharedPreferences=context.getSharedPreferences("YU",Context.MODE_WORLD_READABLE);//讀取數(shù)據(jù)String?name=sharedPreferences.getString("name",null);Toast.makeText(ReadOtherPreferences.this,name,1).show();} }轉(zhuǎn)載于:https://blog.51cto.com/xiaocool/1622724
總結(jié)
以上是生活随笔為你收集整理的Android 数据存储与IO (一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JavaScript中类型检测
- 下一篇: centOS上安装redis