如何在android中修改我的自定义属性文件

如何在android中修改我的自定义属性文件,android,file,properties,apk,Android,File,Properties,Apk,我使用一个属性文件来获取我从android调用的各种Web服务的url。我想提供一个配置选项,以便可以修改web服务的ip地址。 如何进行 我在src folder中有一个资源文件夹,它具有以下值 更新=http://10.52.165.226:50000/android/rest/get/updateSfc 订单=http://10.52.165.226:50000/android/rest/getShopOrder/bySite?site= 我正在使用资源包在android中使用这些值 我正

我使用一个属性文件来获取我从android调用的各种Web服务的url。我想提供一个配置选项,以便可以修改web服务的ip地址。 如何进行

我在src folder中有一个资源文件夹,它具有以下值 更新=http://10.52.165.226:50000/android/rest/get/updateSfc 订单=http://10.52.165.226:50000/android/rest/getShopOrder/bySite?site=

我正在使用资源包在android中使用这些值


我正在考虑读取该文件并替换所有Ip地址。无法修改如何在android中创建属性文件并对其进行编辑构成Apk一部分的资源、资产和其他文件/文件夹。您可以使用a,具体取决于您将在android中使用的行数。有关保存用户首选项的更完整用法,请阅读


可以找到有关使用共享首选项的教程

这里有一个完整的解决方案,供您在项目中使用.properties文件

1在android项目的资产文件夹中创建名为app.properties的文件

2编辑文件,并在属性中写入您要使用的内容,例如

test=success 
并保存文件

3在你的活动课上写下这个方法

  private Properties loadPropties() throws IOException {
  String[] fileList = { "app.properties" };
  Properties prop = new Properties();
  for (int i = fileList.length - 1; i >= 0; i--) {
     String file = fileList[i];
     try {
        InputStream fileStream = getAssets().open(file);
        prop.load(fileStream);
        fileStream.close();
     } catch (FileNotFoundException e) {
        Log.d(TAG, "Ignoring missing property file " + file);
     }
  }
  return prop;
  }
4用OnCreate方法写一些类似的东西

     Properties prop = null; 
     try {
        prop = loadPropties();
     } catch (IOException e) {
        Log.e(TAG, "Exception", e);
     }
     Toast.makeText(getApplicationContext(), "Result " + prop.getProperty("test"),
                    Toast.LENGTH_LONG).show();
5增加必要的进口


希望这有帮助:)

如果您在项目中定义自己的应用程序类并从中加载属性,则会更好。我在src文件夹中有属性文件。这种方法可以应用于那里吗???不,将属性文件保留在src文件夹中也不明智。资产文件夹仅用于此目的,因此它可以帮助其他面临相同问题的人。通过查看已接受的答案。如果您对所有给出的答案都不满意,您可以单击答案右侧的检查图像来接受答案。即使这样,你也必须找到自己的解决办法。张贴并接受你的答案。但试着让问题和公认的答案结合起来。我知道这一切都是显而易见的。但有时候最好是长篇大论:)