好的,我一直在尝试优化我的照片库几天(这是我的第一个Android项目).所有照片都是通过网页加载的.我已经开始使用Universal Image Loader,但我仍然不满意结果.
这是我的班级:
public class Galerija extends Activity {
ArrayList<RSSItem> lista = new ArrayList<RSSItem>();
ArrayList<String> lst_slika = new ArrayList<String>();
RSSItem tempItem = new RSSItem();
ImageAdapter adapter;
ImageLoader imageLoader;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_galerija);
try
{
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader myReader = sp.getXMLReader();
URL url = new URL("http://erdut.gausstesting.info/generateXML/galerija.php");
XMLHandler myXMLHandler = new XMLHandler();
myReader.setContentHandler(myXMLHandler);
myReader.parse(new InputSource(url.openStream()));
lista = myXMLHandler.getRss_lista();
lst_slika = lista.get(0).getImages();
} catch (Exception e) {
System.out.println(e);
}
adapter = new …Run Code Online (Sandbox Code Playgroud) 我在每个块中都有GridView和远程图像.当我尽可能快地滚动它时,它第一次滞后.之后,它已加载每个图像并顺利运行.如何取消屏幕上的块加载图像?
根据标题,如何在ListView中的每次滚动后停止UIL重新加载图像?
以下是我实现Image Loader的方法:
public class LatestAdapter extends BaseAdapter {
...
// UIL
private ImageLoaderConfiguration config;
private File cacheDir;
private DisplayImageOptions options;
private ImageLoader imageLoader = ImageLoader.getInstance();
public LatestAdapter(Context context, ArrayList<ItemListModel> items) {
this.arrItemList = items;
this.context = context;
if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
cacheDir=new File(android.os.Environment.getExternalStorageDirectory(),"JunkFolder");
else
cacheDir=context.getCacheDir();
if(!cacheDir.exists())
cacheDir.mkdirs();
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.placeholder)
.showImageOnFail(R.drawable.error)
.bitmapConfig(Bitmap.Config.RGB_565)
.imageScaleType(ImageScaleType.IN_SAMPLE_INT)
.build();
config = new ImageLoaderConfiguration.Builder(context)
.memoryCache(new WeakMemoryCache())
.denyCacheImageMultipleSizesInMemory()
.discCache(new UnlimitedDiscCache(cacheDir))
.threadPoolSize(5)
.defaultDisplayImageOptions(options)
.build();
imageLoader.init(config);
}
...
@Override
public View getView(int i, View view, ViewGroup viewGroup) { …Run Code Online (Sandbox Code Playgroud) 我正在尝试做类似这样的事情: Android Map api v2自定义标记与ImageView 但我坚持使用图像加载器.
试:
Bitmap bmImg = imageLoader.loadImageSync(url);
Run Code Online (Sandbox Code Playgroud)
LogCat给了我
04-13 14:11:44.953: E/ImageLoader(18542): android.os.NetworkOnMainThreadException
Run Code Online (Sandbox Code Playgroud)
这是我的代码.我有一个ArrayList相机,需要所有信息(titrle,position,url等).
public void drawPicsOnMap()
{
String title = null;
String place = null;
for (int i = 0; i<camera.size(); i++)
{
Bitmap.Config conf = Bitmap.Config.ARGB_8888;
Bitmap bmp = Bitmap.createBitmap(80, 80, conf);
Canvas canvas = new Canvas(bmp);
// paint defines the text color,
// stroke width, size
Paint color = new Paint();
color.setTextSize(35);
color.setColor(Color.BLACK);
Camera cam = camera.get(i);
LatLng coord = new LatLng(cam.lat, cam.lon);
title …Run Code Online (Sandbox Code Playgroud) 在我的android项目中,我使用Android-Universal-Image-Loader Lib(HERE)从Internet加载图像.
我想在一段时间内保存这些图像的缓存(例如1天).
终身结束后,它将再次从互联网上加载图像(当我的应用程序启动时).否则,它将使用缓存.
请帮我
我有一个ListView与项目中的一些内容(TextViews,ImageView ...).我正在使用Nostra的UIL加载项目中的图像,但其中一些无法加载.当我打电话时,这就是我得到的Log.v(String.valueOf(failReason.getCause());:
11-16 23:52:20.447: V/javax.net.ssl.SSLHandshakeException: Handshake failed(17467): failz
11-16 23:52:20.657: V/NativeCrypto(17467): SSL handshake aborted: ssl=0x15fd758: Failure in SSL library, usually a protocol error
11-16 23:52:20.657: V/NativeCrypto(17467): error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:762 0x4c2ed485:0x00000000)
11-16 23:52:21.207: V/NativeCrypto(17467): SSL handshake aborted: ssl=0x1562468: Failure in SSL library, usually a protocol error
11-16 23:52:21.207: V/NativeCrypto(17467): error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:762 0x4c2ed485:0x00000000)
Run Code Online (Sandbox Code Playgroud)
你不知道,为什么会出现这个问题或者我该如何解决?
这是一个示例图像,无法加载:
http://bigparty.cz/photos/headlinefoto/13.jpg
(我可以附加一个包含整个错误的日志 - UIL 自动将其放入Log的错误)
android image-loading imageview sslhandshakeexception universal-image-loader
我正在尝试使用Universal Image Loader Library 获取位图资源.我已经覆盖了onLoadComplete()方法,如下所示:
loader.displayImage(thumbnail.get(position), hold.ivThumbnailReflection, options, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String arg0, View arg1) {
// TODO Auto-generated method stub
}
@Override
public void onLoadingFailed(String arg0, View arg1, FailReason arg2) {
// TODO Auto-generated method stub
}
@Override
public void onLoadingComplete(String urlLink, View arg1, Bitmap loadedImage) {
Log.i("loading complete","loading complete "+loadedImage);
hold.ivThumbnail.setImageBitmap(loadedImage);
}
@Override
public void onLoadingCancelled(String arg0, View arg1) {
// TODO Auto-generated method stub
}
});
Run Code Online (Sandbox Code Playgroud)
图像在ivThumbnailReflection视图中设置,但视图上没有图像ivThumbnail.当我为loadedImage打印对象时,我得到一个表格 - android.graphics.Bitmap@4170f1d0. …
我正在尝试从URL使用Universal Image Loader库中检索图像.我得到了一个nullpointer exception.我用a SimpleAdapter来显示Listview Image.我做了以下编码.我是这个图书馆的新手,因此一步一步指导我.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu_items);
i=getIntent();
imageLoader.getInstance();
ListView salad_list=(ListView)findViewById(R.id.salads);
ListAdapter k=new SimpleAdapter(MenuItemsActivity.this,items,R.layout.menulist,new String[]{"Item_Name","Desc","Currency","Price"},new int[]{R.id.cat_name,R.id.textView1,R.id.textView2,R.id.textView3})
{
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final View v = super.getView(position, convertView, parent);
// TextView picpath=(TextView)v.findViewById(R.id.hide2);
String s="http://166.62.17.208//images_large/caeser-salad.jpg";
ImageView picture=(ImageView)v.findViewById(R.id.imageView1);
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.discCacheFileNameGenerator(new Md5FileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.LIFO)
.enableLogging()
.build();
ImageLoader.getInstance().init(config);
DisplayImageOptions options = new …Run Code Online (Sandbox Code Playgroud) android nullpointerexception simpleadapter universal-image-loader
我的应用程序使用Universal ImageLoader,现在正在生产中.我安装了bugsense(MINT)并报告了这个错误.我已经在应用程序类中初始化了ImageLoader但是某种程度上应用程序实例已经死了,而且活动仍在尝试使用这个库onResume.任何帮助,将不胜感激.
这是应用程序类中的初始化代码.
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
.imageScaleType(ImageScaleType.EXACTLY)
.build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.writeDebugLogs()
.defaultDisplayImageOptions(defaultOptions)
.diskCacheExtraOptions(480, 320, null)
.build();
ImageLoader.getInstance().init(config);
Run Code Online (Sandbox Code Playgroud) 我正在开发Android应用程序,我希望在通用图像加载器的帮助下显示本地图像.但是当我尝试显示在其本地图像路径中有空间的图像时,它无法显示图像.我按照以下方式尝试:
Uri.fromFile(new File(newImagePath)).toString();
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
java.io.FileNotFoundException: /storage/emulated/0/WhatsApp/Media/WhatsApp%20Images/IMG-20150421-WA0002.jpg: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:456)
Run Code Online (Sandbox Code Playgroud)
如果尝试加载在其本地路径中没有空间的图像,那么它工作正常但在其路径中具有空间的图像会导致问题.需要一些帮助.谢谢.