[Flutter #10] 외부 패키지 이용하기

2020. 11. 24. 07:00IT

english_words라는 외부 패키지를 사용해 보도록 하겠습니다. 가장 간단한 외부 패키지 중의 하나로 5000개의 많은 영어 단어를 가지고 있어 호출을 하면 무작위로 영어 단어를 보내 주는 패키지입니다. 외부 패키지는 플러터에서 제공하지 않는 기능 중에서 이미 많은 사용자에게 검증된 패키지를 이용함으로써 개발 시간을 단축하고자 함입니다. 

 

외부 패키지를 사용하기 위해서는 외부 패키지 이름과 버전을 pubspec.yaml에 추가를 해 줘야 합니다. 다음과 같이 cupertino_icons 아랫줄에 english_workds: ^3.1.5를 추가해 줍니다. 추가를 하고 저장을 하면 자동으로 english_words 패키지를 설치해 줍니다. 

dependencies:

  flutter:

    sdk: flutter

 

 

  # The following adds the Cupertino Icons font to your application.

  # Use with the CupertinoIcons class for iOS style icons.

  cupertino_icons: ^1.0.0

  english_words: ^3.1.5

 

설치 화면이 보이지 않으면 console 창에 flutter packages get을 입력하면 yaml 파일을 참조해서 외부 패키지를 설치해 줍니다.

 

.packages 파일을 열어 보시면 다음과 같이 english_words가 설치된 것을 볼 수 있습니다.

 

설치가 완료되면 다음과 같이 matrial.dart를 import한 다음 줄에 english_words.dart를 import 해 줍니다. 입력한 것에 밑줄이 보입니다. 이것은 이 라이브러리가 아직까지 사용되지 않았음을 알려주는 것입니다. 코드 내에 english_words를 사용하게 되면 사라집니다. 

이 파일이 어디에 있는지 확인해 보기 위해서는 컨트롤 버튼을 누른 상태에서 마우스로 english_words.dart를 클릭하면 해당 파일이 VS코드에서 열립니다.

 

import 'package:flutter/material.dart';

import 'package:english_words/english_words.dart';

 

void main() => runApp(MyApp());

 

class MyApp extends StatelessWidget {

  @override

  Widget build(BuildContext context) {

    final wordPair = WordPair.random();

    return MaterialApp(

      title: "환영합니다",

      home: Scaffold(

        appBar: AppBar(

          title: const Text("환영합니다"),

        ),

        body: Center(

          //child: const Text("안녕하세요"),

          child: Text(wordPair.asPascalCase),

        ),

      ),

    );

  }

}

 

english_words를 사용할 준비가 끝이 났으며 이 외부 패키지를 사용하기 위해서 build 함수 바로 다음에 

 

final wordPair = WordPair.random();

 

를 추가했습니다. wordPair라는 변수에 두 개의 단어를 붙인 무작위 단어를 전달하라는 의미입니다. build 함수가 동작을 할 때 마다 이 부분이 실행됩니다. 따라서 매번 화면에 그릴 때 마다 다른 단어가 조합이 될 것입니다. 마지막으로 Scaffold의 body에 Text(wordPair.asPascalCase)을 호출합니다. asPascalCase는 두 단어에서 각각 시작하는 첫 문자를 대문자로 바꾸는 것이라고 합니다. 이때, 주의할 것은 Center 위젯 앞에 const를 삭제 해야 합니다. const는 상수라는 의미로 실행할 때 변경이 되는 값을 지정할 수 없습니다. title과 같이 항상 변하지 않는 값을 넣을 때는 쓸 수 있습니다만, 매번 무작위로 random() 함수에 의해서 만들어지는 값을 const로 지정할 수 없기 때문에 const를 삭제하지 않으면 오류가 발생합니다.

 

실행을 할 때 마다, 앱의 중앙에 무작위 단어가 출력되는 것을 확인하시기 바랍니다. 그리고 프로그램을 종료한 후에 다시 실행시켜 보시기 바랍니다. 실행을 할 때 마다, 새로운 단어가 생성이 됩니다.

 

이 가이드는 다음의 flutter 개발사이트에서도 한글로 확인을 할 수 있습니다. 

 

http://flutter-ko.dev/docs/get-started/codelab

 

반응형

'IT' 카테고리의 다른 글

[Flutter #12] 리스트 뷰  (0) 2020.11.25
[Flutter #11] Stateful 위젯  (0) 2020.11.25
[Flutter #9] 프로젝트 생성  (0) 2020.11.24
[Flutter #8] 우리가 만들 첫 프로그램은?  (0) 2020.11.24
[Flutter #7] 위젯 라이브러리  (0) 2020.11.24