[flutter] shared_preferences를 활용하여 저장된 데이터를 불러올 때 데이터 타입을 어떻게 처리해야 하나요?

예를 들어, 저장된 데이터가 정수형이라면, 가져올 때 int.parse()를 사용하여 문자열을 정수로 변환해야 합니다. 마찬가지로, 부동 소수점 숫자인 경우에는 double.parse()를 사용하여 문자열을 부동 소수점 숫자로 변환해야 합니다.

또한, bool 값인 경우에는 “true” 또는 “false” 문자열을 bool 값으로 변환해주어야 합니다.

아래는 예제 코드입니다:

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  @override
  void initState() {
    super.initState();
    _loadCounter();
  }

  _loadCounter() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    setState(() {
      _counter = (prefs.getInt('counter') ?? 0);
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Shared Preferences Example'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'Counter: $_counter',
              style: TextStyle(fontSize: 20),
            ),
          ],
        ),
      ),
    );
  }
}

이 예제에서는 SharedPreferences를 사용하여 정수형 데이터를 불러오고, 가져온 값을 int.parse()를 사용하여 정수형으로 변환하여 화면에 표시하는 방법을 보여줍니다.

참고 문헌: https://pub.dev/packages/shared_preferences