首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

SharedPreferences数据储存的读取、写入用法示例

2013-09-06 
SharedPreferences数据存储的读取、写入用法示例页面布局文件中两个按钮,一个用于读取数据,一个用于写入数

SharedPreferences数据存储的读取、写入用法示例

页面布局文件中两个按钮,一个用于读取数据,一个用于写入数据。

其对应的java文件:

SharedPreferencesTest.java:

package org.helloword;import java.text.SimpleDateFormat;import java.util.Date;import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class SharedPreferencesTest extends Activity {SharedPreferences preferences;SharedPreferences.Editor editor;@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.sharedpreference);preferences=getSharedPreferences("crazy", MODE_PRIVATE);editor=preferences.edit();Button read=(Button)findViewById(R.id.read);Button write=(Button)findViewById(R.id.write);read.setOnClickListener(new OnClickListener(){public void onClick(View v) {// TODO Auto-generated method stubString time=preferences.getString("time", null);int randNum=preferences.getInt("randNum", 0);String result=time==null?"没有写入数据":"写入时间为:"+time+"\n上次生成的随机数为:"+randNum;Toast.makeText(SharedPreferencesTest.this, result, 5000).show();}});write.setOnClickListener(new OnClickListener(){public void onClick(View v) {// TODO Auto-generated method stubSimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日"+"HH:mm:ss");editor.putString("time",sdf.format(new Date()) );editor.putInt("randNum", (int) (Math.random()*100));editor.commit();}});}}


要读写其他应用的SharedPreferences,可按如下步骤进行。

1。需要创建其他程序对应的Context,例如如下代码:

userCount=createPackageContext("com.example.wenandroid",Context.CONTEXT_IGNORE_SECURITY);

上面的程序中com.example.wenandroid就是其他应用程序的包名--实际上Android系统就是用应用程序的包名来作为该程序的标识的。

2。调用其他应用程序的Context的getSharedPreferences(String name,int mode)即可获取相应的SharedPreferences对象。

3。如果需要向其他应用程序的SharedPreferences数据写入数据,调用SharedPreferences的edit()方法获取相应的Editor即可。

例:

Context useCount=null;

useCount=createPackageContext("com.example.wenandroid",Context.CONTEXT_IGNORE_SECURITY);

SharedPreferences prefs=useCount.getSharedPreferences("count",Context.MODE_WORLD_READABLE);

int a=prefs.getInt("a",0);

热点排行