Flutter
What is shared_preferences?
Store simple key-value pairs with shared_preferences.
What is shared_preferences?
shared_preferences is a package used to persistently store simple key-value data in your app. It is suitable for user preferences, settings, and small flags; not for large files or sensitive data. Data survives even when the app is closed.
import 'package:shared_preferences/shared_preferences.dart';
final prefs = await SharedPreferences.getInstance();
await prefs.setString('name', 'Ada');
Key-value structure
In shared_preferences, each piece of data is stored with a key (String) and the value is a primitive type: String, int, bool, double, or a String list. Writing to the same key overwrites the old value. If the key doesn't exist when reading, null is returned.
// write
await prefs.setString('theme', 'dark');
await prefs.setBool('loggedIn', true);
// read
prefs.getString('theme'); // 'dark' or null
Exercise Store a value with shared_preferences
Import the shared_preferences package, get prefs with getInstance, write 'merhaba' to the 'greeting' key, and print the value.
Show example solution
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
final prefs = await SharedPreferences.getInstance();
await prefs.setString('greeting', 'merhaba');
print(prefs.getString('greeting'));
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(home: Scaffold(body: Center(child: Text('shared_preferences')));
}
}
Test yourself
-
What kind of data is suitable to store with shared_preferences?
- Thousands of image files
- Passwords and credit card numbers
- Real-time chat messages
- User theme and settings
Show answer
User theme and settings — shared_preferences is designed for small, primitive key-value pairs; it is not suitable for large files or sensitive data.
-
Import the shared_preferences package
import 'package:____.dart';
Show answer
import 'package:shared_preferences/shared_preferences.dart';
-
shared_preferences parts
- shared_preferences
- Package name
- anahtar
- String identifier
- değer
- Stored data
- kalıcı
- Survives app close
Next lesson: getInstance