現在、Eclipse と JUnit を介して Android 用のテスト フレームワークを作成中です。最後に実装するのは、必要に応じて構成ファイルを使用してさまざまなプロパティを変更できるようにする構成ファイルとリーダーです。私のフレームワークの構造は次のとおりです。
MainFramework (project)
Base package
Utility package
Config class
Testing (project)
examples package
Artist testing class
構成クラスは次のとおりです。
パブリッククラス構成{
private static Config instance;
public Context context;
public static Properties prop;
public static StorefrontConfig getInstance(Context context) {
if(instance == null)
instance = new StorefrontConfig(context);
return instance;
}
protected StorefrontConfig(Context cont) {
context = cont;
AssetManager manager = context.getAssets();
try {
InputStream instream = manager.open("config");
readConfig(instream);
}
catch (Exception e) {
Log.d("cool", "Failed to create properly initialized config class");
}
}
private static void readConfig(InputStream instream) {
try {
String line = "";
BufferedReader read = new BufferedReader(new InputStreamReader(instream));
while ((line = read.readLine()) != null) {
String[] split_line = line.split("=", 2);
prop.setProperty(split_line[0], split_line[1]);
}
prop.store(new FileOutputStream("config.properties"), "Default and local config files");
read.close();
}
catch (Exception e) {
Log.d("cool", "Failed to create properly initialized config class");
}
}
public String getProperty (String propertyKey) {
try {
return prop.getProperty(propertyKey);
}
catch (Exception e) {
Log.d("cool", "Failed to access property");
return null;
}
}
public Context getContext () {
return context;
}
コードで getProperty() メソッドを呼び出すと、常に null が返されます。ただし、最初に値の読み取りと書き込みに失敗しているのか、それとも何が起こっているのかわかりません。私が知っているのは、私のプログラムはハードコードされた値で動作しますが、このクラスを使用し、必要に応じてコードで config.getProperty() を介して参照する場合は機能しないということです (私のメイン フレームワークには、すべてのテストで継承される Config クラスがあります)。
どんな助けでも本当に感謝しています。私が考えることができる唯一のことは、JavaのPropertiesクラスがAndroidで使用できないということですか?