2011-12-22 9 views
1

私のAndroidプロジェクトは、再利用可能なライブラリとしてjarとして配布されることを意図しています。私の理解は、私はリソース(スタティックRクラスへの参照なし)を使用することができないということです。私はこれを行う方法についていくつか質問があります。私のAndroidプロジェクトでリソースを使用しない方法に関するいくつかの質問

ドロアブルを扱う良い方法はありますか?ソースパスに/images/image.pngというイメージを含めると、以下のコードで読み込むことができます。これは良い戦略ですか?

InputStream is = getClass().getResourceAsStream("/images/image.png"); 
BitmapFactory.decodeStream(is); 

どのように国際化を処理する必要がありますか?私はJavaクラスにすべての文字列を含めることができ、デバイスの言語に基づいて文字列を返すことができると思います。しかし、これは私のアプリのメモリ負担ですか?また、デバイスの言語を判断する適切な方法は何ですか?

答えて

1

瓶として配布する理由はありますか?代わりに図書館プロジェクトとして配布するようアドバイスします。 hereと記載されているAndroidライブラリプロジェクトは、通常のプロジェクトで使用するのと同じ方法で静的なRクラスを使用できるようにします。また、国際化も処理できます。

ライブラリプロジェクトを使用する理由は、res /フォルダに置かれたリソースがバイナリの最終サイズを減らすために大幅に圧縮されているためです。これは、画像ファイルとXMLファイルの両方に当てはまります。

+0

私はそれをオープンソースにしたくないので、ソースコードを配布する必要がありますか? – ab11

+0

コードを絶対に配布できない場合、これはあなたが探している解決策ではないと思います。私が知る限り、コンパイルされたライブラリプロジェクトをjarファイルに配布する方法はありません。 Mark Murphyはここでいくつかの解決策を説明していますが(http://stackoverflow.com/questions/6269816/creating-closed-source-android-libraries)、最終的にこれを行うには本当に良い方法はないようです。 – Bendik

+0

ありがとう、マークマーフィーの議論は私が探していたものです – ab11

関連する問題