Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - public class MainViewModel extends AndroidViewModel {
 - private static SomethingDatabase database;
 - private LiveData<List<Something>> something;
 - public MainViewModel(@NonNull Application application) {
 - super(application);
 - database = SomethingDatabase.getInstance(getApplication());
 - something = database.somethingDao().getAllSomething();
 - }
 - public Something getSomethingById(int id) {
 - try {
 - return new GetSomethingTask().execute(id).get();
 - } catch (ExecutionException e) {
 - e.printStackTrace();
 - } catch (InterruptedException e) {
 - e.printStackTrace();
 - }
 - return null;
 - }
 - public void deleteAllSomething() {
 - new DeleteSomethingTask().execute();
 - }
 - public void insertSomething(Something something) {
 - new InsertTask().execute(something);
 - }
 - public void deleteSomething(Something something) {
 - new DeleteTask().execute(something);
 - }
 - public LiveData<List<Something>> getSomething() {
 - return something;
 - }
 - private static class DeleteTask extends AsyncTask<Something, Void, Void> {
 - @Override
 - protected Void doInBackground(Something... something) {
 - if (something != null && something.length > 0) {
 - database.somethingDao().deleteSomething(something[0]);
 - }
 - return null;
 - }
 - }
 - private static class InsertTask extends AsyncTask<Something, Void, Void> {
 - @Override
 - protected Void doInBackground(Something... something) {
 - if (something != null && something.length > 0) {
 - database.somethingDao().insertSomething(something[0]);
 - }
 - return null;
 - }
 - }
 - private static class DeleteSomethingTask extends AsyncTask<Void, Void, Void> {
 - @Override
 - protected Void doInBackground(Void... integers) {
 - database.somethingDao().deleteAllSomething();
 - return null;
 - }
 - }
 - private static class GetSomethingTask extends AsyncTask<Integer, Void, Something> {
 - @Override
 - protected Something doInBackground(Integer... integers) {
 - if (integers != null && integers.length > 0) {
 - return database.somethingDao().getSomethingById(integers[0]);
 - }
 - return null;
 - }
 - }
 - }
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment