Skip to content

Instantly share code, notes, and snippets.

View wingkit-leung's full-sized avatar
💊
Choice.

WingKit wingkit-leung

💊
Choice.
View GitHub Profile
@wingkit-leung
wingkit-leung / main.dart
Last active February 15, 2022 17:07
Flutter Example of using StateNotifierProvider, FutureBuilder vs FutureProvider and StreamBuilder vs StreamProvider
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
void main() =>
runApp(const ProviderScope(child: MaterialApp(home: HomePage())));
Future<int> calculateSquare(int num) async {
await Future.delayed(const Duration(seconds: 2));
return num * num;
}
@wingkit-leung
wingkit-leung / main.dart
Created February 14, 2022 11:39
Flutter Example of using FutureBuilder and StreamBuilder
// CopsOnRoad https://stackoverflow.com/questions/50844519/flutter-streambuilder-vs-futurebuilder
import 'package:flutter/material.dart';
void main() => runApp(const MaterialApp(home: HomePage()));
class HomePage extends StatefulWidget {
const HomePage({Key? key}) : super(key: key);
@override
@wingkit-leung
wingkit-leung / main.dart
Last active February 13, 2022 13:13
CustomCounter: badges, shared_preferences, state_notifier, riverpod
import 'package:flutter/material.dart';
import 'package:flutter_app_badger/flutter_app_badger.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:badges/badges.dart';
// A CustomCounter example implemented with riverpod and shared_preferences
// using StateNotifier
// using Badges
@wingkit-leung
wingkit-leung / main.dart
Created February 13, 2022 08:44
A CustomCounter example implemented with riverpod and shared_preferences using StateNotifier
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';
// A CustomCounter example implemented with riverpod and shared_preferences
// using StateNotifier
class CustomCounter {
final int value;
final DateTime dateTime;
@wingkit-leung
wingkit-leung / main.dart
Last active January 9, 2023 10:05
Flutter cross platform data persistence solution: shared_preferences with riverpod
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';
// A Counter example implemented with riverpod and shared_preferences
/// Providers are declared globally and specify how to create a state
final counterProvider = StateProvider((ref) => 0);
final sharedPrefs = Provider<SharedPreferences>((ref) {
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
// A Counter example implemented with riverpod
void main() {
runApp(
// Adding ProviderScope enables Riverpod for the entire project
const ProviderScope(child: MyApp()),
);