Skip to content

Instantly share code, notes, and snippets.

@JEuler
Created March 15, 2020 20:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JEuler/e09cb5e1278a2a063b6b7f20a5609e4c to your computer and use it in GitHub Desktop.
Save JEuler/e09cb5e1278a2a063b6b7f20a5609e4c to your computer and use it in GitHub Desktop.
Hive StorageService implementation example
import 'package:hive/hive.dart';
import '../model/local/db_user.dart';
import '../model/user.dart';
import 'storage_service.dart';
/// Implementation of StorageService using Hive Key-Value DB
class StorageServiceImpl implements StorageService {
@override
Future saveUser(User user) async {
final userToSave = DBUser(
user.data.id,
user.data.name);
final usersBox = await Hive.openBox('user');
usersBox.put('current_user', userToSave);
}
@override
Future<DBUser> getUser() async {
final usersBox = await Hive.openBox('user');
final user = usersBox.get('current_user');
return user;
}
@override
Future<void> removeDb() async {
await Hive.close();
return await Hive.deleteFromDisk();
}
@override
void stop() {
Hive.close();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment