하나의 이미지를 가운데에 표시 할 캔버스가 하나 있습니다. 이 이미지는 URL로 다운로드됩니다. 사실 더 많은 이미지를 다운로드 할 수 있습니다. 즉, 사용자가 오른쪽을 클릭하면 LEFT를 선택하면 다음 이미지를 표시해야하며, 뒷면에 다른 이미지 하나를 표시해야합니다. 나는 url의 이미지를 저장하는 문자열 배열을 가지고있다. 백그라운드에서 이전 및 다음 이미지를 다운로드하고 싶습니다. 그렇게하는 방법? 다음j2me에서 백그라운드로 이미지를 다운로드하는 방법은 무엇입니까?
1
A
답변
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();
1
는이 요구 사항은 장치의 범위에 걸쳐 작동하려면 고려해야 할 몇 가지 문제
- 이미지에 비해 큰 무엇 경우입니다 장치 캔버스 크기에? 이미지 크기 w * h는 캔버스 w * h와 비교할 때 매우 높습니다.
- 낮은 메모리 장치로 큰 이미지를로드 할 수 있습니까?
- 여러 장치에서 일관성없는 다중 스레드 모델. 그것은 다른 장치에서 2로 멈추는 동안 10 개의 스레드를 생성 할 수있는 장치입니다.
- 내 응용 프로그램이 이미지 가져 오기 유형을 지원할 수 있습니까? 그것은 .JPG/.GIF를 다운로드하고 있지만 내 장치는 지원하지 않습니다.
- 이미지를 캐시하는 방법은 무엇입니까? 이미지를 탐색 할 때 동일한 이미지를 반복해서로드 하시겠습니까?
- 이미지 콘텐츠를 다운로드 할 때 TCP/HTTP/RMI를 사용합니까?
- 이 코드는 JVM for JavaME의 다양한 기능을 통해 이식 가능합니까? 마음에 당신이 당신의 문제에 대한 건설적인 대답으로 업 착륙 할 문제의 위의 설정을 유지
하고 목록이 계속 .....
는 네트워크 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()
를 호출,이 방법은 당신에게 캐시 또는 서버에서 다운로드하거나 이미지를 제공 처리됩니다. 동일한 방법으로 이미지가 캐싱되지 않으면
NetworkIoManager
펜딩 큐에
NetworkIoItem
objbect를 추가하고 다운로드하십시오. 다운로드가 완료되면
NetworkIoItem.onImageDownload(...)
메서드가 트리거됩니다. 당신은 비동기 이미지를 할 것입니다이 방법을 사용하여
NetworkIoManager
에 이미지를 다운로드 할 수 J2ME Polish's Touch 기능을 사용할 수 있습니다
는 요청 URL을 가져옵니다.
내 응용 프로그램에서 사용하는 방법을 알려주시겠습니까? –
또는 그것을 사용하는 방법을 보여주는 예제? –
당신은 내가 다른 도서관 (LWUIT)에 대해 설명했는지 [this] (http://stackoverflow.com/questions/8422187/lwuit-load-images-in-background-thread/8424183#8424183) 링크를 참조 할 수 있습니다. 구현을 이해할 수 있습니다. 나는 개인적으로 J2ME 폴란드어를 사용하여 그러한 논리를 채택하는 응용 프로그램을 사용하거나 보지 못했습니다. – Vimal