Android: замена веб-сервиса изображения с изображениями в локальной папке - PullRequest
0 голосов
/ 27 сентября 2011

Я нахожусь в финальной стадии приложения чата в Android.

Я сталкиваюсь с несколькими проблемами при работе с изображениями и веб-сервисом.

Поэтому, когда я выбираю изображение и отправляю это изображение в веб-сервис, я получаю URL от сервиса.Как я могу преобразовать этот URL в изображение, которое находится в моей локальной папке.Я запутался, как мне заставить это работать.

Я хочу отобразить выбранное изображение в виде списка вместе с сообщением, возвращенным из веб-службы.

Пожалуйста, помогите мне в этом вопросе.Есть ли другой вариант для решения этой проблемы.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 27 сентября 2011

Используйте этот метод:

public static Bitmap getBitmapFromURL(String src) {
        try {
            URL url = new URL(src);
            HttpURLConnection connection = (HttpURLConnection) url
            .openConnection();
            connection.setDoInput(true);
            connection.connect();
            connection.setReadTimeout(120000);
            InputStream input = connection.getInputStream();
            Bitmap myBitmap = BitmapFactory.decodeStream(input);
            return myBitmap;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

Здесь Вам нужно передать URL изображения в функцию, и вы можете установить изображение как функцию setImageBitmap.

0 голосов
/ 27 сентября 2011

используйте этот метод для преобразования URL в изображение Bitmap bi=convertImage(url);, укажите размеры изображения в этой строке

bit = Bitmap.createScaledBitmap (bm, 120, 120, true);

public Bitmap convertImage(String url)
         {

            URL aURL = null;
            try 
           {
            final String imageUrl =url.replaceAll(" ","%20");
            Log.e("Image Url",imageUrl);
            aURL = new URL(imageUrl);
            URLConnection conn = aURL.openConnection();
            InputStream is = conn.getInputStream(); 

            BufferedInputStream bis = new BufferedInputStream(is); 
            Bitmap bm = BitmapFactory.decodeStream(new PatchInputStream(bis)); 
            if(bm==null)
            {}
            else
              bit=Bitmap.createScaledBitmap(bm,120, 120, true);

            return bm;

           } 


            catch (IOException e) 
            {
               Log.e("error in bitmap",e.getMessage());
              return null;
           }


          }

Установите возвращенное значение bm (растровое изображение) для вашего ImageView imageview.setImageBitmap(bi), не стесняйтесь задавать вопросы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...