본문 바로가기

프로그래밍/안드로이드

로더 (LoaderManager)

https://developer.android.com/guide/components/loaders?hl=ko



//step1 implement LoaderManager

implements LoaderManager.LoaderCallbacks<Object> {


   //step2 override onCreateLoader

   @Override

   public Loader<Object> onCreateLoader(int id, Bundle args){

        //step3 return AsyncTaskLoader

       return new AsyncTaskLoader<Object>(Context){

          //step4 override onStartLoading

          @Override protected void onStartLoading(){

              ...

              //step5 call forceLoad

             forceLoad();

          }


          //step6 override loadInBackground

          @Override public Object loadInBackground(){

            ....

            return ..;

          }

          

       }

   }


   //step7 override onLoadFinished

   @Override public void onLoadFinished(Loader<Object> loader, String data){

      

   }

}



call Loader

getSupportLoaderManager().initLoader(id, bundle, LoaderManager.LoaderCallbacks<Object>);

or

getSupportLoaderManager().restartLoader(id, bundle, LoaderManager.LoaderCallbacks<Object>);