How get data from cordova-plugin-nativestorage in android java

前端 未结 1 1156
南方客
南方客 2021-01-18 14:01

Good day, I making native background mod for Cordova and I need get data from js to java. I save data in js with plugin cordova-plugin-nativestorage, with this code:

1条回答
  •  陌清茗
    陌清茗 (楼主)
    2021-01-18 14:11

    I've made a change, so you should conveniently access the saved value.

    Please, first reinstall the plugin:

    cordova plugin remove cordova-plugin-nativestorage
    cordova plugin add https://github.com/TheCocoaProject/cordova-plugin-nativestorage
    

    This will install the dev version. This because this updated code isn't pushed to NPM (UPDATE: it is now not necessary to use the dev version, the version on NPM is just fine).

    For retrieving the value with a key, I've written the following method:

    String getValue(Context context, String key, String defaultValue) {
            SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, Activity.MODE_PRIVATE);
            return settings.getString(key, defaultValue);
        }
    

    The PREFS_NAME should be declared as follows:

    public static final String PREFS_NAME = "NativeStorage";
    

    The context should be this accessable within the onCreate method.

    So overall it should look something like this:

        public class Backgroundoznameni extends Service {
        public static final String PREFS_NAME = "NativeStorage";
          @Override
          public void onCreate() {
            String value = getValue(Backgroundoznameni.this, "somekey", null);
          }
    
          String getValue(Context context, String key, String defaultValue) {
                SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, Activity.MODE_PRIVATE);
                return settings.getString(key, defaultValue);
            }
        }
    

    NOTE: Code not tested!

    EDIT: This is further documented in this Github issue.

    0 讨论(0)
提交回复
热议问题