在我的Android應用程序中,我遵循MVC模式,並且正在從服務器接收大文件。我想在解析一個或兩個對象時更新UI。我的意思是如果我從服務器接收20個電影對象,在解析時,我想在解析2部電影並創建2個電影對象時將內容顯示給用戶。我在單獨的Parsing類中進行解析器,並在活動中調用Async任務。在Android中減少解析時間
請讓我知道您的寶貴建議。
在我的Android應用程序中,我遵循MVC模式,並且正在從服務器接收大文件。我想在解析一個或兩個對象時更新UI。我的意思是如果我從服務器接收20個電影對象,在解析時,我想在解析2部電影並創建2個電影對象時將內容顯示給用戶。我在單獨的Parsing類中進行解析器,並在活動中調用Async任務。在Android中減少解析時間
請讓我知道您的寶貴建議。
你可以添加一個方法downloadMoviesAsynchronously
:
public static interface MoviesDownloadedHandler {
public void run(Movie[] movies);
}
public void downloadMoviesAsynchronously(final MoviesDownloadedHandler downloadedFirstTwo, final MoviesDownloadedHandler downloadedAll) {
new Thread(new Runnable() {
public void run() {
int count = getMovieCount();
Movie[] movies = new Movie[count];
for (int i = 0; i < count; i++) {
movie[i] = downloadMovie();
if (i == 1) // second movie
downloadedFirstTwo.run(movies);
}
downloadedAll.run(movies);
}
}).start();
}
的UI則可以調用該方法,並指定一些事件處理程序,其更新的用戶界面。
實際上,在我的應用程序中,所有電影列表都彙集在一個json中。我需要解析器函數,比如每解析3部電影時如何更新ui – Remmyabhavan
您的json需要多大的時間才能解析?我不認爲視頻數據本身在json字符串中,因此解析肯定不會超過一秒,是嗎? – Yogu
向我們展示一些代碼! –
您是否必須將這20部電影加載到一個文件中,或者可以先下載2部電影,然後再下載其他電影?這樣可以在繼續下載之前輕鬆顯示這兩部電影。 –
我的代碼是完全解析我的解析器類,並返回Movies對象的列表。我需要的是從服務器我將一次接收20個電影。解析我想完全解析它,但更新後的用戶獲得3個電影對象。 – Remmyabhavan