Как правильно делать lazy load?

Рейтинг: 0Ответов: 1Опубликовано: 26.04.2015

До этого времени все данные загружал просто когда человек открывает приложение в asynkTask. А теперь потребовалось воспользоваться кэшем и LazyLoad, только вот как правильно пользоваться я не могу понять. Нужно что б было к примеру как в вк, потянул список в низ и данные начинали обновляться -> если есть новые данные то загружаем, нет значит нет.

Вот такая структура мое проекта сейчас:

//сюда загружается json 
ArrayList<NewsObject> newsList; 
ListView list; 

protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
//код 
                list = (ListView) findViewById(R.id.list); 
        newsList = new ArrayList<NewsObject>(); 
              //код  
              //загрузка новостей(новости все в json) 
              new NewsAsynkTask().execute(); 
} 

public class NewsAsynkTask extends AsyncTask<String , Void, String> { 
                    //код 
                  protected String doInBackground(String... params) { 
                 //тут я добавляю json в обьект 
                 //потом добавляю в список, обьекты 
                   newsList.add(newsObject); 

} 
                  protected void onPostExecute(String file_url) { 
                  //включается адаптер  
                       NewsAdapter adapter = new NewsAdapter(getApplicationContext(), R.layout.n_news_list_object, newsList); 
            list.setAdapter(adapter); 
} 
} 

Какой алгоритм действий? Вот как я это представляю:

  1. Открывается приложение, если есть интернет тогда считываем к примеру 10 постов последних постов.

  2. Если пользователь потянул список вниз, обновляем данные, новые записи выводим.

  3. Если пользователь добрался до конца списка, подгружаем еще 10 постов.

Ответы

Ответов пока нет.