LiveData is abstract android

Since it is abstract (as @CommonsWare says) you need to extend it to a subclass and then override the methods as required in the form:

public class LiveDataSubClass extends LiveData<Location> {

}

See docs for more details


In a ViewModel, you may want to use MutableLiveData instead.

E.g.:

class MyViewModel extends ViewModel {
  private MutableLiveData<String> data = new MutableLiveData<>();

  public LiveData<String> getData() {
    return data;
  }

  public void loadData() {
    // Do some stuff to load the data... then
    data.setValue("new data"); // Or use data.postValue()
  }
}