groovy dependencies { implementation 'androidx.loader:loader:1.1.0' } import android.content.Context; import androidx.loader.content.AsyncTaskLoader; public class LibraryLoader extends AsyncTaskLoader<String> { private String version; public LibraryLoader(Context context, String version) { super(context); this.version = version; } @Override public String loadInBackground() { return getVersionFromServer(); } @Override protected void onStartLoading() { if (version != null) { deliverResult(version); } forceLoad(); } } } import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import androidx.loader.app.LoaderManager; import androidx.loader.content.Loader; public class MainActivity extends AppCompatActivity implements LoaderManager.LoaderCallbacks<String> { private static final int LOADER_ID = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LoaderManager.getInstance(this).initLoader(LOADER_ID, null, this); } @Override public Loader<String> onCreateLoader(int id, Bundle args) { return new LibraryLoader(this, "1.0.0"); } @Override public void onLoadFinished(Loader<String> loader, String data) { updateVersion(data); } @Override public void onLoaderReset(Loader<String> loader) { } }


上一篇:
下一篇:
切换中文