Skip to content

Commit c4cc677

Browse files
long1eucollinjackson
authored andcommitted
add a dynamic get method to shared_preferences (flutter#375)
* add a dynamic get method * fixed typo * Update shared_preferences.dart * Update pubspec.yaml * Update CHANGELOG.md
1 parent 73a7ed0 commit c4cc677

File tree

4 files changed

+13
-1
lines changed

4 files changed

+13
-1
lines changed

packages/shared_preferences/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.3.2
2+
3+
* Added an getter that can retrieve values of any type
4+
15
## 0.3.1
26

37
* Simplified and upgraded Android project template to Android SDK 27.

packages/shared_preferences/lib/shared_preferences.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ class SharedPreferences {
4646
/// in sync since the setter method might fail for any reason.
4747
final Map<String, Object> _preferenceCache;
4848

49+
/// Reads a value of any type from persistent storage.
50+
dynamic get(String key) => _preferenceCache[key];
51+
4952
/// Reads a value from persistent storage, throwing an exception if it's not a
5053
/// bool.
5154
bool getBool(String key) => _preferenceCache[key];

packages/shared_preferences/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: shared_preferences
22
description: Flutter plugin for reading and writing simple key-value pairs.
33
Wraps NSUserDefaults on iOS and SharedPreferences on Android.
4-
version: 0.3.1
4+
version: 0.3.2
55
author: Flutter Team <flutter-dev@googlegroups.com>
66
homepage: https://github.com/flutter/plugins/tree/master/packages/shared_preferences
77

packages/shared_preferences/test/shared_preferences_test.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ void main() {
4848
});
4949

5050
test('reading', () async {
51+
expect(preferences.get('String'), kTestValues['flutter.String']);
52+
expect(preferences.get('bool'), kTestValues['flutter.bool']);
53+
expect(preferences.get('int'), kTestValues['flutter.int']);
54+
expect(preferences.get('double'), kTestValues['flutter.double']);
55+
expect(preferences.get('List'), kTestValues['flutter.List']);
5156
expect(preferences.getString('String'), kTestValues['flutter.String']);
5257
expect(preferences.getBool('bool'), kTestValues['flutter.bool']);
5358
expect(preferences.getInt('int'), kTestValues['flutter.int']);

0 commit comments

Comments
 (0)