2016-08-22 7 views
0

インストール後にアプリケーションのパスを見つけようとしていて、app/configディレクトリにそのパスを指定してXMLファイルを設定ファイルとして初期化しようとしています。Android Studio:setConfig()メソッドを使用してアプリケーションディレクトリを選択する

私はここで多くの研究をしましたが、私の問題は解決できませんでした: 設定ファイルは、アプリケーションによって初期化/認識/表示されません。 エラーは常に設定を読み込まないことです。

私はパスを取得するために多くの方法を試しましたが、結果は変更されませんでした。私のコードの 関連部分は次のとおりです。

  Context context = new Context(); 
      PackageManager m = getPackageManager(); 
      String s = getPackageName(); 
      PackageInfo p = m.getPackageInfo(s, 0); 
      s = p.applicationInfo.dataDir; 
      s += "/app/config/xmlsignature-config.xml"; 
      context.setConfig(new Config(s)); 

は、事前にありがとう..あなたは、あなたのコンテキストをインスタンス化してはならない

+0

'Context context = new Context();'。コンパイラエラー:型のコンテキストをインスタンス化できません。 – greenapps

+0

いいえ、コンパイラエラーが発生していません。私はAPKを構築してこのステップまで実行しています。 –

答えて

0

私は解決策を発見しました。私が見つけた パスは本当だったが、私は(Androidデバイスモニタ]タブを開いて、見つけることができます)DDMSから見て何アプリファイルまたは中/データ/データディレクトリ設定ファイルがありませんでした。 次に私のxmlsignature_config.xmlファイルをapp/src/res/rowディレクトリに移動しました。その後

の代わり:

Context context = new Context(); 
    PackageManager m = getPackageManager(); 
    String s = getPackageName(); 
    PackageInfo p = m.getPackageInfo(s, 0); 
    s = p.applicationInfo.dataDir; 
    s += "/app/config/xmlsignature-config.xml"; 
    context.setConfig(new Config(s)); 

私はこの変更の後

Context context = new Context(); 
    Config(getResources().openRawResource(R.raw.xmlsignature_config))); 

を書かれているが、プログラムは私のxmlファイルに達しました。

0

。これはAndroidによって作成されたものです。

あなたは変更する必要があります。

Context context = new Context(); 

へ:Context context = getContext();Context context = getApplicationContext();

+0

実際、私が使用したコンテキストクラスは特定のライブラリに属しています。したがって、getContext()またはgetApplicationContext()メソッドは受け入れません。 –

関連する問題