zoukankan      html  css  js  c++  java
  • android 数据存储之SharePreference 的几种方式

    1. 常见的 getSharedPreferences(String filename,mode)  

    指定sp文件的名称,生成的文件名为 filename.xml

    2.getPreferences(mode)

    getPreferences只有一个参数,不能指定文件名,文件名固定为
    当前Activity的名字,不包含包名。

    3.PreferenceManager.getDefaultSharedPreferences(Context)

    该SharedPreferences MODE默认为MODE_PRIVATE,而且生成文件名为
    <包名>_preferences.xml    

    ------------------三个mode

    MODE_PRIVATE 私有的,不允许其他程序访问该xml文件。
    MODE_WORLD_READABLE 其他程序可以读取
    MODE_WORLD_WRITABLE 其他程序可以写 

    这里其他程序如何访问呢?
    有两种方式:
    第一种,在第二个程序中通过File:

    File f = new File("/data/data/包名/shared_prefs/xxx.xml"); 
    FileInputStream fis = new FileInputStream(f);//在被访问程序中,MODE_WORLD_READABLE 
    FileOutputStream fos = new FileOutputStream(f);//在被访问程序中,MODE_WORLD_WRITABLE

    第二种,通过被访问程序的Context对象。

    Context otherContext = createPackageContext( 
    "com.anjoyo.sharedpreference", CONTEXT_IGNORE_SECURITY);

    第一个参数为要创建context的包名,第二个参数为创建时忽略安全问题。

    SharedPreferences sp = otherContext.getSharedPreferences 
    ("loginsetting", MODE_WORLD_READABLE); 
    String name = sp.getString("name", ""); 
    String pwd = sp.getString("pwd", "");
  • 相关阅读:
    node项目发布pm2
    图片地址获取图片信息
    前端文件上传 获取文件大小 获取图片宽高
    前端上传图片预览
    vue按钮防暴力点击
    小程序父子组件之间的通信
    form表单
    es6-函数的扩展
    php的魔术常量以及类的模式方法
    OpenStack笔记
  • 原文地址:https://www.cnblogs.com/shoneworn/p/4505741.html
Copyright © 2011-2022 走看看