Android 利用Properties实现设置本地保存功能

本文介绍了如何使用Properties文件保存和更新应用程序中的用户设置。通过从本地读取和保存Properties文件,可以灵活地进行设置更新,并提供了从应用资源中读取Properties文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原创文章,如有转载,请注明出处:http://blog.youkuaiyun.com/myth13141314/article/details/61413096

开发过程中经常遇到的一个需求就是设置功能,实现的思路一般是动态地本地保存更新设置。保存的方法一般就是如下三种:

  • SharePreference保存
  • 数据库保存
  • Properties保存到文件

今天介绍的就是Properties的方式

  • 首先将初始化的配置保存在项目中的raw文件夹下,如图:
    这里写图片描述

  • Properties的文件格式如下:

//字段名=值
language=English(United States)
region=US
资源文件准备好以后,就看Properties的用法了
  • 从文件加载Properties和保存Properties到本地文件
//从本地读取Properties文件
public static Properties getProperties() {
    Properties properties = new Properties();
    try {
        FileInputStream inputStream = new FileInputStream(getFile());
        properties.load(inputStream);
        inputStream.close();
    }catch (Exception e) {
        e.printStackTrace();
    }
    return properties;
}

//保存Properties到本地
public static void saveProperties(Properties properties) {
    try {
        OutputStream outputStream = new FileOutputStream(getFile());
        properties.store(outputStream, "");
        outputStream.close();
    }catch (Exception e) {
        e.printStackTrace();
    }
}
  • 读取项目中raw文件夹下的Properties文件
public static Properties getPropertiesFromRaw(Context context) {
    Properties properties = new Properties();
    try {
        InputStream inputStream = context.getResources().openRawResource(R.raw.setting);
        properties.load(inputStream);
        inputStream.close();

    }catch (Exception e) {
        e.printStackTrace();
    }
    return properties;
}
  • 更新Properties的值
//用上面写好的getProperties()方法获取Properties对象
Properties properties = getProperties();

//更新Properties的值,(String keyName,String keyValue)
properties.setProperty(keyName, keyValue);

//保存Properties到本地,用上面写好的saveProperties(Perperties properties)方法
saveProperties(properties);
通过以上的步骤,我们就实现了用Properties的方法来保存一些用户的设置到本地,基本实现了设置功能。

需要注意的是,以上保存的设置文件是保存在SD卡里的,用户可能会删除配置文件,所以在读取文件时需要考虑文件不存在的情况,可以恢复初始化设置,也可以结合其他的保存方式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值