将图片从 Parse.com 加载到 imageview 到 Nav 标题

Posted

技术标签:

【中文标题】将图片从 Parse.com 加载到 imageview 到 Nav 标题【英文标题】:load picture to imageview from Parse.com to Nav header 【发布时间】:2015-12-27 23:04:09 【问题描述】:

我不知道这段代码的问题在哪里?它在 Nav 标题中提供了一个空白的 imageView....

这是代码:

  final View header = navigationView.getHeaderView(0);
        TextView text = (TextView) header.findViewById(R.id.TxtUsernametitle);
        TextView Tmail = (TextView)header.findViewById(R.id.textmail);
       imageView1 = (ImageView)header.findViewById(R.id.imageView1);

        String Tusern = currentUser.getUsername();
        String Tmails = currentUser.getEmail();
        text.setText(Tusern);
        Tmail.setText(Tmails);
        String usId= currentUser.getObjectId().toString();
        ParseQuery<ParseObject> query = ParseQuery.getQuery("Profile");
        query.whereEqualTo("userID", usId);
        query.getFirstInBackground(new GetCallback<ParseObject>() 
            public void done(ParseObject object, ParseException e) 
                if (object == null) 

                    ParseFile fileObject = (ParseFile) object.getParseFile("picture");
                    fileObject
                            .getDataInBackground(new GetDataCallback() 

                                public void done(byte[] data,
                                                 ParseException e) 
                                    if (e == null) 
                                        // Decode the Byte[] into
                                        // Bitmap
                                        Bitmap bmp = BitmapFactory
                                                .decodeByteArray(
                                                        data, 0,
                                                        data.length);

                                        // initialize
                                       // ImageView imageView1 = (ImageView)header.findViewById(R.id.imageView1);

                                        // Set the Bitmap into the
                                        // ImageView
                                        imageView1.setImageBitmap(bmp);

                                     else 

                                    
                                
                            );
                 else 
                
            
        );

我的屏幕上没有任何日志或错误...

您的帮助将不胜感激!!! 问候, 马旺

【问题讨论】:

你必须用样本大小压缩bitmap 我的建议是使用 ImageLoader 库...(Picasso / Universal Image Loader / Fresco / Glide)下载并显示图像到 imageview 【参考方案1】:

https://github.com/facebook/fresco

https://github.com/bumptech/glide

http://square.github.io/picasso/

https://github.com/koush/ion

https://github.com/nostra13/android-Universal-Image-Loader

只需从 parse 下载图像 url 并将 url 传递给任何一个库,并为该库提供 imageView 引用。

我的建议是使用“Parse”/“Glide”作为 image 。 'ion' 表示您可以下载的最大文件类型(视频/zip/txt)。

【讨论】:

谢谢,我是这个安卓的新手。我想知道这些链接是什么? 简单,这些都是android库,可以减少开发人员的工作,打开square.github.io/picasso链接即可。按照步骤。他们将提供一个示例应用程序来了解如何使用该库。 javatechig.com/android/how-to-use-picasso-library-in-android此链接将对您有所帮助。 哈哈!你有其他库来减少开发人员的工作吗?因为我是 Android 新手。 这取决于你想要什么功能......试试这个链接..android-arsenal.com这将帮助你。 如果您对我的回答感到满意,请接受并投票;)【参考方案2】:

将此代码放在一个对象 == null 中

ParseFile image = (ParseFile) object.get("picture");
    // now u want to use picaso library for image loaded in image view like
    Picasso.with(getApplicationContext()).load(image.getUrl()).placeholder(R.drawable.ic_launcher).fit()
            .into(imageView);

并删除旧代码。

【讨论】:

以上是关于将图片从 Parse.com 加载到 imageview 到 Nav 标题的主要内容,如果未能解决你的问题,请参考以下文章

swift--使用URLSession异步加载图片

从 Parse (Swift) 中检索图像到 imageView

禁用按钮,直到 UITableView 加载来自 Parse.com 的数据

如何从 UIImageView 将图像上传到 Parse.com [关闭]

使用 Parse 将缩略图图像加载到表格单元格中的问题

如何将云代码从 parse.com 移动到 heroku