2016-12-29 64 views
1

其实我使用UIL从我的url下载图像。我用下面的代码来下载。但不是我无法得到如何显示在我的Mainactivity下载的图像。我注意到的一件事是它下载缓存中的图像,所以我得到了该文件的路径为/ storage/android/data/test/cache/1235456。现在你可以指导我如何设置这个路径到图像源,以便我可以在应用程序启动过程中加载。或者还有其他更好的方法可以将这些图像放在imageview中。我读了UIL的代码和他们的示例应用程序,有点困惑。由UIL下载的缓存中的图像的SetImageview资源lib

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ImageView ivUIL = (ImageView) findViewById(R.id.imageview1); 
    String url = "myurl"; 
    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()).build(); 
    ImageLoader.getInstance().init(config); 
    ImageLoader.getInstance().displayImage(url,ivUIL); 
} 

回答

0

派头,你可以尝试这样它可以帮助我..下面类

ImageView ivUIL = (ImageView) findViewById(R.id.ivUIL); 

String url = "http://innovativedevicesapps.me/Images/big banner.jpg"; 


ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()).build(); 
    ImageLoader.getInstance().init(config); 
    ImageLoader.getInstance().displayImage(GlobleArray.array.get(position).getStrUrl(), ivUIL); 

OR

ImageLoader.getInstance().displayImage(url , ivUIL); 
+0

无图像。我用这个代码。 – Panache

+1

你为什么不使用毕加索lib ..? –

+0

非常感谢,互联网连接造成了问题。 – Panache

1

使用使用UIL

AnimateFirstDisplayListener载入图像.java

public class AnimateFirstDisplayListener extends SimpleImageLoadingListener { 

    public static final List<String> displayedImages = Collections 
      .synchronizedList(new LinkedList<String>()); 

    @Override 
    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
     if (loadedImage != null) { 
      ImageView imageView = (ImageView) view; 
      boolean firstDisplay = !displayedImages.contains(imageUri); 
      if (firstDisplay) { 
       FadeInBitmapDisplayer.animate(imageView, 500); 
       displayedImages.add(imageUri); 
      } 
     } 
    } 
} 

DisplayImageOption.java

public class DisplayImageOption { 

    public static DisplayImageOptions getDisplayImage() { 

     DisplayImageOptions options = new DisplayImageOptions.Builder().showImageOnLoading(R.mipmap.ic_launcher) 
       .showImageForEmptyUri(R.mipmap.ic_launcher).showImageOnFail(R.mipmap.ic_launcher) 
       .cacheInMemory(true).cacheOnDisk(true).considerExifParams(true).build(); 

     // .displayer(new RoundedBitmapDisplayer(0)) 

     return options; 

    } 
} 

UILApplication.java

public class UILApplication extends Application { 

    public UILApplication() { 
     super(); 
    } 

    @Override 
    protected void attachBaseContext(Context base) { 
     super.attachBaseContext(base); 
    } 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     initImageLoader(getApplicationContext()); 
    } 

    public static void initImageLoader(Context context) { 
     ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context) 
       .threadPriority(Thread.NORM_PRIORITY - 2).denyCacheImageMultipleSizesInMemory() 
       .diskCacheFileNameGenerator(new Md5FileNameGenerator()).diskCacheSize(50 * 1024 * 1024) 
       .tasksProcessingOrder(QueueProcessingType.LIFO).writeDebugLogs().build(); 

     ImageLoader.getInstance().init(config); 
    } 

} 

最后使用以下代码来加载图像

/*To Apply in Code*/ 
ImageLoader.getInstance().displayImage("Your_Url_of_Image" 
    , imageView 
    , DisplayImageOption.getDisplayImage(), 
    new AnimateFirstDisplayListener()); 

不要忘了写在AndroidManifest应用程序文件的文件名

<application 
    android:name="com.example.UILApplication" 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme">