在Android中获取Facebook个人资料图片时出错

更聪明

我正在尝试使用下面的代码获取Facebook个人资料图像。我尝试在日志中的链接看起来不错,但是在getContent()部分中遇到了错误。关于为什么会这样的任何想法?

我的代码是:

 imgUrl = new URL("https://graph.facebook.com/" + facebookID + "/picture?type=large");
                                            System.out.println("problem 7");
                                            System.out.println(imgUrl);
                                            InputStream in = (InputStream) imgUrl.getContent();
                                            System.out.println("problem 7.5");
                                            Bitmap  bitmap = BitmapFactory.decodeStream(in);
                                            System.out.println("problem 8");

错误如下:

04-21 15:59:58.472 18711-18711/com.my_last.mylast I/System.out: problem 7
    04-21 15:59:58.472 18711-18711/com.my_last.mylast I/System.out: https://graph.facebook.com/135258820209927/picture?type=large
    04-21 15:59:58.481 18711-18711/com.my_last.mylast D/AndroidRuntime: Shutting down VM
    04-21 15:59:58.481 18711-18711/com.my_last.mylast W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xb309c180)
    04-21 15:59:58.481 18711-18711/com.my_last.mylast E/AndroidRuntime: FATAL EXCEPTION: main
    android.os.NetworkOnMainThreadException
    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
    at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
    at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)
    at java.net.InetAddress.getAllByName(InetAddress.java:220)
    at libcore.net.http.HttpConnection.<init>(HttpConnection.java:71)
    at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
    at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351)
    at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86)
    at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
    at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
    at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:460)
    at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:432)
    at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
    at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
    at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
    at java.net.URLConnection.getContent(URLConnection.java:194)
    at libcore.net.http.HttpsURLConnectionImpl.getContent(HttpsURLConnectionImpl.java:174)
    at java.net.URL.getContent(URL.java:447)
    at com.my_last.mylast.signIn$3$2.onCompleted(signIn.java:365)
    at com.facebook.GraphRequest$1.onCompleted(GraphRequest.java:304)
    at com.facebook.GraphRequest$5.run(GraphRequest.java:1379)
    at android.os.Handler.handleCallback(Handler.java:605)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4424)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    at dalvik.system.NativeStart.main(Native Method)
    04-21 15:59:58.992 18711-18713/com.my_last.mylast I/dalvikvm: threadid=3: reacting to signal 3

编辑:

我更新了代码,如下所示,现在收到如下错误:

Thread thread = new Thread() {
                                            public void run() {
                                                Message message = new Message();
                                                try {
                                                    imgUrl = new URL("https://graph.facebook.com/" + facebookID + "/picture?type=large");
                                                    System.out.println("problem 7");
                                                    System.out.println(imgUrl);
                                                    Bitmap bitmap = BitmapFactory.decodeStream(imgUrl.openConnection().getInputStream());
                                                    System.out.println("problem 8");
                                                    ByteArrayOutputStream stream = new ByteArrayOutputStream();
                                                    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
                                                    byteArray1 = stream.toByteArray();
                                                    image1 = new ParseFile("profilePhoto.jpg", byteArray1, "image/jpg");
                                                    image2 = new ParseFile("profilePhoto2.jpg", byteArray1, "image/jpg");
                                                } catch (Exception e) {
                                                    Log.e("MYAPP", "unexpected JSON exception", e);
                                                }


                                            }
                                        };
                                        thread.start();

错误信息:

04-21 16:40:29.118 10885-12039/com.my_last.mylast I/System.out: problem 7
04-21 16:40:29.118 10885-12039/com.my_last.mylast I/System.out: https://graph.facebook.com/135258820209927/picture?type=large
04-21 16:40:29.118 10885-10885/com.my_last.mylast D/AndroidRuntime: Shutting down VM
04-21 16:40:29.118 10885-10885/com.my_last.mylast W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xb309c180)
04-21 16:40:29.118 10885-10885/com.my_last.mylast E/AndroidRuntime: FATAL EXCEPTION: main
                                                                    java.lang.IllegalArgumentException: value may not be null.
                                                                        at com.parse.ParseObject.performPut(ParseObject.java:2860)
                                                                        at com.parse.ParseObject.put(ParseObject.java:2851)
                                                                        at com.my_last.mylast.signIn$3$2.onCompleted(signIn.java:406)
                                                                        at com.facebook.GraphRequest$1.onCompleted(GraphRequest.java:304)
                                                                        at com.facebook.GraphRequest$5.run(GraphRequest.java:1379)
                                                                        at android.os.Handler.handleCallback(Handler.java:605)
                                                                        at android.os.Handler.dispatchMessage(Handler.java:92)
                                                                        at android.os.Looper.loop(Looper.java:137)
                                                                        at android.app.ActivityThread.main(ActivityThread.java:4424)
                                                                        at java.lang.reflect.Method.invokeNative(Native Method)
                                                                        at java.lang.reflect.Method.invoke(Method.java:511)
                                                                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
                                                                        at dalvik.system.NativeStart.main(Native Method)
