android开发中常到的配置文件处理方式总结:
1.j2se方式:
.properties文件的读取:
public static Properties getNetConfigProperties() {
Properties props = new Properties();
InputStream in = Utils.class.getResourceAsStream("/netconfig.properties");
try {
props.load(in);
} catch (IOException e) {
e.printStackTrace();
}
return props;
}
使用时: Properties.getProperty("key")
自定义配置文件:
写入:private static void writeConfiguration(Context context,
LocaleConfiguration configuration) {
DataOutputStream out = null;
try {
out = new DataOutputStream(context.openFileOutput(PREFERENCES,
MODE_PRIVATE));
out.writeUTF(configuration.locale);
out.writeInt(configuration.mcc);
out.writeInt(configuration.mnc);
out.flush();
} catch (FileNotFoundException e) {
// Ignore
} catch (IOException e) {
// noinspection ResultOfMethodCallIgnored
context.getFileStreamPath(PREFERENCES).delete();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
// Ignore
}
}
}
}
读取:private static void readConfiguration(Context context,
LocaleConfiguration configuration) {
DataInputStream in = null;
try {
in = new DataInputStream(context.openFileInput(PREFERENCES));
configuration.locale = in.readUTF();
configuration.mcc = in.readInt();
configuration.mnc = in.readInt();
} catch (FileNotFoundException e) {
// Ignore
} catch (IOException e) {
// Ignore
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
// Ignore
}
}
}
}
private static class LocaleConfiguration {
public String locale;
public int mcc = -1;
public int mnc = -1;
}
private static final String PREFERENCES = "launcher.preferences";
2.SharedPreferences:
public class SharedPreferencesHelper {
SharedPreferences sp;
SharedPreferences.Editor editor;
Context context;
public SharedPreferencesHelper(Context c,String name){
context = c;
sp = context.getSharedPreferences(name, 0);
editor = sp.edit();
}
public void putValue(String key, String value){
editor = sp.edit();
editor.putString(key, value);
editor.commit();
}
public String getValue(String key){
return sp.getString(key, null);
}
}