【问题标题】:Image loading using picasso library from url使用来自 url 的 picasso 库加载图像
【发布时间】:2017-04-27 19:57:26
【问题描述】:

最初,我将图像 URL 从服务器获取到字符串,然后使用 Picasso 库我试图加载图像
我可以像这样从服务器获取图像 URLlogcat

但图像未加载到图像视图中。当尝试放置直接 URL 时,它可以工作。

public class MainActivity extends AppCompatActivity {
ImageView im;
Button bm;


String str ;
private static String NAMESPACE = "http://telview360/";
private static String URL = "http://54.179.134.139/viView360Service/WebService.asmx?WSDL";
private static String SOAP_ACTION = "http://telview360/ImageDetails";
private static String METHOD_NAME = "ImageDetails";

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

    final Thread networkThread = new Thread() {
        @Override
        public void run() {
            try {
                SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
                SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                envelope.setOutputSoapObject(request);

                HttpTransportSE ht = new HttpTransportSE(URL);
                ht.call(SOAP_ACTION, envelope);
                final SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
                str = response.toString();

                Log.d("Webservice", " response " + str);


            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    };
    networkThread.start();


    bm = (Button) findViewById(R.id.btn_load_image);


    bm.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            im = (ImageView) findViewById(R.id.image);
            Picasso.with(getApplicationContext()).load(str).into(im);

        }
    });
  }
}

【问题讨论】:

  • 你能建议我在哪里下载滑翔库和样本
  • 我认为你的 url 字符串有双引号。请替换字符串中的双引号。
  • 我认为你的 url 字符串有双引号。请替换字符串中的双引号。 String newUrl = str.replace("\"", "");

标签: android url picasso


【解决方案1】:

将此添加到您的代码中

   final Thread networkThread = new Thread() {
        @Override
        public void run() {
            try {
                SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
                SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                envelope.setOutputSoapObject(request);

                HttpTransportSE ht = new HttpTransportSE(URL);
                ht.call(SOAP_ACTION, envelope);
                final SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
                str = response.toString();

                Log.d("Webservice", " response " + str);


            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    };
    networkThread.start();
    try {
        Thread.currentThread().sleep(100);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

会有用的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-14
    • 2017-05-13
    • 2019-08-20
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多