Androidのデスクトップアプリケーション用に作成されたjarを使用しています。Androidのインポートされたjarからリソースを読み取る
このjarファイルは、いくつかの構成ファイルが含まれており、上記のコードは、デスクトップアプリケーションでは正常に動作しますが、インポートされたライブラリとしてAndroid上で使用された場合には、以下を与える
(code from .jar)
InputStream fXmlFile = Object.class.getResourceAsStream("/aaa/config/interface_config.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
を介してそれらを読んで:
06-02 05:36:44.748: W/System.err(12001): java.lang.IllegalArgumentException: InputStream cannot be null
06-02 05:36:44.748: W/System.err(12001): at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:103)
そのことを示唆しているObject.class.getResourceAsStream("/aaa/config/interface_config.xml")
返されますnull
私は内部を見た生成されたapkと/aaa/config/interface_config.xml
が存在します。
私の質問は、Object.class.getResourceAsStream
はAndroidで期待どおりに動作しますか?私が期待していたのはgetResourceAsStream("absolutePath")
であり、通常は瓶の中にあるので、"absolutePath"
のリソースをapkの中に返すことです。
説明のおかげで、私はこれを欠けていた、それはそれを解決しました。 – Yggdrasil