Skip to content

Instantly share code, notes, and snippets.

@patsanch
Forked from simonpham/shared_prefs.dart
Created June 9, 2021 18:25
Show Gist options
  • Save patsanch/29a7f081c73ae6646072d8be9bed47b9 to your computer and use it in GitHub Desktop.
Save patsanch/29a7f081c73ae6646072d8be9bed47b9 to your computer and use it in GitHub Desktop.
/// Use SharedPreferences in Flutter effortlessly
/// https://medium.com/@simonpham/use-sharedpreferences-in-flutter-effortlessly-835bba8f7418
// utils/shared_prefs.dart
class SharedPrefs {
static SharedPreferences _sharedPrefs;
factory SharedPrefs() => SharedPrefs._internal();
SharedPrefs._internal();
Future<void> init() async {
_sharedPrefs ??= await SharedPreferences.getInstance();
}
String get username => _sharedPrefs.getString(keyUsername) ?? "";
set username(String value) {
_sharedPrefs.setString(keyUsername, value);
}
}
// constants/strings.dart
const String keyUsername = "key_username";
// main.dart
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await SharedPrefs().init();
runApp(
MyApp(),
);
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Text("Hi ${SharedPrefs().username}"),
),
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment