2016-04-17 5 views
0

のsrcレベルで検索します。読むiniファイルは、私がapiconfig.iniを持っていると、ファイル内の私は</p> <pre><code># THE MOVIE DB API KEY api_key = API_KEY </code></pre> <p>私はちょうどAPI_KEY(値)を取得したいがあり、文字列に設定されたAndroidのプロジェクト

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ファイルを見つけることができません:

私はINIファイルを読み込むためのクラスを作成しますファイル?ファイルを覚えて、このimage

のように、srcディレクトリレベルで探しているか打ち外のAPIキーを保存するための任意のより良い方法はありますか?

+0

'apiconfig'ファイルのパスは何ですか? – Kathi

答えて

0

あなたは、文字列リソースとしてAPIキーを格納することができます。それはstrings.xmlファイルに入ります。そこから

<string name="api_key">API_KEY</string>

あなたは、Androidの他の文字列リソースのようにそれを使用することができます。

+0

問題は、私はgithubのを使用しているということですので、私は、このファイルのすべての時間を送信する必要はありませんが、私は文字列タグのようにそこにAPI_KEYを入れて、私の見解で取得config_string.xml新しいファイルを作成しました。それで、それは動作します!ありがとう – Adley

関連する問題

 関連する問題