Migration to newer UIL version
nostra13 opened this issue · 10 comments
If you have some issues on migration to newer library version - write your questions here.
Post your code which ceased to be compiled after library update.
Hi nostra13, thanks for the source.
I am working on my app that one part of that is to retrieve images from a folder inside of my host
I put the jar file that you mentioned in the lib of my app.
and add these line to my app:
String imageUri = "http://www.mysite/store/image/i1.jpg";
ImageLoader imageLoader;
ImageView imgView;
imageLoader.displayImage(imageUri, imageView);
imageLoader.loadImage(imageUri, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
}
});
// Load image, decode it to Bitmap and return Bitmap synchronously
Bitmap bmp = imageLoader.loadImageSync(imageUri);
is there any thing else that I need to do?
tnx a lot
Yes, you should investigate the sample app and see how to use the library in a right way.
加载比较大的图片的时候还是会有点问题,尤其是在gridview里
写英文
zhchzs said: there are some questions when loading big image.especially in gridview.(That is all he said.)
First My English is not good.I hope you can understand what I mean .thank you for your open source code. I'm a newbie for andriod. i just a chinese student. You can provide some kind of learning method for android?
hey, nostra13. I met a problem when i use this~ Promble may like this: when I use ImageLoader.getInstance().loadImage(...)
to download a gif , In the callback method :
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
// I just want to get diskCache ,but sometimes it return NULL, I just dont know why,Importantly,its sometimes,not always. Absolutely,I have config DisplayImageOptions .cacheInMemory(true),
.cacheOnDisk(true)
File file = DiskCacheUtils.findInCache(imageUri, ImageLoader.getInstance().getDiskCache());
}
Do u know why ?Hope ur help...please
Hello nostra13 I got the following error and I don't understand why:
UIL doesn't support scheme(protocol) by default [ http://www.atlantisipad.it/atlantis.ipad/atlantis3_2015.jpg]. You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...)) java.lang.UnsupportedOperationException: UIL doesn't support scheme(protocol) by default [http://www.atlantisipad.it/atlantis.ipad/atlantis3_2015.jpg]. You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...))at com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStreamFromOtherSource(BaseImageDownloader.java:280) at com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStream(BaseImageDownloader.java:99)at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.getImageStream(BaseImageDecoder.java:98) at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.decode(BaseImageDecoder.java:74) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeImage(LoadAndDisplayImageTask.java:265) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:238) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:136) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818)
I have to visualizze an images jpg from xml file.
here the java class code
`public class SitesAdapter extends ArrayAdapter {
ImageLoader imageLoader;
DisplayImageOptions options;
public SitesAdapter(Context ctx, int textViewResourceId, List<AtlantisSite> sites) {
super(ctx, textViewResourceId, sites);
//Setup the ImageLoader, we'll use this to display our images
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(ctx).build();
imageLoader = ImageLoader.getInstance();
imageLoader.init(config);
//Setup options for ImageLoader so it will handle caching for us.
options = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
.build();
}
/*
* (non-Javadoc)
* @see android.widget.ArrayAdapter#getView(int, android.view.View, android.view.ViewGroup)
*
* This method is responsible for creating row views out of a AtlantisSite object that can be put
* into our ListView
*/
@Override
public View getView(int pos, View convertView, ViewGroup parent){
RelativeLayout row = (RelativeLayout)convertView;
Log.i("AtlantisSites", "getView pos = " + pos);
if(null == row){
//No recycled View, we have to inflate one.
LayoutInflater inflater = (LayoutInflater)parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = (RelativeLayout)inflater.inflate(R.layout.row_site, null);
}
//Get our View References
final ImageView iconImg = (ImageView)row.findViewById(R.id.iconImg);
TextView nameTxt = (TextView)row.findViewById(R.id.nameTxt);
TextView titleTxt = (TextView)row.findViewById(R.id.titleTxt);
final ProgressBar indicator = (ProgressBar)row.findViewById(R.id.progress);
//Initially we want the progress indicator visible, and the image invisible
indicator.setVisibility(View.VISIBLE);
iconImg.setVisibility(View.INVISIBLE);
//Setup a listener we can use to swtich from the loading indicator to the Image once it's ready
ImageLoadingListener listener = new ImageLoadingListener(){
@Override
public void onLoadingStarted(String arg0, View arg1) {
// TODO Auto-generated method stub
}
@Override
public void onLoadingCancelled(String arg0, View arg1) {
// TODO Auto-generated method stub
}
@Override
public void onLoadingComplete(String arg0, View arg1, Bitmap arg2) {
indicator.setVisibility(View.INVISIBLE);
iconImg.setVisibility(View.VISIBLE);
}
@Override
public void onLoadingFailed(String arg0, View arg1, FailReason arg2) {
// TODO Auto-generated method stub
}
};
//Load the image and use our options so caching is handled.
imageLoader.displayImage(getItem(pos).getImgUrl(), iconImg,options, listener);
//Set the relavent text in our TextViews
nameTxt.setText(getItem(pos).getName());
titleTxt.setText(getItem(pos).getTitle());
return row;
}
}
Most likely you pass wrong URL into ImageLoader. Check what URL you pass in debug mode.
There was a mistake in my xml file in the server. I put a space between link and < >
Thank You