ローカルストレージのファイルパスからimageViewにイメージをロードしようとしています。AndroidイメージをパスからimageViewにロード
private final String PATH = "file:///storage/emulated/0/Downloads/image.png"
他の場所で、私は両方のグライドを使用して、それをロードしようとしたフォーラムで示唆したように:
Glide.with(this)
.load(PATH)
.into(imageView);
とビットマップ/ BitmapFactory:
ImageView imageView = (ImageView) findViewById(R.id.imageView);
File f = new File(PATH);
if(f.exists()){
Bitmap myBitmap = BitmapFactory.decodeFile(f.getAbsolutePath());
imageView.setImageBitmap(myBitmap);
が、私はいつもプレースホルダ画像を取得します。
マニフェストで、許可WRITE.EXTERNAL.STORAGEとREAD.EXTERNAL.STORAGEを追加しました。
デバッグしようとすると、f変数に正しいパスがロードされているようです。助けのための
おかげ
編集:私はまた、唯一のより良いテストに1つのImageViewの持つブランドの新しいアプリを作っている
...私はすべての提案された解決策を試してみましたが、私は空白の画面をgettinの継続:
package com.example.android.pic;
import android.Manifest;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Environment;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import java.io.File;
public class MainActivity extends AppCompatActivity {
Uri PATH = Uri.fromFile(new File((Environment.getExternalStorageDirectory().getPath() + "/Pictures/agata.png")));
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int permissionCheck = ContextCompat.checkSelfPermission(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
}
}
ImageView imageView = (ImageView) findViewById(R.id.pic);
Glide.with(this)
.load(PATH)
.into(imageView);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case 1: {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
ImageView imageView = (ImageView) findViewById(R.id.pic);
Glide.with(this)
.load(PATH)
.into(imageView);
} else {
finish();
}
}
default:
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
}
助けてください! ありがとう
はウリ作品に変換していますか? 'Uri.parse(PATH) ' –
あなたはandroid 6+でアプリケーションをテストしていますか? –
[ファイルの画像ビューをファイルパスから表示しますか?](https://stackoverflow.com/questions/4181774/show-image-view-from-file-path) –