Skip to content

Instantly share code, notes, and snippets.

@simonpham
Last active November 14, 2025 08:45
Show Gist options
  • Select an option

  • Save simonpham/4aaab5a8ddfcae06fdb0057aeb6230b8 to your computer and use it in GitHub Desktop.

Select an option

Save simonpham/4aaab5a8ddfcae06fdb0057aeb6230b8 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 {
late final SharedPreferences _sharedPrefs;
static final SharedPrefs _instance = SharedPrefs._internal();
factory SharedPrefs() => _instance;
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(
const MyApp(),
);
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Text('Hi ${SharedPrefs().username}'),
),
);
}
}
@Dhruvmtzinfotech
Copy link

how many years experience in flutter?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment