我有一个apiconfig.ini并且在我的文件中
# THE MOVIE DB API KEY
api_key = API_KEY
我只想获得API_KEY(值)并设置为String。
我创建了一个类来读取Ini文件:
public class ReadIniFile {
//--- Get Key or Value from a .ini File ---//
private String configurationFilePath;
private final String defaultConfigPath = "apiconfig.ini"; //Doesn't Work
private HashMap<String, String> iniFile;
public HashMap<String, String> getIniFile() {
return iniFile;
}
public void setIniFile(HashMap<String, String> iniFile) {
this.iniFile = iniFile;
}
public ReadIniFile(String iniConfFilePath, String... keys) {
configurationFilePath = iniConfFilePath == null ? defaultConfigPath : iniConfFilePath;
Ini ini = loadIni();
if (ini != null) {
if (keys.length > 0) {
for (String key : keys) {
iniFile.put(key, ini.get(key).toString());
}
}
}
}
public ReadIniFile(String iniConfFilePath, String key) {
configurationFilePath = iniConfFilePath == null ? defaultConfigPath : iniConfFilePath;
Ini ini = loadIni();
if (ini != null) {
iniFile.put(key, ini.get(key).toString());
}
}
public ReadIniFile(String... keys) {
configurationFilePath = defaultConfigPath;
Ini ini = loadIni();
if (ini != null) {
if (keys.length > 0) {
for (String key : keys) {
iniFile.put(key, ini.get(key).toString());
}
}
}
}
public ReadIniFile(String key) {
configurationFilePath = defaultConfigPath;
Ini ini = loadIni();
if (ini != null) {
iniFile.put(key, ini.get(key).toString());
}
}
public Ini loadIni() {
try {
File file = new File(configurationFilePath);
Ini ini = new Ini(new File(file.getAbsolutePath()));
return ini;
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
public HashMap<String, String> getAllIni() {
return iniFile;
}
public String getSpecificValueIni(String key) {
return iniFile.get(key);
}
public Collection<String> getAllValues() {
return iniFile.values();
}
public String getSpecificKeyValueIniToString(String key) {
return key + " = " + iniFile.get(key);
}
}
但是当我运行代码时,他们找不到apiconfig.ini文件
如何获取文件的路径?记住文件位于src目录级别,如image
或者有更好的方法可以在硬编码之外保存API密钥吗?
答案 0 :(得分:0)
您可以将API密钥存储为字符串资源。它将放在strings.xml
文件中。
<string name="api_key">API_KEY</string>
&#13;
从那里你可以像使用Android中的任何其他字符串资源一样使用它。