UIL 默认不支持 scheme(protocol)
UIL doesn't support scheme(protocol) by default
我的控制台出现这个错误。
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);
我尝试去除 url 中所有不必要的参数,如下所示:
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 都是 return 正确的 url 引号“http://mywebsite.com/mylocation/image.jpg”
我是否遗漏了某些配置或设置?
在 ImageLoader.getInstance().displayImage(imageUrl, myImage);
之后我还需要做些什么吗?
请协助。
[编辑] 这是布局(下)。如果我将布局中的图像源指定为可绘制图像,则图像将从 phone 加载,所有 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"
/>
imageUrl = imageUrl.substring(1, imageUrl.length()-1);
删除“http://mywebsite.com/mylocation/image.jpg”中的引号解决了问题。
我的控制台出现这个错误。
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);
我尝试去除 url 中所有不必要的参数,如下所示:
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 都是 return 正确的 url 引号“http://mywebsite.com/mylocation/image.jpg”
我是否遗漏了某些配置或设置?
在 ImageLoader.getInstance().displayImage(imageUrl, myImage);
之后我还需要做些什么吗?
请协助。
[编辑] 这是布局(下)。如果我将布局中的图像源指定为可绘制图像,则图像将从 phone 加载,所有 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"
/>
imageUrl = imageUrl.substring(1, imageUrl.length()-1);
删除“http://mywebsite.com/mylocation/image.jpg”中的引号解决了问题。