万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    PrefsManager Dart

    SharedPreferencesの型ごとにやるの面倒くさいからこれで型を意識しなくていいような?

    prefs_manager.dart

    class PrefsManager {
      final SharedPreferences _prefs;
    
      PrefsManager(this._prefs);
    
      Future<void> save<T>(String key, T value) async {
        if (value is String) {
          await _prefs.setString(key, value);
        } else if (value is int) {
          await _prefs.setInt(key, value);
        } else if (value is bool) {
          await _prefs.setBool(key, value);
        } else if (value is double) {
          await _prefs.setDouble(key, value);
        } else {
          throw ArgumentError('Unsupported type');
        }
      }
    
      T? load<T>(String key) {
        if (T == String) {
          return _prefs.getString(key) as T?;
        } else if (T == int) {
          return _prefs.getInt(key) as T?;
        } else if (T == bool) {
          return _prefs.getBool(key) as T?;
        } else if (T == double) {
          return _prefs.getDouble(key) as T?;
        } else {
          throw ArgumentError('Unsupported type');
        }
      }
    }