Flutter에서는 shared_preferences
패키지를 사용하여 간단하게 사용자가 설정한 알람 시간을 저장할 수 있습니다. shared_preferences
는 Android와 iOS의 SharedPreferences를 간편하게 사용할 수 있도록 도와줍니다.
1. shared_preferences 패키지 추가하기
먼저, shared_preferences
패키지를 프로젝트에 추가해야 합니다. pubspec.yaml
파일에서 dependencies
부분에 다음과 같이 추가해주세요:
dependencies:
flutter:
sdk: flutter
shared_preferences: ^2.0.7
저장 후, 터미널에서 flutter pub get
명령을 실행하여 패키지를 다운로드 받아주세요.
2. 알람 시간 저장하기
다음으로, shared_preferences
를 사용하여 알람 시간을 저장하는 코드를 작성해보겠습니다. 아래 예제 코드를 참고하여 구현해주세요:
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
class AlarmSettingsPage extends StatefulWidget {
@override
_AlarmSettingsPageState createState() => _AlarmSettingsPageState();
}
class _AlarmSettingsPageState extends State<AlarmSettingsPage> {
TextEditingController _textEditingController = TextEditingController();
SharedPreferences _prefs;
String _alarmTime;
@override
void initState() {
super.initState();
_loadAlarmTime();
}
// 저장된 알람 시간 로드하기
void _loadAlarmTime() async {
_prefs = await SharedPreferences.getInstance();
setState(() {
_alarmTime = _prefs.getString('alarmTime') ?? '';
});
}
// 알람 시간 저장하기
void _saveAlarmTime(String alarmTime) async {
setState(() {
_alarmTime = alarmTime;
});
await _prefs.setString('alarmTime', alarmTime);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('알람 설정'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('알람 시간: $_alarmTime'),
SizedBox(height: 16),
TextField(
controller: _textEditingController,
decoration: InputDecoration(
labelText: '알람 시간 입력',
border: OutlineInputBorder(),
),
),
SizedBox(height: 16),
ElevatedButton(
child: Text('알람 시간 저장'),
onPressed: () {
_saveAlarmTime(_textEditingController.text);
},
),
],
),
),
);
}
}
위 코드에서 SharedPreferences
인스턴스를 초기화하고 저장된 알람 시간을 불러오기 위해 _loadAlarmTime()
메소드를 작성하였습니다. 또한, 알람 시간을 저장하기 위해 _saveAlarmTime()
메소드를 작성하였습니다.
build()
메소드에서는 현재 저장된 알람 시간을 화면에 표시하고, 입력된 알람 시간을 저장하는 텍스트 필드와 저장 버튼을 구성합니다.
이제 AlarmSettingsPage
위젯을 앱 내에서 적절한 위치에 배치하면 사용자가 알람 시간을 설정하고 저장할 수 있는 화면을 만들 수 있습니다.
요약
이렇게 Flutter에서 shared_preferences
를 사용하여 사용자가 설정한 알람 시간을 간단하게 저장할 수 있습니다. shared_preferences
는 휴대폰의 SharedPreferences와 호환되어 사용자 데이터를 편리하게 관리할 수 있게 도와줍니다.
더 자세한 내용은 shared_preferences 패키지의 문서를 참고해주세요.