SharedPreferences

功能:多用于保存软件配置参数。其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下:

  生成方式:

  SharedPreferences sharedPreferences=getSharedPreferences("color",Context.MODE_PRIVATE);

  Editor editor=sharedPreferences.edit();

  editor.putString("name","星期一");

  editor.putInt("age",2);

  editor.commit();

  会生成color.xml文件,其内容如下:

  < ?xml version="1.0" encoding="utf-8" standalone="yes"?>

  < map>

  < string name="name">星期一

  < int name="age" value="2"/>

  < /map>

  获取方式:

  SharedPreferences sharedPreferences=getSharedPreferences("itcast",Context.MODE_PRIVATE);

  String namevalue=sharedPreferences.getString("name","");

  不同应用SharedPreferences获取xml方式:

  Context context=this.createPackageContext("< package name>",Context.CONTEXT_IGNORE_SECURITY);

  SharedPreferences sharedPreferences=context.getSharedPreferences("color",Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);

  String namevalue=sharedPreferences.getString("name","");

 

 

---------

  很多时候我们开发的软件需要对处理后的数据进行存储,以供再次访问。Android为数据存储提供了如下几种方式:
      文件
   SharedPreferences(参数)
   SQLite数据库
   内容提供者(Content provider)
   网络
  
使用文件进行数据存储
    Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中,可以使用Context.MODE_APPEND
 Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则京创建新文件。
 Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
 MODE_WORLD_READABLE:表示当前文件可以被其他应用读取。
 MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入
 如果希望文件被其他应用读和写,可以传入:
 openFileOUtput("rose.txt",Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);
 
 android有一套自己的安全模型,当应用程序(.apk)在安装时系统就会分配给他一个userid,当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下,任何应用创建的文件,sharedpreferences,数据库都应该是私有的(位于/data/data/<package name>/files),其他程序无法访问。除非在创建时指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE,只有这样其他程序才能正确访问。
 
 首先给大家介绍使用文件如何对数据进行存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。
public class FileActivity extends Activity {
    @Override public void onCreate(Bundle savedInstanceState) {
        ...
         FileOutputStream outStream = this.openFileOutput("itcast.txt", Context.MODE_PRIVATE);
         outStream.write("传智播客".getBytes());
         outStream.close();  
    }
}
openFileOutput()方法的第一参数用于指定文件名称,不能包含路径分隔符“/” ,如果文件不存在,Android 会自动创建它。创建的文件保存在/data/data/<package name>/files目录,如: /data/data/cn.itcast.action/files/itcast.txt ,通过点击Eclipse菜单“Window”-“Show View”-“Other”,在对话窗口中展开android文件夹,选择下面的File Explorer视图,然后在File Explorer视图中展开/data/data/<package name>/files目录就可以看到该文件。
openFileOutput()方法的第二参数用于指定操作模式,有四种模式,分别为: Context.MODE_PRIVATE    =  0
Context.MODE_APPEND    =  32768
Context.MODE_WORLD_READABLE =  1
Context.MODE_WORLD_WRITEABLE =  2

 

 

 

-----------------

 

当一个程序打开preference后,不调用editer.commit() ,程序不会进行写操作。

 

你可能感兴趣的:(eclipse,xml,android,sqlite,网络应用)