助けてください。私はもう試した :
ImageButton imgbt=(ImageButton)findViewById(R.id.imgbutton);
Uri imgUri=Uri.parse("/data/data/MYFOLDER/myimage.png");
imgbt.setImageUri(imgUri);
しかし、私は何も見ませんでした。単に無効ボタンです。
助けてください。私はもう試した :
ImageButton imgbt=(ImageButton)findViewById(R.id.imgbutton);
Uri imgUri=Uri.parse("/data/data/MYFOLDER/myimage.png");
imgbt.setImageUri(imgUri);
しかし、私は何も見ませんでした。単に無効ボタンです。
ImageView.setImageUri は、ネットワーク上の画像への URL ではなく、ローカル ディスク ファイルへの参照など、ローカル Uri に対してのみ機能します。
ネットワークからビットマップを取得する方法の例を次に示します。
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;
}
getImageBitmap() からビットマップを取得したら、次を使用します: imgView.setImageBitmap(bm);
そのはず
Uri imgUri=Uri.parse("file:///data/data/MYFOLDER/myimage.png");
これはどう:
Bitmap bitmap = BitmapFactory.decodeFile(fullFileName);
imgProfileImage.setImageBitmap(bitmap);
手でパスを作成するのを避けるのが最善です。試してください:
imgbt.setImageUri(Uri.fromFile(new File("/data/data/....")));
String imgPath = Environment.getDataDirectory() + "/data/com.wariyum.signage/files/"+ "221215-085656.619.72.jpg";
//Following lines was expected work, but don't really show up image always - no idea why
//imgZoom.setImageURI(Uri.parse(imgPath));
//following works always perfectly
File imgFile = new File(imgPath);
if(imgFile.exists()){
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
imgZoom.setImageBitmap(myBitmap);
}