android:webservice image替换为Local文件夹中的图像

时间:2011-09-27 06:17:27

标签: android web-services image

我正在进入android的聊天应用程序的最后阶段。

在处理图片和网络服务时,我遇到的问题很少。

因此,当我选择图像并将该图像发送到Web服务时,我从服务中获取URL。如何将该网址转换为我本地文件夹中的图像。我很困惑,我怎么能让这个工作。

我想在列表视图中显示所选图像以及从Web服务返回的消息。

请在这个问题上指导我。有没有其他选择可以解决这个问题。

感谢。

2 个答案:

答案 0 :(得分:5)

使用此方法:

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函数。

答案 1 :(得分:0)

使用此方法将网址转换为图片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) 随意提出疑问