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);}}



在其他的应用程序中访问

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. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. Android数据存储
  4. android中使用sqlite、复制assets下的数据库到SD卡、支持大于1M
  5. android的数据存储和访问 附源码
  6. Android的四种存储方式: sharedpreference,file,SQlite,contentpr
  7. Android(安卓)- 文件读写操作 总结
  8. Android(安卓)学习之 SQLite操作
  9. Android(安卓)保存 JNI 层 opencv cvMat 图片

随机推荐

  1. android WebView中js的alert()失效
  2. Android NDK For Linux安装配置指南
  3. In android studio,cannot load 2 facets
  4. 关于Android屏幕密度与分辨率
  5. Android -- 多页滑动(ViewPager)
  6. Android自定义dialog简单实现方法
  7. Android(安卓)View的点击事件分发机制
  8. android 数据存储总结及各种存储方式
  9. Android(安卓)获取唯一机器码的代码
  10. Android中获取设备的IP