[flutter] 플러터 get과 배경화면 설정
플러터(Flutter) 앱을 개발하다 보면 앱의 배경화면을 동적으로 변경해야 하는 경우가 있습니다. 이때 get
을 사용하여 데이터를 가져오고, 배경화면을 설정하는 방법에 대해 알아보겠습니다.
1. get
패키지 추가
먼저 get
패키지를 프로젝트에 추가해야 합니다. pubspec.yaml
파일에 아래와 같이 get
패키지를 추가합니다.
dependencies:
get: ^4.1.4
그리고 터미널에서 다음 명령어를 실행하여 패키지를 설치합니다.
flutter pub get
2. get
을 이용한 데이터 가져오기
get
패키지를 이용하면 간단하게 데이터를 가져올 수 있습니다. 아래는 get
을 사용하여 배경화면 이미지의 URL을 가져오는 예제 코드입니다.
import 'package:get/get.dart';
class BackgroundController extends GetxController {
var backgroundImageUrl = ''.obs;
void fetchBackgroundImage() async {
// API나 데이터베이스에서 이미지 URL을 가져오는 로직
// 예를 들어, http 패키지를 사용하여 API를 호출하거나, SharedPreferences를 이용하여 저장된 이미지 URL을 가져올 수 있습니다.
// 가져온 이미지 URL을 상태로 업데이트
backgroundImageUrl.value = 'https://example.com/background_image.jpg';
}
}
3. 배경화면 설정하기
모바일 앱에서 배경화면을 설정하려면 Container
위젯이나 DecorationImage
를 이용하여 이미지를 배경화면으로 설정할 수 있습니다. 아래는 get
패키지로부터 가져온 이미지 URL을 이용하여 배경화면을 설정하는 예제 코드입니다.
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class BackgroundPage extends StatelessWidget {
final BackgroundController controller = Get.put(BackgroundController());
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('배경화면 설정'),
),
body: Obx(() => Container(
decoration: BoxDecoration(
image: DecorationImage(
image: NetworkImage(controller.backgroundImageUrl.value),
fit: BoxFit.cover,
),
),
child: // 배경화면 위에 표시할 내용
)),
floatingActionButton: FloatingActionButton(
onPressed: () {
controller.fetchBackgroundImage();
},
child: Icon(Icons.refresh),
),
);
}
}
위 코드에서는 get
의 Obx
를 이용하여 배경화면 이미지 URL이 업데이트될 때마다 화면이 다시 그려지도록 설정하였습니다.
get
패키지를 사용하여 데이터를 가져오고, 배경화면을 설정하는 방법에 대해 알아보았습니다. 이를 응용해서 API나 데이터베이스로부터 동적으로 배경화면을 변경하는 기능을 구현할 수 있습니다.
참고 자료
이상입니다. 부족한 점이 있다면 추가 질문 부탁드립니다.