1.Sharedpreference简介

为了保存软件的参数,或者是某些比较小型的数据,Android中我们可以使用Android为我么提供的SharedPreference类他是一个轻量级的储存类,特别适合用于保存软件参数使用SharedPreference保存数据,其背后是使用xml文件存放数据
文件存放在/data/data/<-package name->/shared_prefs目录下

实例

<RelativeLayoutxmlns: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="写入数据"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="读取数据"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>
packagexiaocool.net.sharedpreferencestest;importandroid.content.SharedPreferences;importandroid.support.v7.app.ActionBarActivity;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.TextView;publicclassMainActivityextendsActionBarActivity{//根据key读取数据privateSharedPreferencespreferences;//写入数据privateSharedPreferences.Editoreditor;privateButtonwrite,read;privateEditTexteditText;privateTextViewtextView;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){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(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){editor.putString("name",editText.getText().toString());editor.commit();editText.setText("");}});read.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Stringname=preferences.getString("name",null);textView.setText(name);}});}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.menu_main,menu);returntrue;}@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){//Handleactionbaritemclickshere.Theactionbarwill//automaticallyhandleclicksontheHome/Upbutton,solong//asyouspecifyaparentactivityinAndroidManifest.xml.intid=item.getItemId();//noinspectionSimplifiableIfStatementif(id==R.id.action_settings){returntrue;}returnsuper.onOptionsItemSelected(item);}}

wKiom1UM1rjSBxeWAAEbo_7sXBM143.jpg

wKioL1UM1_nihuMHAAcGSxFq3-w259.jpg



在其他的应用程序中访问

publicclassReadOtherPreferencesextendsActionBarActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Contextcontext=null;try{//获取其他应用程序对应的Contextcontext=createPackageContext("xiaocool.net.sharedpreferencestest",Context.CONTEXT_IGNORE_SECURITY);}catch(PackageManager.NameNotFoundExceptione){e.printStackTrace();}//使用其他程序的Context获取对应的.sharedpreferencesSharedPreferencessharedPreferences=context.getSharedPreferences("YU",Context.MODE_WORLD_READABLE);//读取数据Stringname=sharedPreferences.getString("name",null);Toast.makeText(ReadOtherPreferences.this,name,1).show();}}


更多相关文章

  1. NetBeans 7.0 安装 Android SDK 开发 Android 应用程序
  2. android的数据存储和访问 附源码
  3. Android 应用程序结构介绍
  4. Android 应用程序进程启动过程源码分析

随机推荐

  1. Android处理后台返回数据——Json转实体
  2. Android(安卓)Studio中同步代码时报:Recei
  3. android sqlite
  4. Android设计中的.9.png
  5. android:scaleType属性
  6. 让Ubuntu和Android同时运行(Ubuntu on And
  7. Android(安卓)增加中文字体
  8. android WebView总结
  9. Android之EditText 属性汇总
  10. Android中屏幕相关的操作