2012-11-09 286 views
1

我正在處理一個應用程序,該應用程序顯示圖像列表(來自URL)和一些ListView中的文本。它看起來像(+的是圖像):在列表視圖中顯示圖像

------------------------- 
| +++  some text | 
| +++  some text | 
------------------------- 
| +++  some text | 
| +++  some text | 
------------------------- 
| +++  some text | 
| +++  some text | 
------------------------- 
| +++  some text | 
| +++  some text | 
------------------------- 

,我發現了網址,並通過解析包含特定網頁的源代碼中的字符串文本,我收到源字符串使用HttpGet請求。

因此,這個應用程序需要下載一個網頁,解析它,然後下載一些圖像並將其顯示在列表中。

我不確定最後一部分。 我設法使用asynctask下載和解析html源代碼,但剩下的對我來說有點棘手。

我該怎麼做?

(我希望這是很清晰)

編輯:

我會嘗試更準確,現在:) 我已經創建了一個叫做媒體目標對象,其中有3個字符串(圖像URL ,歌曲名稱和歌曲的藝術家)。還編寫了一個函數,該函數獲取一個字符串(包含html源代碼),從中提取URL和名稱,並返回一個MediaObject對象數組。

在這一刻,我只顯示1首歌,使用2個asynctasks: 1)要獲取html源代碼,然後獲取MediaObject對象並在文本視圖中顯示歌曲/藝術​​家名稱。 2)下載圖像並在imageview中顯示。

它工作正常,但只適用於1 MediaObject。 我想在listview中顯示幾首歌曲(使用多個MediaObject對象)。

問題是我不知道該怎麼做。 我應該使用幾個asynctasks?每個圖像都有新的asynctask?

+0

坦率地說,我不知道爲什麼人們低估了很好的問題。他們似乎沒有足夠的自信,因此沒有評論。給予好評。 – Siddharth

+0

您正在尋找從url下載的圖像還是隻是在列表中顯示它們? –

回答

1

檢查the link。這裏有一個名爲showImage()的函數,它接受一個url作爲參數,並返回可用於設置圖像視圖的位圖。對於顯示圖像的自定義列表視圖,您需要自定義列表,如here,並使用類似imageview1.setImageBitmap(bm)的方式設置圖像;

1

首先,將其分解成小塊。不要把它想到一起。我建議,以下。

  • 編寫一個junit測試用例,進行http調用,解析並提取圖片鏈接。
  • 現在,創建一個新的android junit測試用例,將上面的一段代碼放到一個異步任務中,只用一個圖像創建一個佈局,並在其上渲染圖像。
  • 現在,您已準備好將它集成到您​​的應用程序中。

junit的想法是,您將能夠編寫這段代碼並快速連續地測試它,因爲您是第一次編寫代碼。請記住,發展速度非常重要。

我發現了一個有趣的異步任務here的例子。

至於你的問題,你需要更清楚你所做的那種http調用以及它提供的返回類型。 Json,XML,什麼?

相關問題