Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从下载的png设置android imageview_Android_Png_Imageview - Fatal编程技术网

如何从下载的png设置android imageview

如何从下载的png设置android imageview,android,png,imageview,Android,Png,Imageview,我有一个在线数据库,提供图像文件位置和文件名 我正在尝试在android屏幕上更新imageview。下面是我的代码,它获取了图像和我尝试过的东西: // successfully received product details JSONArray productObj = json.getJSONArray("product"); // JSON Array // get first product object from JSON Array JSONObject product = p

我有一个在线数据库,提供图像文件位置和文件名

我正在尝试在android屏幕上更新imageview。下面是我的代码,它获取了图像和我尝试过的东西:

// successfully received product details
JSONArray productObj = json.getJSONArray("product"); // JSON Array

// get first product object from JSON Array
JSONObject product = productObj.getJSONObject(0);

// product with this pid found
// imageview
imageVw = (ImageView) findViewById(R.id.imageView1);

// display data in imageview
//imageStr = "http://somesite.com/images/" + product.getString("imagefile");
imageStr = "file://somesite.com/images/" + product.getString("imagefile");

//imgUri=Uri.parse("file:///data/data/MYFOLDER/myimage.png");
//imgUri=Uri.parse(imageStr);
//imageVw.setImageURI(imgUri);
imageVw.setImageBitmap(BitmapFactory.decodeFile(imageStr));

如果您想获取存储在web上的图像位图,可以执行类似的操作。我个人使用的图书馆名为。这个图书馆使用起来很简单

您必须理解“URL是URI,但URI不是URL。URL是URI的一种特殊化,它定义了给定资源的特定表示形式的网络位置。”因此,如果您的文件位置是http,则需要使用如下函数来获取位图。我使用ImageDownloader库,因为它运行自己的线程,并且还管理一些缓存,以便更快地下载图像

  private Bitmap getImageBitmap(String url) { 
            Bitmap bm = null; 
            try { 
                URL aURL = new URL(url); 
                URLConnection conn = aURL.openConnection(); 
                conn.connect(); 
                InputStream is = conn.getInputStream(); 
                BufferedInputStream bis = new BufferedInputStream(is); 
                bm = BitmapFactory.decodeStream(bis); 
                bis.close(); 
                is.close(); 
           } catch (IOException e) { 
               Log.e(TAG, "Error getting bitmap", e); 
           } 
           return bm; 
        } 

您是下载文件还是将文件存储在web上的某个位置?