用picasso加载string变量加载不出来,换成url直接敲上去就可以,为什么?

package com.example.zz670.mypic;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.ImageView;
import android.widget.LinearLayout;

import com.squareup.picasso.Picasso;

import org.json.JSONArray;
import org.json.JSONObject;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class MainActivity extends AppCompatActivity {
ImageView imageView;
LinearLayout linearLayout;
ImageView[] imageViews = new ImageView[10];
static String gURL;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    linearLayout = (LinearLayout) findViewById(R.id.id_gallery);

    new work().start();
    try {
        Thread.sleep(1000);
        for (int i = 0; i < imageViews.length; i++) {

            imageView = new ImageView(this);
            try {
                // final Bitmap bitmap = getBitmap(gURL[i]);
                //Log.e("ceshi","4-"+i);
                //imageView.setImageBitmap(bitmap);
                Log.e("ceshi","5-"+i);
                Log.e("ceshi",gURL);
                Picasso.with(MainActivity.this).load(gURL).into(imageView);

                                    //就在这里,gURL字符串已经赋值为"xxxxx.jpg",但是不能加载,不报错
                                    //但是直接把"xxxxx.jpg"敲上去就可以加载出来
                                    //已经声明网络权限


                linearLayout.addView(imageView);
            } catch (Exception e) {
            }
        }
    } catch (InterruptedException e) {
        e.printStackTrace();
    }



}

private class work extends Thread {
    InputStream inputStream = null;
    HttpURLConnection urlConnection = null;
    String response;

    //Bitmap bitmap;

    public void run() {
        try {
            //Log.e("ceshi","1");

            URL url = new URL("http://gank.io/api/random/data/福利/1");
            urlConnection = (HttpURLConnection) url.openConnection();
            urlConnection.setConnectTimeout(5000);
            urlConnection.setRequestMethod("GET");
            int statusCode = urlConnection.getResponseCode();
            if (statusCode == 200) {
                inputStream = new BufferedInputStream(urlConnection.getInputStream());
                response = inputStream2String(inputStream);

            }

            //Log.e("ceshi","2");

            if (!response.isEmpty()) {
                try {
                    JSONObject jsonObject1 = new JSONObject(response);
                    // Log.e("Json", response);
                    JSONArray jsonArray = jsonObject1.getJSONArray("results");
                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject jsonObject = (JSONObject) jsonArray.get(i);
                        //取出name
                        String jarray1 = jsonObject.getString("url");


                            gURL = "\""+jarray1+"\"";

                            //Log.e("Json", jarray1.toString());
                             Log.e("Json", gURL);
                    }

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }



        //Log.e("ceshi","3");


    }

   public  String inputStream2String(InputStream is) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(is));
        StringBuffer buffer = new StringBuffer();
        String line = "";
        while ((line = in.readLine()) != null) {
            buffer.append(line);
        }
        return buffer.toString();
    }


}

}

1个回答

gURL = "\""+jarray1+"\""; 为何要在url的前后加上双引号?? url都变了,肯定加载不出来啊

