Java 在Android中图像上载到Cloudinary失败

Java 在Android中图像上载到Cloudinary失败,java,android,cloudinary,image-upload,Java,Android,Cloudinary,Image Upload,我试图在单击相机中的图像后将图像上载到Cloudinary。 相机工作正常,但单击图像后,应用程序一次又一次崩溃。试图调试它,但没有得到我有错误的地方 LOGCAT: beginning of crash 05-03 00:29:58.243 4880-4880/com.example.maaz.taxit E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.maaz.taxit, PID: 4880 java

我试图在单击相机中的图像后将图像上载到Cloudinary。 相机工作正常,但单击图像后,应用程序一次又一次崩溃。试图调试它,但没有得到我有错误的地方

LOGCAT:
beginning of crash
05-03 00:29:58.243 4880-4880/com.example.maaz.taxit E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.maaz.taxit, PID: 4880
    java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=null} to activity {com.example.maaz.taxit/com.example.maaz.taxit.ImageDeleteTest}: android.os.NetworkOnMainThreadException
        at android.app.ActivityThread.deliverResults(ActivityThread.java:3699)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:3742)
        at android.app.ActivityThread.-wrap16(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1393)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:5417)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
     Caused by: android.os.NetworkOnMainThreadException
        at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1273)
        at java.net.InetAddress.lookupHostByName(InetAddress.java:431)
        at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
        at java.net.InetAddress.getAllByName(InetAddress.java:215)
        at com.android.okhttp.internal.Network$1.resolveInetAddresses(Network.java:29)
        at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:188)
        at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:157)
        at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:100)
        at com.android.okhttp.internal.http.HttpEngine.createNextConnection(HttpEngine.java:357)
        at com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:340)
        at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330)
        at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:248)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:433)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:114)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:245)
        at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:218)
        at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java)
        at com.cloudinary.android.MultipartUtility.<init>(MultipartUtility.java:52)
        at com.cloudinary.android.UploaderStrategy.callApi(UploaderStrategy.java:48)
        at com.cloudinary.Uploader.callApi(Uploader.java:22)
        at com.cloudinary.Uploader.upload(Uploader.java:55)
        at com.example.maaz.taxit.ImageDeleteTest.onActivityResult(ImageDeleteTest.java:63)
        at android.app.Activity.dispatchActivityResult(Activity.java:6428)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:3695)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:3742) 
        at android.app.ActivityThread.-wrap16(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1393) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:148) 
        at android.app.ActivityThread.main(ActivityThread.java:5417) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

您可以尝试使用:

Map uploadResult = cloudinary.uploader().upload("http://res.cloudinary.com/demo/image/upload/sample.jpg", ObjectUtils.emptyMap());
并打印RuntimeException/uploadResult?

是否可以尝试使用:

Map uploadResult = cloudinary.uploader().upload("http://res.cloudinary.com/demo/image/upload/sample.jpg", ObjectUtils.emptyMap());

并打印RuntimeException/uploadResult?

尝试使用Cloudinary提供的android MediaManager类。您需要调用将在后台线程上运行的dispatch()方法。基本上,您得到的是NetworkOnMainThread异常,这意味着您在Android不允许的UI线程上进行网络调用。检查文档,这很容易

    String requestId = MediaManager.get().upload("imageFile.jpg")
   .unsigned("sample_preset")
   .dispatch();
文档中的一个片段

签出此链接以了解更多信息:


尝试使用Cloudinary提供的android MediaManager类。您需要调用将在后台线程上运行的dispatch()方法。基本上,您得到的是NetworkOnMainThread异常,这意味着您在Android不允许的UI线程上进行网络调用。检查文档,这很容易

    String requestId = MediaManager.get().upload("imageFile.jpg")
   .unsigned("sample_preset")
   .dispatch();
文档中的一个片段

签出此链接以了解更多信息: