在我的應用程序,我們必須從服務器下載約10張圖片,並顯示在手機上。我怎樣才能做到這一點?我可以使用相同的HttpConnection完整下載嗎?有什麼其他的下載方式?下載圖片在循環Java我
3
A
回答
1
你可以用這個簡單的循環做(假設是圖像列表與圖像的URL列表)。
HttpConnection = null;
Image image = null;
for (int i = 0; i < imageList.getSize(); i++) {
try{
String urlImage = imageList.get(i);
hc = (HttpConnection) Connector.open(urlImage);
image = Image.createImage(hc.openInputStream()));
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
hc.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
+0
圖像下載循環現在我們正在使用TimerTask進行下載,是否安全,或者我們必須使用Thread來代替。使用Timer我們可以輕鬆取消任務,這就是我們使用它的原因。 – 2012-02-07 05:51:56
+0
你可以使用一個簡單的線程,但是如果你想要更多的控制像取消任務那麼最好使用一個時間任務 – frayab 2012-02-07 08:11:41
0
您可以嘗試下面的方法在循環中從服務器下載圖像。
private void downloadImage (String URL)
{
try
{
System.out.println("URL FOR POST_DATA : "+URL);
// Open up a http connection with the Web server for both send and receive operations
httpConnection = (HttpConnection)Connector.open(URL, Connector.READ_WRITE);
// Set the request method to POST
httpConnection.setRequestMethod(HttpConnection.POST);
// Set the request headers
httpConnection.setRequestProperty(ConstantCodes.ACTION_MODE_PARAMETER,action);
httpConnection.setRequestProperty(ConstantCodes.USER_NAME_REQUEST_PARAMETER,userName);
if(eventName==null || eventName.equals(""))
eventName="default";
httpConnection.setRequestProperty(ConstantCodes.EVENT_NAME_REQUEST_PARAMETER, eventName);
httpConnection.setRequestProperty(ConstantCodes.CAMERAID_REQUEST_PARAMETER, cameraID);
// all the headers are sending now and connection chanel is establising
dis = httpConnection.openDataInputStream();
int ch = 0;
ByteArrayOutputStream bytearray = new ByteArrayOutputStream(250000);
while((ch = dis.read()) != -1)
bytearray.write(ch);
// fileByte contains whole file in bytes
byte fileByte[] = bytearray.toByteArray();
fileSize = fileByte.length;
System.out.println("Got file size : "+fileSize);
if(bytearray!=null) bytearray.close();
midlet.getLastPostedImageResponse(fileByte);
}
catch (IOException ioe)
{
ioe.printStackTrace();
System.out.println("IOException occured during getting last image data : "+ioe.getMessage());
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Eeception occurred during getting last image data : "+e.getMessage());
}
finally
{
System.out.println("Calling close from Last image posted Action");
close();
}
相關問題
- 1. 下載並在循環中顯示圖片
- 2. 圖片下載Java中
- 3. 循環圖片 -
- 4. 下載圖片在火花java
- 5. 在java中從web url下載圖片?
- 6. HTML圖片循環
- 7. 用downloadosmtiles.pl下載循環貼圖
- 8. 下載圖片
- 9. java flickr和flickrj下載用戶圖片
- 10. 通過FTP下載圖片與Java
- 11. 在android中下載圖片
- 12. 正在下載圖片
- 13. 圖片下載用在Django
- 14. 正在下載圖片
- 15. web.py正在下載圖片
- 16. 在android中下載圖片
- 17. Java向下循環5000
- 18. JAVA圖片下載保護 - 無法下載
- 19. 下載圖片7
- 20. asihttprequest圖片下載
- 21. WebView下載圖片
- 22. Java程序在10張圖片之間循環
- 23. 在循環中移動背景圖片
- 24. jquery循環圖像滑塊插件(圖片加載時間)
- 25. 圖片下載PycURL讓我破碎圖片
- 26. 上傳圖片點擊下載圖片
- 27. while循環片
- 28. 通過HTML2PDF在一個循環中下載我的pdf
- 29. 循環圖像,Java gui?
- 30. For循環在R下載地圖數據(光柵包)
在StackOverflow需要接受一個答案,如果它已經幫助你。爲了做到這一點,看到答案左側的綠色勾號。 – frayab 2012-02-07 08:13:51