zz670384114
zz670384114 额我重启了下电脑,好了。。
接近 4 年之前 回复
zz670384114
zz670384114 但是不加也不行,这我我上面贴错了
接近 4 年之前 回复
zz670384114
zz670384114 哦那个写错了,没有双引号,我改一下
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Picasso加载https的图片加载不出来的解决方案
在使用阿里weex的时候加载一个列表加载不了图片,其他图片都可以加载出来,以为是后台问题的,后台来了一句ios没问题;好吧,看来android是有问题,一查这个加载不出来的图片是带https的;废话不多说,看下解决方案,网上有些方法不好使, 比如 OkHttpClient okHttpClient = new OkHttpClient(); okHttpClient.setSslSocketF
关于Picasso加载本地图片不显示的解决办法
1、一般我们获取到的路径都是不能直接加载的 path=/storage/sdcard0/ProjectName/temp/temp.jpg   2、解决办法 如果是上述的URL,在前面加上"file://"的前缀 //picasso显示本地图片需要如下格式 string realpath = "file://" + path 3、源码说明
android-Picasso请求https加载网络图片不能显示的解决方案
Picasso加载https的图片加载不出来的解决方案 最近项目中有需求–要显示https链接的图片,但是配置好路径后原生的Picasso死活没法加载出图片,最后在网上找到了如下的解决办法 自定义类 ImageDownLoader 实现 com.squareup.picasso.Downloader 代码如下:/** * Created by benchengzhou on 2017/11/13
Picasso 2.5.2的fit、resize在android5.1无法加载图片的解决方案
解决Picasso 2.5.2的fit、resize在android5.1无法加载图片一开始使用下面代码加载图片,发现图片显示不出来Picasso.with(context) .load(new File(data.content)) .placeholder(R.drawable.default_publishlist
小记-picasso图片加载不显示
picasso 在加载图片的时候有时候会加载不出来,需要加上resize 属性
【anroid】Picasso图片的加载显示。
picasso是Square公司开源的一个Android图形缓存库,可以实现图片下载和缓存功能。仅仅只需要一行代码就能完全实现图片的异步加载,下面简单介绍一下: 1.导包      Gradle: compile 'com.squareup.picasso:picasso:2.5.2'  ProGard混淆配置:-dontwarn com.squareup.okhttp.** 2.资源加
剖析Picasso加载压缩本地图片流程(解决Android 5.0部分机型无法加载本地图片的问题)
之前项目中使用Picasso遇到了一个问题:在Android 5.0以上版本的部分手机上使用Picasso加载本地图片会失败。为了解决这个问题,研究了一下Picasso加载和压缩本地图片的流程,才有了这篇文章。 我们知道,Picasso加载本地图片有两种方法,一种是new File(path),另外一种是url = "file://" + path。尤其后一种在picasso2.5.2及
关于Picasso回调获取bitmap第一次加载失败的问题
最近做一个功能的时候需要用到根据网络图片来获取bitmap再进行下载到本地,网络框架一直使用的是Picasso,那就直接想得就是根据回调来获取 Picasso.with(context).load(url).into(new Target() { @Override public void onBitmapLoaded(final Bitmap bitmap,
Android中图片加载框架Picasso的使用
编写不易,如有转载,请声明出处: 梦回河口:http://blog.csdn.net/zxc514257857/article/details/714303001,技术要点 基本显示(异步加载,图片压缩,图片缓存) 加载中和加载错误的图片显示 设置图片尺寸(Resize)、缩放(Scale)和裁剪(Crop) 图片旋转 设置转换器 取消默认的内存缓存 设置缓存指示器 请求优先级设置
Picasso使用target不显示图片
Picasso 2.5.2 方法:Picasso.with(context).load(url).priority(Priority.HIGH).tag(tag).into(target); 问题描述: 项目中需要设置view的backgroundDrawable,因此实现了CustomTarget implements Target 的方法。 但是在调试过程中出现图片资源不显示,退出页面
解决Picasso在Android 5.0以下版本不兼容https导致图片不显示
近期在项目中遇到了一个问题,使用picasso加载图片在Android5.0以下版本图片显示不来。 由于之前在几个项目中都使用过picasso而且未出现类似问题,觉得值得好好研究一下。 简单定位一下问题所在,我们一直使用picasso大致会是下面的代码 Picasso.with(context).load(url).into(imageView); 我们知道into函数还有另外
Picasso使用示例(四种来源途径下加载图片,附demo)
一.直接上代码(四种来源途径下加载图片) 1》 package com.zhc.picasso; import java.io.File; import com.squareup.picasso.Picasso; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import
当Fresco/Picasso遇到https.(停止更新)
0、停止更新说明: 在新本版的Picasso和Fresco框架都已经支持了对https图片的加载。 导致这篇文章也失去了意义!感谢大家! 当Fresco/Picasso遇到https,原来的图片就加载不出来了。这个应该怎么搞?查了查,进行如下配置: 1、Fresco: 1.1.1如果你使用的是okhttp2: 在build.gradle中添加依赖: dependen...
网络加载图片类型变成bitmap
网络加载图片有很多框架,使用简单,避免开发者走弯路。这里我使用的是picasso框架,这里简单介绍下: picasso是Square公司开源的一个图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。 因为我项目中需要把网络图片变成bitmap,所有我这里就说一下我使用picasso时,遇到的一些问题,与最后怎么解决的方法。 pic
图片太大加载不出来的解决方法
logcat 打印如下 Bitmap too large to be uploaded into a texture (3120x4160, max=4096x4096) 很明显,它在说图片太大加载不出来, 原因: 一般手机如果开启了硬件加速,它会限制图片的加载大小,从而达到缩短加载的时间,给用户更好的体验. 解决方案: 既然开启了硬件加速,我们在本程序不启动硬件加速就可以了,关了就
使用picasso加载需要证书的https图片
我在项目中用到的图片加载框架是picasso,但是最近遇到个问题,picasso加载不出来公司的https图片,查了下需要将以下代码到application中final Picasso picasso = new Picasso.Builder(this) .downloader(new OkHttp3Downloader(client))
Picasso设置超时时间和加载出错时的图片
/** * 设置超时时间 */ OkHttpClient okHttpClient = new OkHttpClient(); okHttpClient.setConnectTimeout(3, TimeUnit.SECONDS); okHttpClient.setReadTimeout(5, TimeUnit.S
Picasso图片框架加载图片 使用及缓存问题
项目中用的Picasso 框架 ,加载图片。使用很方便 而且缓存机制非常强大。 正常使用我们可以这样直接调用,我把方法写到一个util里面了。 调用代码如下: PicassoUtil.displayImage(context, Constants.U_IMG_URL, R.drawable.default, iv_icon); Util工具类 import
Picasso加载本地内存较大的图片时显示空白
问题描述:使用Picasso加载图片时,部分图片不显示,在ImageView中只显示空白。问题原因:是由于这些图片的占的内存体积过大。。具体为啥不显示我也不太清楚,可能是跟Picasso源码里的设定有关吧,哪个大佬知道还望指导指导问题代码:Picasso.with(context) .load(&quot;file://&quot; + item.getItemUrl()) .plac...
Picasso获取得到的Bitmap
Picasso.with(this) .load(imageUrl) .resize(50, 50) .centerCrop() .into(new Target() { @Overr
Picasso入门教程(四) 如何处理空值(在ListView中)
这篇博客主要面向两类读者:1、遇到了IllegalArgumentException: Path must not be empty 这个报错信息。2、想要确定当在listview中加载不完整的image的时候,他们的app是否能够正常运行。我们将会在SimpleImageListAdapter 这个类中做我们的操作,代码如下:public class SimpleImageListAdapter
图片加载框架 --Picasso 的基本使用
下面是我在学习Picasso过程中做的笔记,思路可能有些凌乱,如果阅读过程中有发现不准确或者错误的地方欢迎交流 内容主要分三部分,第一部分是picasso的基本使用,第二部分是picasso的源码阅读,最后一部分是关于源码中一些细节的梳理. 关于图片加载库的思考 我们为什么要用图片库呢?  图片库通常会对图片加载逻辑进行封装、优化,比如多级缓存/异步线程调度/图片压缩变换,
Android图片加载框架Picasso最全使用教程 一
Picasso介绍Picasso是Square公司开源的一个Android图形缓存库 A powerful image downloading and caching library for Android 一个Android下强大的图片下载缓存库 Picasso实现了图片的异步加载,并解决了Android中加载图片时常见的一些问题
Picasso如何直接加载缓存中的图片
Requesting cached bitmap off the main thread  https://github.com/square/picasso/issues/524
Glide、Picasso框架加载图片——ImageView中、ListView中
Glide框架加载图片——ImageView中、ListView中
Android图片加载框架——Picasso和Glide
首先说Picasso,Picasso 是 Square 公司的杰作,名字叫「毕加索,充满文艺气息,意为加载图片就像画画一样,是一门艺术。Picasso 不仅具备加载图片的强大功能,还是如此的简洁。 Picasso默认的缓存分配大小特点:   LRU缓存占应用程序可用内存的15%   本地缓存占到硬盘空间的2%但不超过50M并且不小于5M(前提是这种情况只在4.0以上有效果,或者你能像OKHt
使用Picasso加载图片
如何使用Picasso库加载图片
Picasso加载图片
目前主流的图片加载库有Universal Image Loader,Picasso,Glide,Fresro 其中picasso是Square公司开源的一个Android图形缓存库,可以实现图片下载和缓存功能。 官方地址:http://square.github.io/picasso/ github地址:https://github.com/square/picasso 一,引
Android-Picasso 2.5.2 resize()图片加载不出来
问题描述: 使用Picasso 2.5.2版本调用 resize()方法部分图片加载不出来解决方案: 经反复查找问题,最后确认 设计师做图时候 采用的印刷格式 CMYK格式存储图片了,导致Picasso加载不出图片;更换成 RGB格式j就可以了。注:如果设计不更改图的话,可以在 Transformation 中 根据ImageView的宽高来裁剪图片,也可以处理问题。...
picasso--不得不看的异步图片加载与缓存开源库
picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。仅仅只需要一行代码就能完全实现图片的异步加载: 1 Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").in
Android 图片加载框架Picasso基本使用和源码完全解析
说到Picasso,相信Android开发人员绝不陌生,它是Square公司开发的一款图片加载神器。使用过它的coder绝对是爱不释手:对它本身而言,轻量安全,有效加载图片并防止OOM;对我们开发者来说,简单方便,一行代码搞定图片加载。因此它备受Android开发人员的钟爱,那么今天我们就从源码的角度完完全全的解析下它的工作原理。
Picasso网络图片加载 (毕加索)
一个强大的图像下载和缓存图书馆为Android
Picasso加载一张图片的具体过程
Android Picasso图片加载库加载一张图片显示到界面的具体过程
picasso 显示本地图片
感慨下,一开始搜索问题的时候,发现文章都没有说如何显示本地图片,都在说一些如何加载网络图片,本地图片直接放url 什么的,几乎找的文章都一样。很是郁闷,也有可能是我关键词有问题;关键时候还得看源码1.问题:一般我们获取到的完整路径: /storage/emulated/0/Android/data/xxxx.jpg, picasso.load(url) 直接将这个路径进行load 是显示不了的。
Picasso 2.5.2 resize 图片不能正常显示。
Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; ContentResolver mContentResolver = ImageGridActivity.this.getContentResolver(); // 只查询jpeg和png的图片 Cursor mCursor = mContentResolver.query(
Picasso网络图片加载框架的使用
介绍Picasso
Picasso入门教程(九)回调,remoteViews,通知
关于Picasso的知识你已经学习了很多了。尽管如此,直到现在你也是只做了往ImageView中加载图片。你可能需要加载一张图片,但是这张图片不需要从ImageView中显示出来,或者你想学习关于cache的一些东西。 如果你对这些话题感兴趣,请继续阅读下去。Callbacks and Targets在我们研究回调之前,指出不同的加载图片的方式是非常有意义的。Picasso通常提供了同步加载和不同
图片加载利器之Picasso(二)基本用法
在上篇文章中我们提到了Picasso的诸多功能,下面我们来分别演示一下这些功能配置:在build.gradle中添加引用dependencies { ... compile 'com.squareup.picasso:picasso:2.5.2' ... }1 加载图片通过源码可以发现load方法主要要以下几种重载load(Uri uri) load(Str
Picasso使用Target无法回调的分析与解决
在加载图片的场景中,有时需要异步拿到Bitmap做一些操作:bitmap预热、bitmap裁剪等,当加载成功的时候通过回调的形式来获取Bitmap,然后进行处理。Picasso提供了一种回调的方式获取Bitmap。客户端实现Target接口即可在加载成功的时候通过回调的方式返回bitmap。
Android图片加载库Picasso和Glide
之前一直使用,没有仔细的研究过框架,今天开始想对之前用的框架了解一下,后面打算研究一下源码。今天做了一个简单的了解,对两个框架进行对比。 先说说不同之处: 1.大小,Glide是Picasso的三倍左右 2.GIF图,Glide支持加载GIF图,而Picasso不支持 3.使用场景,Picasso.with(context);Glide.with(Activity/Fragment/Conte
一句代码加载网络图片到ImageView——Android Picasso
在这里介绍一个Android框架:Picasso。  picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。仅仅只需要一行代码就能完全实现图片的异步加载。代码如下: public class MainActivity extends Activity { private Imag
Picasso开源图片加载利器使用初探
英文介绍链接地址 : http://square.github.io/picasso/ Picasso 英文意思国外一个很有名的画家毕加索的名字,国外项目取名还是很有意思的! 从github新下载的picasso项目有依赖其他第三方开源项目okhttp和okio,这两个项目也是相当经典的,据说okhttp里网络请求的代码处理逻辑已经加入到android4点几的源码中了。 picasso也提供
Android 网络本地显示图片Picasso优化封装使用
Picasso在使用过程中,经常忘记一些设置,比如图片的加载方式.centerCrop(),图片的加载优化.fit(),以及对图片的url的处理,因此对图片加载进行统一封装,使用相同的加载方式更有利于后期的维护和扩展。 图片的加载来源 图片的加载来源主要是String,file,Resource,我们都有相应的封装, 为了介绍方便 以下仅仅介绍String方式,以下同时有c
Picasso图片加载闪烁问题解决方案
在android中我们使用了Picasso作为图片加载库,但有时候我们在来回切换fragment的时候会发现存在闪烁的问题,例如某app主界面有3个模块,分别是首页,资讯,我的。在首页和资讯中有大量的图片,“我的“里面有用户头像,并且每次“我的”界面显示时都会刷新当前界面的数据,我们在三个fragment中来会切换,会发现“我的”里面的用户头像会出现闪烁情况,出现这种情况的原因是我们没有设置加载中
Picasso图片加载框架的使用及加载网络图片等比例缩放
欢迎使用Markdown编辑器写博客在平时开发中,常需要从网络上获取图片到本地保存或显示,在初学Android时,第一次接触到这个技术是从请求网络开始,然后把图片以流的形式保存到Bitmap对象中进行显示。 然而上述过程太过繁琐,还要编写代码处理图片缓存等操作,最近在做项目的过程中就接触到了一种简单而优雅的图片加载框架,只需以下一行代码便可加载图片。Picasso.with(context)
Android图片加载框架Picasso使用教程 (三)
前面我们对Picasso的用法有了一定得了解,下面就分析一下一些特殊情况下,Picasso的用法. 调用.noFade()   Picasso的默认图片加载方式有一个淡入的效果,如果调用了noFade(),加载的图片将直接显示在ImageView上 Picasso     .with(context)     .load(UsageExampleListViewA
Picasso和Glide的图片加载与缓存
picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。仅仅只需要一行代码就能完全实现图片的异步加载:Picasso.with(context).load("要获取的图片网址").into(imageView);Glide是Google官方推荐使用的图片加载缓存的框架,也仅仅只需要一行代码即
iOS UIWebview加载URL静态页面部分手机加载不出界面
前几天,测试时发现有一台(其他手机都没问题) 手机用UIWebview加载静态界面的时候加载不出来,后来发现是又由于 没有对url 字符串地址进行utf-8转码造成的,将 pathstring 转码后 就可以访问了 NSString* pathString =@"xxxxxxxxxx"; NSURL* url = [NSURLURLWithString:pathString]; NSURL* url2 = [NSURLURLWithString:[pathStringstringByAddingPe
Picasso(毕加索)加载圆形图片、圆角图片
Picasso 的使用详解Picasso.with(Activity.this) Picasso 加载圆形图片 Picasso 加载圆角图片
Picasso 框架的简单使用 图片缓存 重用 和加载 裁剪
Picasso的基本用法: 将Picasso添加进项目后,要使用它非常简单,只需要一行代码就能搞定: Picasso.with(context).load(imageUrl).into(imageView); 短短的一行代码为我们解决了很多问题: 自动将图像缓存在本地通过图片压缩转换以减少内存消耗自动处理了ImageView的回收,即自动取消不在视野范围内的ImageView
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问