import 'package:flutter/material.dart';
import 'user.dart';
import 'AddUserScreen.dart';
import 'dart:convert';//Ce package permet de convertir des objets Dart en JSON et inversement
import 'dart:io';//Fournit des outils pour interagir avec le système de fichiers de l'appareil.
import 'package:path_provider/path_provider.dart';// Ce package permet de localiser des répertoires spécifiques sur l'appareil
class UserListScreen extends StatefulWidget {
@override
_UserListScreenState createState() => _UserListScreenState();
}
class _UserListScreenState extends State {
List users = [];
@override
void initState() {
super.initState();
_loadJson();
}
Future<void> _loadJson() async {
try {
final directory = await getApplicationDocumentsDirectory();
final file = File('${directory.path}/data.json');
if (await file.exists()) {
final String response = await file.readAsString();
final List data = jsonDecode(response);
setState(() {
users = data.map((json) => User.fromJson(json)).toList();
});
} else {
users = [];
}
} catch (e) {
print('Erreur lors du chargement du JSON : $e');
}
}
Future<void> _saveJson() async {
try {
final directory = await getApplicationDocumentsDirectory();
final file = File('${directory.path}/data.json');
final List