2017-12-01 11 views
1

200個以上のアイコン(50x50pxより小さい)を描画可能なリソースに追加したい。ドラッグアンドドロップは私のためには機能しません。新しい画像アセット許可を使用すると、1枚の写真のみをアップロードできます。Androidはdrawable resフォルダに複数の画像を追加する

enter image description here

描画可能なフォルダに画像を追加した後、私は画像を取得することができませんでした:

は、ここに私のプロジェクトのリソースフォルダ構造です。ここに私のコードです

Resources res = activity.getResources(); 
    String mDrawableName = user.getNat().toLowerCase() + ".png"; 
    int resourceId = res.getIdentifier(mDrawableName , "drawable", activity.getPackageName()); 
    Drawable drawable = res.getDrawable(resourceId); 
    countryIcon.setImageDrawable(drawable); 

なぜ私はdrawableでイメージを見つけることができませんか?

ファイルエクスプローラ/ファインダーで写真をコピーする場所はどこですか?私は描画可能なフォルダとミップマップフォルダを別々の次元に持っています

プロジェクト内に200個のPNGがあることをお勧めしますか? (私は33483477のような異なるコードを持ち、すべてのコードに対して私は表示する必要のある画像を持っています)

+0

DCIMフォルダに画像を保存することができます。次に、ImageViewを作成します。そこでは、画像をブラウズして選択することができます。 – user1850484

+0

'String mDrawableName = user.getNat()。toLowerCase(); //拡張子なし! ' –

答えて

1

以下のコードを使用してドロワーブラーを取得します。それがあなたのために働くことを願ってください。 .pngファイル拡張の必要はありません。それはあなたが間違ったことだ。また、getIdentifierを呼び出す前にgetResources()メソッドを使用してください。

String mDrawableName = user.getNat().toLowerCase(); //image or icon name. not need extention .png 
int resourceId = getResources().getIdentifier(mDrawableName, "drawable", getPackageName()); // or use context.getResources(). If you use fragments, use getActivity(). 
Drawable drawable = getResources().getDrawable(resourceId); 
countryIcon.setImageDrawable(drawable); 
+0

ありがとうございます!これは私の質問を解決しました! –

+0

あなたの歓迎ケイトCebotariです。あなたを助ける喜び。 –

3

<your project>/<your module>/src/main/res/drawable[-qualifier]のプロジェクトに直接コピーしてください。

あなたのプロジェクトの他の詳細がなければ、これらのリソースフォルダがどのドロアブルリソースフォルダにあるかを具体的には言えません(-hdpi-nodpi?)。

プロジェクト内に200個のPNGがあることをお勧めしますか?

サイズによって異なります。 100MiBのAPKサイズ制限があります。より大きい場合は、データの本質的に不透明なアーカイブであるexpansion filesをステージングすることができます。

それ以外の場合は、画像の使用パターンを考慮する必要があります。常にすべてのユーザーがすべての画像を表示していますか?ポイントは、ユーザーが最終的にすべてをダウンロードしなければならない場合、APKでそれらをすべてバンドルすることはおそらく大丈夫です。それらのうちのいくつかだけを使用する場合は、それらをすべて(あなたのAPK内で)ダウンロードすることは帯域幅の無駄です。

イメージをサーバーにステージングし、オンデマンドでダウンロードすると、アプリが少し複雑になりますが、よく確立されたパターンです。

+0

イメージは実際には200個のアイコンですが、非常に小さいものです。 Qをもう一度確認してください。今すぐ編集します。ミップマップとドロウアブルフォルダがたくさんあり、アイテムをどこにコピーするのかわかりません。 drawableに直接接続すると、そこから画像を取得できません –

+0

200個のアイコンを束ねるといいでしょう(100x100px以下のものを意味すると仮定して)。 –

関連する問題