I am using room database in android studio when run query like Select * from table_name it is working but if I apply some conditions like WHERE then false response.
The same conditional query run on DB Browser for SQLite then it is working fine.
public interface SubscriptionDataDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
long insert(SubscriptionData subscriptionData);
@Query("DELETE FROM " + TABLE_MEMBER_SUBSCRIPTION_DATA)
void deleteAll();
@Query("SELECT * FROM " + TABLE_MEMBER_SUBSCRIPTION_DATA
+ " WHERE " + "subscription_status = " + Values.SUBSCRIPTION_ACTIVE)
LiveData<List<SubscriptionData>> getMemberSubscriptionDetails();}
View Model class
public LiveData<List<SubscriptionData>> getSubscriptionDetailsLiveData() {
return subscriptionDataDao.getMemberSubscriptionDetails();
}
Fragment
subscriptionViewModel.getSubscriptionDetailsLiveData().observe(getViewLifecycleOwner(), subscriptionData -> {
Log.e("BuySubscriptionFragment", "Plan Name: "+subscriptionData.size());
});
Error Which i getting
NullPointerException: Attempt to invoke interface method 'androidx.lifecycle.LiveData com.actofit.beat.room.SubscriptionDataDao.getMemberSubscriptionDetails()' on a null object reference
I am not able to find where is the issue.
> And in a Flow. You can make it to LivaData in the ViewModel with .asLiveData()
– writer_chris Aug 09 '22 at 04:51