04-21 16:40:29.648 10885-10892/com.my_last.mylast I/dalvikvm: threadid=3: reacting to signal 3
04-21 16:40:29.658 10885-10892/com.my_last.mylast I/dalvikvm: Wrote stack traces to '/data/anr/traces.txt'
04-21 16:40:29.777 10885-12039/com.my_last.mylast I/System.out: problem 8
维维克·米什拉(Vivek Mishra)

您可以使用Thread或AsyncTask在后台线程中下载图像。这是使用线程执行此操作的示例。

Thread  thread = new Thread() {
      public void run() {

        try{
         imgUrl = new URL("https://graph.facebook.com/" + facebookID + "/picture?type=large");
                                            System.out.println("problem 7");
                                            System.out.println(imgUrl);
                                            InputStream in = (InputStream) imgUrl.getContent();
                                            System.out.println("problem 7.5");
                                            Bitmap  bitmap = BitmapFactory.decodeStream(in);
                                            System.out.println("problem 8");
        } catch (Exception e) {

        }


      }
    };
    thread.start();
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Android中获取Facebook个人资料图片?

来自分类Dev

如何在Android中获取Facebook个人资料图片?

来自分类Dev

Android-从Facebook获取个人资料封面图片

来自分类Dev

获取用户个人资料图片Android facebook SDK

来自分类Dev

Unity Android Facebook获取个人资料图片

来自分类Dev

如何在Facebook SDK Android中获取用户的Facebook个人资料图片

来自分类Dev

Facebook帐户工具包集成在Android中获取Facebook个人资料图片

来自分类Dev

如何在Facebook SDK Android中获取用户的Facebook个人资料图片

来自分类Dev

Facebook帐户工具包集成在Android中获取Facebook个人资料图片

来自分类Dev

如何从Facebook获取个人资料图片

来自分类Dev

在Android中获取Google个人资料图片

来自分类Dev

在Android中获取gmail或Google+的图片个人资料

来自分类Dev

使用userID获取大型个人资料图片Facebook

来自分类Dev

iOS Facebook SDK获取个人资料封面图片

来自分类Dev

使用URL获取较大的Facebook个人资料图片

来自分类Dev

facebook api获取我的朋友的个人资料图片

来自分类Dev

Facebook-获取个人资料图片PHP SDK

来自分类Dev

从Facebook Graph-API获取个人资料图片

来自分类Dev

获取Facebook API个人资料图片ios Swift

来自分类Dev

Facebook android app权限:要求获取用户个人资料图片

来自分类Dev

Android:如何使用FirebaseAuth从Facebook获取更大的个人资料图片?

来自分类Dev

无法通过Android下载Facebook用户个人资料图片

来自分类Dev

无法通过Android下载Facebook用户个人资料图片

来自分类Dev

在Facebook图形v2.2中获取用户的个人资料图片

来自分类Dev

从facebook中的个人资料图片相册生成图像

来自分类Dev

获取页面个人资料图片Graph API android

来自分类Dev

如何在iOS中获取Twitter个人资料图片?

来自分类Dev

在导航抽屉活动中显示获取的个人资料图片

来自分类Dev

从用户表中获取朋友的个人资料图片

Related 相关文章

  1. 1

    如何在Android中获取Facebook个人资料图片?

  2. 2

    如何在Android中获取Facebook个人资料图片?

  3. 3

    Android-从Facebook获取个人资料封面图片

  4. 4

    获取用户个人资料图片Android facebook SDK

  5. 5

    Unity Android Facebook获取个人资料图片

  6. 6

    如何在Facebook SDK Android中获取用户的Facebook个人资料图片

  7. 7

    Facebook帐户工具包集成在Android中获取Facebook个人资料图片

  8. 8

    如何在Facebook SDK Android中获取用户的Facebook个人资料图片

  9. 9

    Facebook帐户工具包集成在Android中获取Facebook个人资料图片

  10. 10

    如何从Facebook获取个人资料图片

  11. 11

    在Android中获取Google个人资料图片

  12. 12

    在Android中获取gmail或Google+的图片个人资料

  13. 13

    使用userID获取大型个人资料图片Facebook

  14. 14

    iOS Facebook SDK获取个人资料封面图片

  15. 15

    使用URL获取较大的Facebook个人资料图片

  16. 16

    facebook api获取我的朋友的个人资料图片

  17. 17

    Facebook-获取个人资料图片PHP SDK

  18. 18

    从Facebook Graph-API获取个人资料图片

  19. 19

    获取Facebook API个人资料图片ios Swift

  20. 20

    Facebook android app权限:要求获取用户个人资料图片

  21. 21

    Android:如何使用FirebaseAuth从Facebook获取更大的个人资料图片?

  22. 22

    无法通过Android下载Facebook用户个人资料图片

  23. 23

    无法通过Android下载Facebook用户个人资料图片

  24. 24

    在Facebook图形v2.2中获取用户的个人资料图片

  25. 25

    从facebook中的个人资料图片相册生成图像

  26. 26

    获取页面个人资料图片Graph API android

  27. 27

    如何在iOS中获取Twitter个人资料图片?

  28. 28

    在导航抽屉活动中显示获取的个人资料图片

  29. 29

    从用户表中获取朋友的个人资料图片

热门标签

归档