UIL默认不支持scheme(协议)

时间:2016-03-17 07:33:52

标签: java android-studio universal-image-loader

我在控制台中收到此错误。

UIL doesn't support scheme(protocol) by default ["http://mywebsite.com/mylocation/image.jpg"]. You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...))

我正在尝试将图片从我的网站加载到Android应用程序中。 遵循的步骤: 在build.gradle中

dependencies {compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'}

在AndroidManifest.xml中

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

这是我得到的json输出:

"image":"\"http:\\\/\\\/mywebsite.com\\\/mylocation\\\/image.jpg\""

在我的ApplicationActivity.java

ImageView myImage
myImage = (ImageView)findViewById(R.id.image_id);

我尝试剥离所有不必要参数的网址,如下所示:

 imageUrl = url.replaceAll("\\[]\"", "");
 imageUrl = imageUrl.replace("\\/","/");

这是ApplicationActivity.java中的代码,我曾尝试使用UniversalImageLoader加载图像:

        DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
                .cacheInMemory(true)
                .cacheOnDisk(true)
                .build();
//
        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
                .defaultDisplayImageOptions(defaultOptions)
                .build();
        ImageLoader.getInstance().init(config); 
Toast.makeText(single_event.this, imageUrl, Toast.LENGTH_LONG).show();
    if(imageUrl != null) {
       //Sets Image
        ImageLoader.getInstance().displayImage(imageUrl, myImage);

    }
  Log.d("URL", imageUrl);

控制台日志和toast都会在引号“http://mywebsite.com/mylocation/image.jpg”中返回正确的网址

我错过了一些配置或设置吗? 在ImageLoader.getInstance().displayImage(imageUrl, myImage); 之后我还有什么额外的事情吗?

请协助。

[编辑]这是布局(如下)。如果我将布局中的图像源指定为drawable中的图像,则从手机加载图像并忽略所有java逻辑。如果我删除了源,那么没有任何反应                   <ImageView android:layout_width="fill_parent" android:layout_height="120dp" android:id="@+id/image_id" android:layout_marginTop="3dp" android:layout_marginBottom="3dp" android:contentDescription="@string/cnt" android:src="@drawable/local_placeholder" />

1 个答案:

答案 0 :(得分:1)

        imageUrl = imageUrl.substring(1, imageUrl.length()-1);

从“http://mywebsite.com/mylocation/image.jpg”中删除引号解决了问题。