0

私はAndroidで、写真をサーバーにアップロードできるアプリを作成しています。ここでの問題は、リストから画像を完全に削除したい場合です。画像ビューからビューを削除できますが、画像をアップロードするとき。2 つの画像を取得しました。1 つは前の写真で、もう 1 つは削除後に画像に設定した最後の写真です。(注: 画像リソースはギャラリーからのものです)。以下は私のコードです

写真を画像ビューに設定するコード

if(image.getDrawable() == null)
        {
            image.setImageBitmap(imageUpload);
            imageUpload.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            image_data = baos.toByteArray();
            encoded_image_1 = Base64.encodeBytes(image_data);
        }
        else if(image2.getDrawable() == null)
        {
            image2.setImageBitmap(imageUpload);
            imageUpload.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            image_data = baos.toByteArray();
            encoded_image_2 = Base64.encodeBytes(image_data);
        }
        else if(image3.getDrawable() == null)
        {
            image3.setImageBitmap(imageUpload);
            imageUpload.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            image_data = baos.toByteArray();
            encoded_image_3 = Base64.encodeBytes(image_data);
        }

画像を削除するコード

else if(image3.getDrawable() != null)
            {
                image3.setImageBitmap(null);
                encoded_image_3 = null;
            }
            else if(image2.getDrawable() != null)
            {
                image2.setImageBitmap(null);
                encoded_image_2 = null;
            }
            else if(image.getDrawable() != null)
            {
                image.setImageBitmap(null);
                encoded_image_1 = null;
            }

画像をアップロードするコード

params_p.add(new BasicNameValuePair("image_1", encoded_image_1));
                params_p.add(new BasicNameValuePair("image_2", encoded_image_2));
                params_p.add(new BasicNameValuePair("image_3", encoded_image_3));

皆さんからの助けに感謝します、ありがとう。

4

2 に答える 2

1

パラメータ バンドルに追加する前に、everyencoded_image_*が null かどうかを確認する必要があります。null であるべきものが null でない場合 - ステップごとに削除プロセスをデバッグし、プログラムがencoded_image_* = nullセクションに入らない理由を見つけます。

于 2013-08-13T03:16:42.303 に答える
0

imageUpload.recycle() を試すことができます

于 2013-08-13T02:30:39.620 に答える