Я хочу обновлять свое приложение с помощью API во флаттере. Как я могу это сделать?..! Мой бэкэнд в MySQL и API в PHP
Я хочу, чтобы мое приложение обновлялось в режиме реального времени с использованием новейших данных API, My API на PHP, MySQL
Мой код выглядит следующим образом
Я перепробовал много методов, но не могу понять,
Мои данные поступают в формате JSON.
Класс BLoC
class Bloc{
final _repositary = Repository();
final _userFetcher = PublishSubject<List<UserData>>();
Observable<List<UserData>> get allUsers => _userFetcher.stream;
void fetchAllUsers() async {
List<UserData> userData= await _repositary.fetchAllUsers();
_userFetcher.sink.add(userData);
}
dispose(){
_userFetcher.close();
}
}
final bloc=Bloc();
Репозиторий Класс
class Repository{
final manageUsers = ManageUsersModel();
Future<List<UserData>> fetchAllUsers() => manageUsers.getData();
}
API Call метод
Future<List<UserData>> getData() async {
List<UserData> user = new List<UserData>();
String url = GenerateString.genStringMngUsers();
var response = await http.get(
Uri.encodeFull(url),
);
List data = jsonDecode(response.body);
user.add(userData);
}
return user;
}
Мой интерфейс
StreamBuilder(
stream: bloc.allUsers,
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.data == null) {
return Center(
child: CircularProgressIndicator(),
);
} else {
return ListView.builder(
itemCount: snapshot.data.length,
return UserDetailTile(snapshot.data);
},
);
}
},
),