native_shared_preferences
Dieses Paket ist eine Kopie des shared_preferences-Pakets, jedoch ohne Präfix in den Schlüsseln. Es wird verwendet, um Daten aus einer früheren Native-App zu migrieren.
yeniel/native_shared_preferences open-source repository details.
{"sdk":"flutter"}^1.9.1^2.2.2^2.3.1^2.3.2^2.0.5^2.2.1^2.3.2^7.0.0^1.0.6{"sdk":"flutter"}Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.
===========
This plugin is a copy of the shared_preferences package but without the prefix in the keys. Is used to migrate the data from previous native app.
The issue is that flutter add a prefix to the keys when read and write. So we can not read our old keys.
Also for Android you can now specify name of your resource file in android/app/src/main/res/values/strings.xml:
<resources>
...
<string name="flutter_shared_pref_name">resource_name</string>
...
</resources>
ISSUE https://github.com/flutter/flutter/issues/52544
Only use this plugin when is needed get the shared preferences from previous native app version. For other situation use the official shared preferences package.
To manage the migration use this package https://pub.dev/packages/version_migration/
Add in pubspec:
native_shared_preferences: ^2.0.10
To use this plugin, add native_shared_preferences in your pubspec.yaml file
import 'package:flutter/material.dart';
import 'package:native_shared_preferences/native_shared_preferences.dart';
void main() {
runApp(MaterialApp(
home: Scaffold(
body: Center(
child: RaisedButton(
onPressed: _incrementCounter,
child: Text('Increment Counter'),
),
),
),
));
}
_incrementCounter() async {
NativeSharedPreferences prefs = await NativeSharedPreferences.getInstance();
int counter = (prefs.getInt('counter') ?? 0) + 1;
print('Pressed $counter times.');
await prefs.setInt('counter', counter);
}
You can populate NativeSharedPreferences with initial values in your tests by running this code:
NativeSharedPreferences.setMockInitialValues (Map<String, dynamic> values);