Android Studio Файл не найден - PullRequest
       0

Android Studio Файл не найден

0 голосов
/ 11 ноября 2018

Я новичок в разработке Android Studio и столкнулся с проблемой при попытке сохранить путь к изображению в базе данных SQLite. Я получаю сообщение об ошибке «java.io.FileNotFoundException», хотя путь и файл такие же, как в папке телефонов, Я не понимаю, почему у меня такая проблема, может кто-нибудь объяснить мне, что я скучаю? java.io.FileNotFoundException Column_index: 0 DataBaseHelper.java

public boolean InsertImage(File x){
SQLiteDatabase db = this.getWritableDatabase();
try {
    FileInputStream fs = new FileInputStream(x);
    byte [] imgbyte = new byte[fs.available()];
    fs.read(imgbyte);
    ContentValues contentValues = new ContentValues();
    contentValues.put("img",imgbyte);
    db.insert(TABLE_NAME_USERS,"Avatar",contentValues);
    fs.close();
    return true;
} catch (IOException e){
    e.printStackTrace();
    return false;
}
}

SignIn.java

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    ImageView AvatarImage = findViewById(R.id.AvatarImage);
    super.onActivityResult(requestCode, resultCode,data);
    if(requestCode == REQUEST_CODE  && data != null && data.getData() != null){
        Uri uri = data.getData();
        String path = uri.getPath(); // "/mnt/sdcard/FileName.mp3"
        File file = new File((path));
        String x  = getPath(uri);
        myDb.InsertImage(file);
        try {
            Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(),uri);
            AvatarImage.setImageBitmap(bitmap);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

public String getPath(Uri uri){
    if (uri==null)return null;
    String [] projection = {MediaStore.Images.Media.DATA};
    Cursor cursor = managedQuery(uri,projection,null,null,null);
    if (cursor!=null){
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        String dede = cursor.getString(column_index);
        return cursor.getString(column_index);
    }
    return uri.getPath();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...