Android Studio:使用setConfig()方法选择app目录

时间:2016-08-22 15:47:01

标签: java android android-studio

我试图在安装后找到我的应用程序的路径,并通过在app / config目录中提供其路径来初始化XML文件作为配置文件。

我在这里做了很多研究,但无法解决我的问题: 应用程序未初始化/识别/看到配置文件。 错误始终是不加载配置。

我尝试了很多方法来获得路径,但结果没有改变。 我的代码的相关部分是:

            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));

提前谢谢..

2 个答案:

答案 0 :(得分:0)

您不应该实例化您的上下文。这是由Android为您创建的。

你应该改变:

Context context = new Context();

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

答案 1 :(得分:0)

我找到了解决方案。 我找到的路径是正确的,但是我从 DDMS 查看时,/ data / data目录中没有 app 文件或 config 文件(可以通过打开Android设备监视器选项卡找到)。 然后我 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文件。