/ / Як читати local.properties android у файлах java - java, android, властивості

Як читати local.properties android у файлах java - java, android, властивості

Я хочу додати спеціальні поля у подібні local.properties

debug.username = test123
debug.password = abcd1234

можна додати файли .properties у папку активів і легко їх читати.

Resources resources = context.getResources();
AssetManager assetManager = resources.getAssets();
Properties properties = null;
InputStream inputStream = assetManager.open(fileName);
properties = new Properties();
properties.load(inputStream);

Але не хочу цього робити. Як я хочу, щоб кожен член нашої команди використовував local.properties, щоб вказати там спеціальний атрибут. яка не є частиною системи управління версіями.

Так як це зробити читайте local.properties, розміщені в кореневій папці андроїд-проекту на основі gradle у файлах Java під час виконання?

Відповіді:

4 для відповіді № 1

Я знаю, що це старе питання, але нещодавно я стикався з тим же, і думав, що поділяю своє рішення:

  1. Встановіть значення у вашому локальні.властивості файл
  2. Прочитайте значення у сценарії побудови Gradle та встановіть його на a BuildConfig постійна
  3. Доступ до BuildConfig постійний у вашому коді Java.

локальні.властивості

username=myUsername

build.gradle:

def getUsername() {
Properties properties = new Properties()
properties.load(project.rootProject.file("local.properties").newDataInputStream())
return properties.getProperty("username");
}

android {
defaultConfig {
buildConfigField "String", "USERNAME", """+getUsername()+"""
}
}

Приклад класу Java:

package your.package.name;

class MyClass {
String getUsername() {
return BuildConfig.USERNAME; // Will return "myUsername"
}
}

2 для відповіді № 2
Properties properties = new Properties();
InputStream inputStream =
this.getClass().getClassLoader().getResourceAsStream("fileName.properties");
properties.load(inputStream);
Username=properties.getProperty("username");
password=properties.getProperty("password");

Більш детальна відповідь тут http://pillsfromtheweb.blogspot.in/2014/09/properties-file-in-android.html

і для активів використовуйте цей код

        AssetManager assetManager = getAssets();
InputStream inputStream = null;
try {
inputStream = assetManager.open("fileName.properties");
properties.load(inputStream);
String Username = properties.getProperty("username");
String password = properties.getProperty("password");
}
catch (IOException e){
Log.e("message: ",e.toString);
}