2016-08-11 18 views
0

私はEコマースアプリケーションを開発しています。ここで私は、アプリケーションがアップしているときに多くの製品イメージを表示する必要があります。私は、ネットワーク使用を減らすために、ドロウアブルフォルダに少数の製品イメージを保存しました。新しい製品がバックエンドの製品インベントリに追加され、SQLiteデータベースに保存されたら、デルタ製品イメージをダウンロードする予定です。「Drawable」フォルダから画像をプログラムで削除するにはどうすればよいですか?

私は2つの異なるパス(drawableとSQLiteデータベース)を参照して、すべての製品イメージを取得する必要があります。

どうすれば、私のMainActivityのonCreateメソッドで、アプリケーションのインストール後、またはAPK生成時に、drawableフォルダの最初の魚のイメージをSQLiteデータベースに移動できますか?そして、私はまた、それらをSQLiteデータベースに移動した後に、ドロウアブルフォルダ内の最初のイメージを削除する必要があります。

ご迷惑をおかけして申し訳ございません。前もって感謝します。

+2

"また、私はSQLiteデータベースに移動した後に、それらの初期画像をドロウアブルフォルダ内で削除する必要があります。" - これは不可能です。リソースは実行時に読み取り専用です。 – CommonsWare

+2

なぜドロワブルをデータベースに移動したいのですか?どのようにメモリの制約を解決するのですか? –

+0

私たちがSQLiteで知っているように、イメージをバイナリ形式で保存できるので、メモリ使用量が減少します。そして私は、さらなる実装のために各画像に関連する他のいくつかのパラメータを保存する必要があります。 –

答えて

2

コンテンツの配信先がAPKにバインドされている場合、そのコンテンツはそのまま残ります。 Google Playストアでの配布を計画していると仮定すると、アプリのアップデートでこれを修正する唯一の方法は、明らかに非常にハッキリです。したがって、最初の描画可能なリソースを捨てることが目標であれば、これを行うことはできません。

私のアドバイスは、可能な限り画像を圧縮してのみ、実行時にサイズを変更することができます一つの画像サイズを提供し、そうnodpi描画可能リソースフォルダ(つまり、描画可能nodpi)

代替ダウンロードすることですを使用することですネットワークを介して画像。ファイルサイズは非常に小さくすることができ、ほとんどの場合はダウンロードが高速になるため、ネットワーク接続がユーザーにとって問題とならない限り、実行可能なオプションです。

+0

ありがとうございましたdigithree –

関連する問題