-1
私は画像をアップロードするためにmultipartアップロードを使用しています。私の場合、画像のアップロードはオプションです。画像を使用しないときはヌルポインタをスローし、私はそれが java.lang.NullPointerException:uri com.android.internal.util.Preconditions.checkNotNull
public String getPath(Uri uri) {
Cursor cursor = AskQueryActivity.this.getContentResolver().query(uri, null, null, null, null); // this line throws error
assert cursor != null;
cursor.moveToFirst();
String document_id = cursor.getString(0);
document_id = document_id.substring(document_id.lastIndexOf(":") + 1);
cursor.close();
cursor = AskQueryActivity.this.getContentResolver().query(
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
null, MediaStore.Images.Media._ID + " = ? ", new String[]{document_id}, null);
assert cursor != null;
cursor.moveToFirst();
String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
cursor.close();
return path;
}
オプションのエラーlogcat
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.admin.lorem.ipsum, PID: 3818
java.lang.NullPointerException: uri
at com.android.internal.util.Preconditions.checkNotNull(Preconditions.java:60)
at android.content.ContentResolver.query(ContentResolver.java:474)
at android.content.ContentResolver.query(ContentResolver.java:434)
あなたのuriがnullであることはかなり明らかです。あなたのアプリをデバッグし、その理由を確認してください。 –
@ S.Aslpourはい画像のアップロードを使用していないときにヌルと言ったようにヌルですので、 – Omi
を追加して、それをヌルにしてチェックしてください。 –