暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

每日一学之Android数据存储(一)文件存储

程序员的日记本 2017-12-02
409


图片来自于百度图片


三种文件存取方式


  • Sharedpreferences

  • raw

  • assets


Sharedpreferences


  • 在自定义Applicaiton文件中创建Sharedpreferences

public class MyApplication extends Application {    
   String fileName = "testFile";    public static SharedPreferences mySsharedPreferences;    @Override    public void onCreate() {        super.onCreate();        mySsharedPreferences
           = getSharedPreferences(fileName , Context.MODE_PRIVATE);    } }

  • 创建Sharedpreferences公共类

public class ShareprecessUtils {
   //设置值    public static void setStringValue(String key, String value){        SharedPreferences.Editor editor =
                       MyApplication.mySsharedPreferences.edit();        editor.putString(key ,value);        editor.commit();    }
   //获取值 ; 第二个参数表示无值得时候默认返回的数据    public static String getStringValue(String key){      
         return MyApplication.mySsharedPreferences
                               .getString(key , "test");    } }

  • 调用Sharedpreferences

//设置值
ShareprecessUtils.setStringValue("name" , "sharepress");
//获取值 String value = ShareprecessUtils.getStringValue("name");


raw


raw是Android项目自带的文件夹,可以将系统资源文件放入到此文件夹中,此文件路径为res/raw,如果你的项目中没有此文件,直接在res下新建即可。注意在此文件下不能再次新建文件夹。


  • 创建res/raw文件夹


  • 读取res/raw文件夹中的文件

InputStream inputStream 
            = getResources().openRawResource(R.raw.config);
try
{    Properties p = new Properties();    p.load(inputStream);    String value = p.getProperty("name");    inputStream.close(); } catch (IOException e) {    e.printStackTrace(); }


assets


assets也是Android指定存放资源文件的文件夹,跟raw不同的地方是不能通过R引用文件夹来获取资源文件,不过与raw不同的是在assets下可以创建多级目录。


  • 在与res文件夹平级的目录创建assets文件夹


  • 读取assets文件夹中的文件

AssetManager am = getAssets();
try {    inputStream = am.open("config.properties");    Properties p = new Properties();    p.load(inputStream);    p.getProperty("name");    inputStream.close(); } catch (IOException e) {    e.printStackTrace(); }


在APK被安装后,上面三种路径的文件都是不可见的。
其中rawassets最大的不同之处就是:
    raw可以通过系统的getResources获取,assets不能。
    assets目录下可以创建多级目录,raw不能。


下期提要


下期将说一说另一种重要的数据存取方式 - 数据库。敬请期待!





长按,识别二维码,加关注,

可了解更多编程方面的知识,

让你看到每天一点点的进步。

谢谢点赞 + 分享!!!!!!



不积跬步,无以至千里;

不积小流,无以成江海。


文章转载自程序员的日记本,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论