반응형

프로그래밍/flutter 16

flutter에서 android native code 와 연동

플러터만으로도 대부분의 기능들을 편리하게 사용할 수 있지만, 안드로이드 시스템 API를 사용해야 한다거나, 성능상의 문제로 native 코드를 작성해야 하는 경우가 있다. native code 와 병행해서 만들어진 flutter package 들도 아주 많다. 어떻게 flutter 에서 native 로 작성된 코드를 호출할 수 있는지 정리해 보았다. Android Native 와 통신 위 구조에서 확인할 수 있듯이 MethodChannel을 통해 iOS 또는 Android 플랫폼과 데이터를 주고 받을 수 있으며, MethodChannel 은 비동기적으로 동작하므로 await 를 사용한다. - flutter 코드 예제 class _NativeAppState extends State { static cons..

android simulator 에서 dart process stop 불가 현상

요즘들어 simulator 로 dart app 실행 후 종료할 때 정상적으로 종료되지 않는 현상이 자주 발생하고 있다. 분명 simulator 에서는 종료된 상태이나, android studio 상에서는 저렇게 종료가 되지 않은 상태가 유지되어, 다시 재실행이 안되는 상태가 되어버린다. 해결방법1 처음에는 android studio 프로그램을 완전히 종료한 이후에 다시 재실행하였다. 문제가 발생했을때 종료하려고 하면 위와 같은 선택창이 뜨게 되는데, 어떤걸 선택하든 제대로 종료되지 않아서 결국에는 강제종료를 해야했다. (맥에서 강제종료키: option + command + esc) 해결방법2 문제가 매우 자주 발생해서, 그때마다 android studio 를 강제종료 하기에는 너무 번거로워서 찾아본 방법..

android studio project window color 의미

안드로이드 스튜디오에서 좌측에 위치하는 Project 윈도우에 프로젝트 관련 폴더 및 파일들이 표시가 되는데 background color가 다르게 표시되는 파일, 폴더가 존재하는 경우가 있다. 위 화면의 경우에는 4가지 다른 color로 표시되고 있다. .dart_tool 폴더 및 하위 파일들 test 폴더 및 하위 파일들 main.dart 파일 그 외 폴더 및 파일들 main.dart 의 파란색은 선택의 의미니까 다들 아는거고, 나머지 3가지 의미를 찾아보았는데, 의외로 간단했다. Preference Appearance & Behavior > File Colors 항목에서 color를 선택할 수 있는데, 2가지 항목이 default 로 정의되어 있다. 위에 따른다면 각 color의 의미는 다음과 같다..

flutter 에서 page 이동시 argument 전달

플러터에서 Navigator를 통해 page를 이동할 때 argument 를 전달하는 기본적인 방법이다. # push method 의 arguments propery 사용 Navigator.of(context).pushNamed(..) Navigator.of(context).pushReplacementNamed(..) Navigator.of(context).pushNamedAndRemoveUntil(..) 위와 같은 Named method 는 arguments 라는 Object? type 의 property 를 가지는데 여기에 전달하고자 하는 데이터를 설정한다. class TestData { var testList = []; var index = 0; } ... { TestData testData = T..

'Device File Explorer' missing on Android Studio

Device File Explorer ?'Device File Explorer'는 연결된 에뮬레이터 또는 실물 스마트폰의 파일을 탐색할 수 있어 개발시 편리하게 이용되는 안드로이드 스튜디오의 기본 기능 중 하나이다. 상단메뉴 View > Tool Windows > Device File Explorer 또는 우측하단의 메뉴를 통해 진입 가능하다. 플러터 프로젝트에서의 Device File Explorer플러터 프로젝트에서는 Device File Explorer 메뉴가 없어 기능을 실행할 수 없다!!해결방법 1Project Structure > Project Settings > Modules 에서 아래와 같이 "Android" 를 추가하면 Device File Explorer 메뉴가 나타난다.해결방법 2fl..

FixedExtentScrollController 사용시 오류 처리.

Flutter 2.5.1 Dart 2.14.2 책의 예제를 테스트 하던 중 못보던 오류가 갑자기 발생하였다. ======== Exception caught by foundation library ==================================================== The following assertion was thrown while dispatching notifications for FixedExtentScrollController: 'package:flutter/src/rendering/object.dart': Failed assertion: line 2666 pos 12: '!_debugDisposed': is not true. CupertinoPicker 위젯에서 sc..

TextField 내부 padding 제거

TextField 위젯을 기본값으로 출력해 보면 text box 내부의 위, 아래 padding이 꽤 거슬릴 정도로 크다. TextField( keyboardType: TextInputType.number, controller: textController, decoration: InputDecoration( border: OutlineInputBorder(), ),), TextField 내부의 기본적인 여백은 Padding 위젯으로 TextField 위젯을 둘러싸서 설정해도 조절이 안된다. TextField의 decoration 속성에서 InputDecoration 위젯의  isDense 속성과 contentPadding 속성을 설정하여 조절할 수 있다. TextField( keyboard..

반응형