반응형

프로그래밍/flutter 16

use tools:overrideLibrary="org.tensorflow.tflite_flutter" to force usage

tensorflow는 tensorflow lite를 통해 공식적으로 flutter를 지원한다. The TensorFlow Lite Plugin for Flutter is Officially Available The TensorFlow blog contains regular news from the TensorFlow team and the community, with articles on Python, TensorFlow.js, TF Lite, TFX, and more. blog.tensorflow.org 또한, github에 예제 소스코드도 제공하고 있다. GitHub - tensorflow/flutter-tflite Contribute to tensorflow/flutter-tflite develop..

infinite PageView in Flutter

PageView 위젯으로 여러개의 페이지를 생성하고 animateToPage 메소드를 통해 이동해 보면 기본적으로는 아래와 같이 움직인다. 마지막 페이지에서 첫페이지 이동시 그 사이의 모든 페이지를 거치면서 이동하게 된다. 하지만, 아래처럼 마지막 페이지에서 다시 첫번째 페이지로 순환하는 형태로 자연스럽게 이동하고 싶을 때가 있다. 이를 구현하기 위한 옵션이 기본적으로 존재한다면 참 편할텐데... 없다.. 조금은 편법스럽게 처리하던가.. 아니면 외부 package를 사용하여야 한다. PageView.builder 사용 PageView.builder 를 사용하고 itemCount 속성을 지정하지 않으면, Page를 무한으로 만들어 내는 것이 가능하다. final PageController pageContr..

실제 iPhone 기기에서 flutter Debugging

안드로이드 폰의 경우에는 연결하면 별다른 설정 없이 바로 실제 폰에 앱을 설치하고 디버깅 할 수 있다. 하지만, 아이폰은 보안을 중요시하는 애플 정책으로 인해 까다로운 절차들이 필요하다. 게다가 사용할 아이폰 마다 설정해야 하니 개발자 입장에서 여간 귀찮은게 아니다. 앱 개발에 실제 아이폰 기기를 이용하기 위해 우선 아이폰의 개발자 모드를 활성화 한다. 개발자 모드 활성화는 iOS 16.2 기준으로 설정 > 개인정보 보호 및 보안 > 개발자 모드 메뉴에서 켤 수 있다. 사용할 아이폰을 맥에 연결하고, 신뢰할지 묻는 메시지가 뜨면 '신뢰함'을 선택한다. 이상태에서 바로 아이폰 선택하고 빌드하면 아래와 같은 오류가 뜬다. 유효한 인증이 없다고 한다. 다행히 방법이 상세하게 안내되어 있다. 안내된 대로 해보자..

flutter에서 match_parent 효과

플러터에서는 위젯의 사이즈 설정시 네이티브에서 사용하는 match_parent를 명시적으로 지원하고 있지 않다. 추측하기로는.. 플러터에서 위젯을 그리는게 부모의 사이즈를 모르는 시점에서 이뤄지는거 아닌가 싶다.. 어쨌든, 부모 위젯의 사이즈를 따라가고 싶은 경우가 있을 수 있는데, 이때 아래와 같이 사용할 수 있다. Row, Column 에서 mainAxisSize: MainAxisSize.max, Container 에서 height: double.infinity

GoogleSignInPlugin.java uses or overrides a deprecated API. 오류처리

파이어베이스 연동 테스트를 하던 중 아래와 같은 오류가 발생하였다. Note: /Users/insomnia/.pub-cache/hosted/pub.dartlang.org/google_sign_in-5.2.1/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java uses or overrides a deprecated API. pubspec.yaml 파일에 package 를 이것저것 넣고 있는 와중이었는데, 아마도 어딘가 dependency 가 꼬인게 원인이 아닌가 싶은데, 위와 같은 종류의 오류가 발생할 때는 아래와 같이 초기화를 해 보면 대체로 해결된다. flutter pub cache repair terminal 에서..

Stateful Widget Lifecycle (위젯 생명주기)

안드로이드 코틀린 프로그래밍에서의 Activity Lifecycle 처럼 플러터에서도 위젯의 생명주기가 있다. 플러터에서는 크게 Stateless Widget, Stateful Widget 두 가지가 존재하는데, Stateless 위젯의 경우 한 번 만들어지면 갱신하지 않으므로 따로 생명주기라는게 없다. 따라서 플러터에서 생명주기라 함은 곧 Stateful Widget의 생명주기라고 할 수 있겠다. Stateful widget 은 또 StatefulWidget 클래스와 State 클래스로 구분되어 있는데, 화면 갱신 등의 실제 동작은 State 클래스에서 이루어지므로 Stateful Widget 생명주기는 또한 State 클래스의 생명주기라고 해도 될 것 같다. 1. createState() Statef..

반응형