Wenn ich versuche, ein Bild hochzuladen gibt es mir Fehler Mission unten. Vor dem Kompilieren SDK 26 funktioniert es gutAndroid.database.CursorIndexOutOfBoundsException: Index 0 angefordert
Ich benutze diese Bibliothek zum Hochladen eines Bildes: kompilieren 'net.gotev: uploadservice: 2.1' was soll ich tun ???
getPath() -Methode:
//method to get the file path from uri
public String getPath(Uri uri) {
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
String document_id = cursor.getString(0);
document_id = document_id.substring(document_id.lastIndexOf(":") + 1);
cursor.close();
cursor = getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
null, MediaStore.Images.Media._ID + " = ? ", new String[]{document_id}, null);
cursor.moveToFirst();
String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
cursor.close();
return path;
}
uploadMultiPart() -Methode:
public void uploadMultipart() {
String path = getPath(filePath);
//Uploading code
try {
String uploadId = UUID.randomUUID().toString();
//Creating a multi part request
new MultipartUploadRequest(this, uploadId, AppConfig.RECEIPT_URL)
.addFileToUpload(path, "image") //Adding file
.addParameter("emp_id", emp_id) //Adding text parameter to the request
.setNotificationConfig(new UploadNotificationConfig())
.setMaxRetries(7)
.startUpload(); //Starting the upload
Toast.makeText(getApplicationContext(),
"Upload Successfull", Toast.LENGTH_LONG)
.show();
} catch (Exception exc) {
Toast.makeText(this, exc.getMessage(), Toast.LENGTH_SHORT).show();
}
}
Hier ist meine Fehlercode:
FATAL EXCEPTION: main
Process: com.indore.ddagro, PID: 6609
android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
at android.database.AbstractCursor.checkPosition(AbstractCursor.java:460)
at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
at android.database.CursorWrapper.getString(CursorWrapper.java:137)
at com.indore.ddagro.activity.RecepitActivity.getPath(RecepitActivity.java:230)
at com.indore.ddagro.activity.RecepitActivity.uploadMultipart(RecepitActivity.java:153)
at com.indore.ddagro.activity.RecepitActivity.onClick(RecepitActivity.java:276)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24697)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Force finishing activity com.indore.ddagro/.activity.RecepitActivity
Showing crash dialog for package com.indore.ddagro u0
Ich denke, Ihr Cursor leer ist, sucht warum ist es leer –
'android.database.CursorIndexOutOfBoundsException: Index 0 angefordert , mit einer Größe von 0 'gab der Cursor keine Zeilen zurück (** Größe von 0 **). –