我有一个画布,我在中心显示一个图像。此图片由网址下载。实际上有更多的图像要下载,这意味着如果用户点击RIGHT,我必须显示下一张图像,如果LEFT,我必须从背面显示另一张图像。我有一组字符串存储url的图像。我想在后台下载上一张和下一张图片。怎么做?
答案 0 :(得分:1)
以下是您需要考虑此要求在一系列设备上工作的一些问题
并且列表继续.....
请记住上面提到的问题是建立一个网络IO管理器和缓存管理器。
interface NetworkIoItem {
Object sourceComponent;
public void onImageDownload(Image image) {
//Trigger the source
}
}
class NetworkIoManager extends Threads {
Vector pendingRequestQueue;
:
:
public void run() {
//Wait on the pending request queue
//Process all the elements in pending request queue
//and again wait on this queue
}
}
class CacheManager {
Vector cachedContent;
public boolean checkIfCached() {
//Check in the cachedContent whether
//this image exists if so return true;
}
public Image fetchImage() {
//Check if the image is cached
//if so return this cached image
//else push a NetworkIoItem object to
//NetworkIOManager pending queue
}
}
现在,对于每个图像(当前,左或右)调用CacheManager.fetchImage()
,此方法将负责为您提供从服务器缓存或下载的图像。在相同的方法中,如果图像未缓存,则会将NetworkIoItem
objbect添加到NetworkIoManager
pendingQueue 并下载。下载完成后,它将触发NetworkIoItem.onImageDownload(...)
方法。
您可以使用J2ME Polish's Touch功能下载NetworkIoManager
通过使用此方法,您将对请求URL执行异步图像提取。
答案 1 :(得分:0)
做类似的事情。
Thread t = new Thread(new Runnable(){
public void run() {
// Your code to download image here as you were doing earlier,
// for previous and next image
}
});
t.start();