본문 바로가기
Flutter

Flutter 앱의 크로스 플랫폼 개발 방법 android, ios

by 난타코다옹 2023. 10. 3.

목차

    Flutter는 안드로이드와 아이폰 모두 개발하려고 하는 프레임워크이잖아요!? 전체적으로 간단하게 앱이나 웹까지 알아보겠습니다!

    Flutter는 Google에서 개발한 크로스 플랫폼 프레임워크로, 안드로이드와 iOS, 웹, 데스크톱 등 다양한 플랫폼에서 앱을 개발할 수 있습니다. 이번 글에서는 Flutter를 사용하여 알람 앱을 개발하고, 다양한 플랫폼에서 앱을 사용할 수 있는 방법에 대해 알아보겠습니다.

    1. Flutter 알람 앱 개발

    Flutter를 사용하여 알람 앱을 개발할 때는 다음과 같은 기능이 필요합니다.

    • 알람 설정
    • 알람 울림
    • 알람 중지

    flutter crossplatform 개발 모습

    이를 위해 Flutter에서 제공하는 다양한 라이브러리와 플러그인을 사용할 수 있습니다. 예를 들어, flutter_local_notifications 플러그인을 사용하여 알람을 설정하고 울리는 기능을 구현할 수 있습니다.

    Flutter 코드 (main.dart):

    import 'package:flutter/material.dart';
    import 'package:flutter_local_notifications/flutter_local_notifications.dart';
    
    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
    
      // flutter_local_notifications 초기화
      FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
          FlutterLocalNotificationsPlugin();
      var initializationSettingsAndroid =
          AndroidInitializationSettings('@mipmap/ic_launcher');
      var initializationSettingsIOS = IOSInitializationSettings();
      var initializationSettings = InitializationSettings(
          android: initializationSettingsAndroid, iOS: initializationSettingsIOS);
      await flutterLocalNotificationsPlugin.initialize(initializationSettings,
          onSelectNotification: (String? payload) async {
        if (payload != null) {
          debugPrint('notification payload: $payload');
        }
      });
    
      runApp(MyApp());
    }
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          title: 'Flutter Alarm App',
          home: Scaffold(
            appBar: AppBar(
              title: Text('Flutter Alarm App'),
            ),
            body: Center(
              child: ElevatedButton(
                child: Text('Set Alarm'),
                onPressed: () async {
                  // 알람 설정
                  var scheduledNotificationDateTime =
                      DateTime.now().add(Duration(seconds: 5));
                  var androidPlatformChannelSpecifics =
                      AndroidNotificationDetails(
                    'alarm_notif',
                    'Alarm Notification',
                    'Notification for Alarm',
                    importance: Importance.max,
                    priority: Priority.high,
                    showWhen: false,
                  );
                  var iOSPlatformChannelSpecifics = IOSNotificationDetails();
                  var platformChannelSpecifics = NotificationDetails(
                      android: androidPlatformChannelSpecifics,
                      iOS: iOSPlatformChannelSpecifics);
                  await FlutterLocalNotificationsPlugin().schedule(
                      0,
                      'Flutter Alarm',
                      'Flutter Alarm Body',
                      scheduledNotificationDateTime,
                      platformChannelSpecifics);
                },
              ),
            ),
          ),
        );
      }
    }

    위 코드는 Flutter 알람 앱에서 알람을 설정하고 울리는 기능을 구현한 예제입니다.

    2. 크로스 플랫폼 개발

    Flutter를 사용하여 개발한 알람 앱을 다양한 플랫폼에서 사용하려면, 각 플랫폼에 맞게 앱을 빌드해야 합니다. 이를 위해 Flutter에서는 다양한 명령어를 제공합니다. 예를 들어, 다음과 같은 명령어를 사용하여 안드로이드 앱을 빌드할 수 있습니다.

    flutter build apk

    iOS 앱을 빌드할 때는 Xcode를 사용해야 하며, 웹 앱을 빌드할 때는 다음과 같은 명령어를 사용할 수 있습니다.

    flutter build web

    이를 통해 Flutter로 개발한 알람 앱을 다양한 플랫폼에서 사용할 수 있습니다.

    이번 글에서는 Flutter를 사용하여 알람 앱을 개발하고, 다양한 플랫폼에서 앱을 사용할 수 있는 방법에 대해 알아보았습니다. Flutter의 크로스 플랫폼 개발 기능을 활용하여, 여러분도 멋진 앱을 만들어보세요!