I am new to android and trying to create one simple application.However, i am getting nullpointerexception error and don't have much knowledege about it.
Error i got:
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.jstechnologies.helpinghands.data.model.Address.getShortAddress()' on a null object reference
   at com.jstechnologies.helpinghands.ui.views.dashBoard.DashBoardActivity$5.onChanged(DashBoardActivity.java:113)
    at com.jstechnologies.helpinghands.ui.views.dashBoard.DashBoardActivity$5.onChanged(DashBoardActivity.java:110)
DashBoardActivity.java
package com.jstechnologies.helpinghands.ui.views.dashBoard;
public class DashBoardActivity extends BaseActivity<DashBoardViewModel> {
    LinearLayout tagsView;
    TextView dealers_viewall,location;
    ExtendedFloatingActionButton fab;
    ShimmerFrameLayout shimmerFrameLayout;
    RecyclerView dealersRecyclerView;
    ServiceAdapter serviceAdapter;
    Toolbar toolbar;
    int h=0;
    private static int RC_ADD_SERVICE=101;
    private static int RC_SERVICE_DISPLAY=102;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_dashboard);
        registerViewComponents();
        setSupportActionBar(toolbar);
        viewmodel.fetchAddress(this);
        viewmodel.fetchData();
    }
    @NonNull
    @Override
    protected DashBoardViewModel createViewModel() {
        DashBoardViewModelFactory viewModelFactory= new DashBoardViewModelFactory(ServiceRepository.getInstance());
        return new ViewModelProvider(this,viewModelFactory).get(DashBoardViewModel.class);
    }
    @Override
    protected void onMessage(String message) {
        Toast.makeText(this,message,Toast.LENGTH_SHORT).show();
    }
    @Override
    protected void observe() {
        viewmodel.getIsLoadingLiveData().observe(this, new Observer<Boolean>() {
            @Override
            public void onChanged(Boolean aBoolean) {
                if(aBoolean)
                    serviceAdapter.setModels(new ArrayList<>());
                shimmerFrameLayout.setVisibility(aBoolean?View.VISIBLE:View.GONE);
            }
        });
        viewmodel.getMessageLiveData().observe(this, new Observer<String>() {
            @Override
            public void onChanged(String s) {
               onMessage(s);
            }
        });
        viewmodel.getRepositoryMessage().observe(this, new Observer<String>() {
            @Override
            public void onChanged(String s) {
                onMessage(s);
            }
        });
        viewmodel.getServicesListLiveData().observe(this, new Observer<List<ServiceModel>>() {
            @Override
            public void onChanged(List<ServiceModel> serviceModels) {
                serviceAdapter.setModels(serviceModels);
            }
        });
        viewmodel.getAddressLiveData().observe(this, new Observer<Address>() {
            @Override
            public void onChanged(Address address) {
                location.setText(address.getShortAddress());
            }
        });
    }
    void registerViewComponents() {
        location=findViewById(R.id.location);
        dealers_viewall = findViewById(R.id.dealers_viewall);
        tagsView = findViewById(R.id.tagView);
        shimmerFrameLayout = findViewById(R.id.shimmer_view_container);
        fab = findViewById(R.id.fab);
        dealersRecyclerView = findViewById(R.id.recycler_dealers);
        serviceAdapter= new ServiceAdapter();
        dealersRecyclerView.setLayoutManager(new LinearLayoutManager(this));
        dealersRecyclerView.setAdapter(serviceAdapter);
        fab.shrink();
        toolbar=findViewById(R.id.toolbar);
        dealers_viewall.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(DashBoardActivity.this, SearchableActivity.class));
            }
        });
        serviceAdapter.setOnItemClickListener(new ServiceAdapter.OnItemClickListener() {
            @Override
            public void OnItemClick(ServiceModel dealer, int index) {
                startActivityForResult(getSelectedIntentFor(dealer),RC_SERVICE_DISPLAY);
            }
        });
    }
    public void onMenuClick(View view) {
    }
    public void onfabClick(View view) {
        startActivityForResult(getAddServiceIntent(),RC_ADD_SERVICE);
    }
    private Intent getAddServiceIntent()
    {
        return new Intent(this, AddServiceActivity.class);
    }
    private Intent getSelectedIntentFor(ServiceModel model)
    {
        Intent intent= new Intent(this,ServiceDisplayActivity.class);
        intent.putExtra("service_data",new Gson().toJson(model));
        return intent;
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(resultCode==RESULT_OK)
            viewmodel.fetchData();
    }
    public void onRefreshClick(View view) {
        viewmodel.fetchData();
    }
 
     
    