概要
AndroidStudio での開発でプロパティファイルを使って、そこから値を取得する方法を紹介します
環境
- OS X 10.10.5
- AndroidStudio 1.3.2
プロパティファイルの配置
app/src/main/resources/config.properties
に配置します
resources ディレクトリはデフォルトだと存在しないので作成してください
プロパティファイルを読み込むソースコード
まず配置したプロパティファイルを読み込むクラスを作成します
app/src/main/java/com/sample/utils/ConfigPropUtil.java
を作成します
パッケージ名やクラス名は好きな名前で作成してOKです
package sample.utils;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class ConfigPropUtil {
private static final String CONFIG_FILE = "config.properties";
private Properties prop;
public ConfigPropUtil() {
prop = new Properties();
InputStream is;
try {
is = this.getClass().getClassLoader().getResourceAsStream(CONFIG_FILE);
prop.load(is);
} catch (IOException e) {
e.printStackTrace();
}
}
public Object get(String key) {
return prop.get(key);
}
}
java.util.Properties
を使ってプロパティファイルを読み込みます
プロパティファイル名 (CONFIG_FILE) は配置した名前にすればなんでもOKです
フルパスでは設定せずファイル名だけで指定します
他のクラスから使用する方法
例えば Activity 継承したクラスで onCreate 内では以下のように利用します
private ConfigPropUtil config;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.start_activity);
config = new ConfigPropUtil();
String key = (String) config.get("key.name");
}
こんな感じで使えます
最後に
トラブルシュートでとしてはFileNotFoundException
or NullPointerException
が発生すると思います
原因のほとんどはファイルが見つからない場合です
AndroidStudio でビルドする場合は gradle を利用します
gradle で apk ファイルを作成してから実機なりシミュレータに転送して実行します
なので apk ファイルに config.properties が含まれる必要があるため app/src/main/resources/config.properties
にプロパティを配置しました
gradle は app/src/main/resources/
にあるファイルを自動的にビルドに含めてくれるのです
0 件のコメント:
コメントを投稿