2013-02-22 7 views
5

- Ich bin mit Parse api Upload und speichern die Videodatei auf dem Parse.com Server für eine Anwendung.Hochladen und Speichern der Videodatei mit Parse API war nicht erfolgreich in Android

- Ich bin derzeit den folgenden Code aus Parse Dokumentation unter Verwendung der Videodatei auf den Parse-Server hochladen:

File f = new File("/sdcard/video-2013-02-21-13-03-24.mp4"); 

    byte[] videoUp = IOUtils.toByteArray(new FileInputStream(f)); 


    ParseFile file = new ParseFile("testVideo1", videoUp); 




    file.saveInBackground(new SaveCallback() { 


     public void done(ParseException e) { 

     e.printStackTrace(); 

    } 

    }, new ProgressCallback() { 

    public void done(Integer percentDone) { 

    System.out.println("Progress :" + percentDone); 
     } 
    }); 

- Bei ersten seinen Druck Fortschritt 100% denen ist die Resultierende von System.out.println Anweisung von done() Methode mit Integer als Parameter, und sofort danach geht es in die Methode done() mit ParseException als der Parameter, der die folgende Stapelspur druckt.

FATAL EXCEPTION: main 
java.lang.NullPointerException 
at com.example.uploadfileusingparse.MainActivity$1$1.done(MainActivity.java:63) 
at com.parse.SaveCallback.internalDone(SaveCallback.java:42) 
at com.parse.SaveCallback.internalDone(SaveCallback.java:29) 
at com.parse.BackgroundTask.onPostExecute(BackgroundTask.java:50) 
at com.parse.BackgroundTask.onPostExecute(BackgroundTask.java:16) 
at android.os.AsyncTask.finish(AsyncTask.java:417) 
at android.os.AsyncTask.access$300(AsyncTask.java:127) 
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:4633) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:521) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
at dalvik.system.NativeStart.main(Native Method) 

-Parse hat detaillierte Anleitungen und Informationen über die IPhone Integration gegeben, aber ich tat es nicht eine Anleitung finden, dass zu erklären in Android.

- Kann jemand bitte geben Sie mir eine Tutorial Erläuterung der Integration von Parse Api in die Anwendung laden Sie die Multimedia-Dateien auf dem Server Parse.

+1

Es gibt eine NPE auf MainActivity.java, Linie 63. Stellen Sie einen Break- Punkt, finde heraus * was * ist 'null' und * warum * es ist. –

+0

Null Pointer Ausnahme wird geworfen, nachdem der Fortschritt zu 100% geht, jetzt warum nach dem Upload die Videodatei nicht gespeichert wird, ist die Frage hier, und natürlich kann ich nicht verfolgen, was los ist, auf der Serverseite .... ........ Ich würde mich freuen, wenn jemand eine funktionierende Lösung dafür bereitstellen könnte –

Antwort

0

Sie erhalten den Fehler, weil Sie versuchen, eine Methode aus einer Nullvariablen aufzurufen. Wenn saveInBackground() erfolgreich ausgeführt wird, ist die ParseException in done (ParseException e) ungültig. Fix es durch einen Scheck zu tun, wenn die ParseException null ist:

public void done(ParseException e) { 
     if(e==null) { 
      // SUCCESS!!! 
     } else { 
      e.printStackTrace(); 
     } 
    } 

Diese mit Namen auf alle ParseObject Methoden gilt mit der Endung * inBackground

Verwandte Themen