top of page

[Android]SQLiteDataBase updates are not reflected in view


Phenomenon


SQLiteDataBase is read by ContentProvider and listed in RecyclerView. Even if I update the contents of the database, it is not reflected in RecyclerView.



Cause


The contentProvider query () method did not call the setNotificationUri () method.

This method associates the uri of the data with the cursor, and the CursorLoader will observe the uri. If you call getContext (). getContentResolver (). notifyChange () with the insert (), update (), delete () methods of ContentProvider, the data change will be notified and CursorLoader will reload it (I understande so).


In this case, notifyChange () was called, but if I forget setNotificationUri (), does it mean that the uri to be monitored is not set in the first place?

(Click here for details)


ContentProvider

@Override
public Cursor query(@NonNull Uri uri, @Nullable String[] projection, @Nullable String selection, @Nullable String[] selectionArgs, @Nullable String sortOrder) {

    //~omit~
    
    cursor.setNotificationUri(getContext().getContentResolver(), uri);
    //↑don't forget this

    return cursor;
}

@Override
public Uri insert(@NonNull Uri uri, @Nullable ContentValues values) {

    //~omit~
    
    getContext().getContentResolver().notifyChange(uri, null);
    //↑don't forget this

    return Uri.withAppendedPath(uri, String.valueOf(id));
}

Recent Posts

See All

[Android] What is Android API level?

Introduction When I try to upload an app to Google Play Store, the following error occurs Your app is currently targeting API level 31. To take advantage of the latest security- and performance-optimi

[Android]Nothing is displayed in RecyclerView

Phenomenon When I try to read the data in the database and display it in RecyclerView, nothing is displayed. When I set a breakpoint and examined it, there was no problem up to the point where the dat

[Android]RecyclerView shows only one item

Phenomenon I want to read data from the database and display it in a list with RecyclerView. There should be more than one registered in the database, but only one is displayed in RecyclerView. Unlike

Comments


Let's do our best with our partner:​ ChatReminder

iphone6.5p2.png

It is an application that achieves goals in a chat format with partners.

google-play-badge.png
Download_on_the_App_Store_Badge_JP_RGB_blk_100317.png

Let's do our best with our partner:​ ChatReminder

納品:iPhone6.5①.png

It is an application that achieves goals in a chat format with partners.

google-play-badge.png
Download_on_the_App_Store_Badge_JP_RGB_blk_100317.png

Theme diary: Decide the theme and record for each genre

It is a diary application that allows you to post and record with themes and sub-themes for each genre.

google-play-badge.png
Download_on_the_App_Store_Badge_JP_RGB_blk_100317.png
bottom of page