[flutter] getter

sanghun park·2023년 2월 3일
0
post-thumbnail

GetX 글중에 getter 를 사용하여 다른 파일에서 변수를 사용할 수 있는 방법에 대해 간단히 적어놨었다. 오늘은 ImagePicker를 사용하여 모바일의 사진 사용하는 방법에 대해 적어 보려고 한다.


라이브러리 설치 : https://pub.dev/packages/image_picker


  File? _pickedImage;
  File? get pickedImage => _pickedImage;
  
  Future<File?> _pickImage() async {
    final imagePicker = ImagePicker();
    final pickedImageFile = await imagePicker.pickImage(
        source: ImageSource.camera, imageQuality: 50, maxHeight: 150);
    setState(() {
      if (pickedImageFile != null) {
        _pickedImage = File(pickedImageFile.path);
      }
    });
    return _pickedImage;
  }

내가 사용한 방법은 함수를 하나 만들어서 이 함수를 호출하게 되면 _pickedImage 를 리턴시켜 값을 맨위에 선언한 _pickedImage 변수에 담아 주도록 했음. 그리고 get 을 사용하여 다른곳에서 pickedImage를 쓸 수 있도록 함.

Widget _buildItem(context, index, animation) {
    return ChatMessage(_chats[index], widget.name, pickedImage,
        animation: animation);
  }

위젯을 따로 만들어서 파라미터로 넘겨주려고 했음. ( 3번째 pickedImage )

CircleAvatar(
                backgroundColor: Colors.blue,
                backgroundImage: widget.pickedImage != null
                    ? FileImage(widget.pickedImage!)
                    : null,
              ),

( StatefulWidget 에서 받은 파라미터 데이터를 사용하려면 widet.pickedImage 이런식으로 widget. 을 같이 사용해줘야함! )

profile
개발자를 꿈꾸는 학생

0개의 댓글