zz670384114 2016-04-22 07:57 采纳率: 100%
浏览 1687
已采纳

用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条回答

  • zcys12173 2016-04-22 08:07
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题