如何在Android开发中对properties文件进行读取
展开全部
Android有个隐藏的方法可以获取properties:就是
SystemProperties.getString(String key, String defaultVale);
它的包名是:android.os.SystemProperties。
使用它有两个方法:
1 导入framework.jar包,前提是需要有源码编译环境,编译出来的framework链接文件。
2 还有一种就是使用反射机制去使用SystemPorperties的方法:
package com.as;
import java.lang.reflect.Method;
import android.util.Log;
public class SystemPropertiesInvoke {
private static final String TAG = "SystemPropertiesInvoke";
private static Method getLongMethod = null;
private static Method getBooleanMethod = null;
public static long getLong(final String key, final long def) {
try {
if (getLongMethod == null) {
getLongMethod = Class.forName("android.os.SystemProperties")
.getMethod("getLong", String.class, long.class);
}
return ((Long) getLongMethod.invoke(null, key, def)).longValue();
} catch (Exception e) {
Log.e(TAG, "Platform error: " + e.toString());
return def;
}
}
public static boolean getBoolean(final String key, final boolean def) {
try {
if (getBooleanMethod == null) {
getBooleanMethod = Class.forName("android.os.SystemProperties")
.getMethod("getBoolean", String.class,boolean.class);
}
//Log.i(TAG,"getBoolean:"+"key:"+key+" def:"+def);
//Log.i(TAG,"getBoolean:"+getBooleanMethod.invoke(null, key, def));
return (Boolean)getBooleanMethod.invoke(null, key, def);
} catch (Exception e) {
Log.e(TAG, "Platform error: " + e.toString());
return def;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询