Author: anan Language: java
Description: Not specified Timestamp: 2013-06-17 05:24:08 +0000
View raw paste Reply
  1. package com.example.asynctaskloaderexample;
  2.  
  3. import android.os.Bundle;
  4. import android.content.Context;
  5. import android.support.v4.content.AsyncTaskLoader;
  6. import android.support.v4.content.Loader;
  7. import android.support.v4.app.FragmentActivity;
  8. import android.support.v4.app.LoaderManager;
  9. import android.widget.Toast;
  10.  
  11. public class MainActivity extends FragmentActivity implements LoaderManager.LoaderCallbacks<FooLoader>
  12. {
  13.         @Override
  14.         public void onCreate(Bundle savedInstanceState)
  15.         {
  16.                 super.onCreate(savedInstanceState);
  17.                 setContentView(R.layout.activity_main);
  18.                 getSupportLoaderManager().initLoader(0, null, this);
  19.                
  20.                 //Loader loader = getLoaderManager().initLoader(0, savedInstanceState, this);
  21.                 // with support library:
  22.                 Loader loader = getSupportLoaderManager().initLoader(0, savedInstanceState, this);
  23.                 // call forceLoad() to start processing
  24.                 loader.forceLoad();            
  25.         }
  26.  
  27.         @Override
  28.         public Loader onCreateLoader(int i, Bundle bundle)
  29.         {
  30.                 return new FooLoader(this, bundle); // TODO
  31.         }
  32.  
  33.         @Override
  34.         public void onLoadFinished(Loader loader, FooLoader o)
  35.         {
  36.                 //update ui here
  37.                 //Toast.makeText(this, "onLoadFinished", Toast.LENGTH_SHORT).show();
  38.         }
  39.  
  40.         @Override
  41.         public void onLoaderReset(Loader<FooLoader> loader)    
  42.         {
  43.                 Toast.makeText(this, "onLoaderReset", Toast.LENGTH_SHORT).show();
  44.         }
  45.  
  46. }
  47.  
  48. class FooLoader extends AsyncTaskLoader<Object>
  49. {
  50.         public FooLoader(Context context, Bundle args)
  51.         {
  52.                 super(context);
  53.                 // do some initializations here
  54.         }
  55.         public String loadInBackground()
  56.         {
  57.                 String result = "";
  58.                 // ...
  59.                 // do long running tasks here
  60.                 // ...
  61.                 System.out.println("now in bg");
  62.                 return result;
  63.         }
  64. }
View raw paste Reply