Wear OS 갤럭시 워치 앱 개발 - 실제 시계에서 앱 실행
·
Skills/Flutter, Dart
갤럭시 워치 앱을 개발에서 실제 워치로 테스트할 일이 있는데 여러 번 하던 것도 안하다하면 기억에 안 남아있다.사실은 내가 다시 또 보려고 남기는 글이다.  1. 워치 설정 제일 하단에 개발자 옵션 항목을 찾는다.*개발자 옵션 항목이 없다면 설정 > 소프트웨어 정보 > 소프트웨어 버전을 찾아서 7번 탭 하면 생성된다.  2. 개발자 옵션을 들어가서 ADB 디버깅 옵션을 사용 설정한다.  3. USB 데이터 연결로 할 수도 있지만 무선 디버깅으로 하겠다.*개발자 옵션에 들어가면 (1) 블루투스로 디버깅, (2) 무선 디버깅이 있다. (2) 무선 디버깅은 WIFI를 이용한다.  4. 무선 디버깅에 들어가서 하단에 새 기기 등록을 누른다. Wi-Fi 페어링 코드와 IP 주소 및 포트가 나온다.  5. 안드로이..
Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0
·
Skills/Flutter, Dart
flutter apk 빌드할 때 발생한 오류다.이것 저것 찾아 해보았는데 해결 안되어 미치는 줄 알았다.사람들의 정신건강을 위해 해결 방법을 공유한다.  결론은 코틀린 버전 호환의 문제이고 코틀린 버전을 변경해주면 된다.  프로젝트 단에 있는 build.gradle에 들어가면 buildscript가 있다.없으면 위 부분 전체 추가하면 된다.  ext.kotlin_version을 주목해야 하는데이 부분에서 ext.kotlin_version을 각자 환경에 맞게 바꿔줘야한다.  나는 ext.kotlin_version = '1.7.10'로 설정해줘서 해결했다.추가로 버전 변경할 때마다 vscode를 다시 켜서 재실행 해줬다. 새로고침이 필요하단다.해결 과정을 첨부한다.  처음에는 ext.kotlin_versio..
Local variable for "serviceWorkerVersion" is deprecated. Use "{{flutter_service_worker_version}}" template token instead., "FlutterLoader.loadEntrypoint" is deprecated. Use "FlutterLoader.load" instead.
·
Skills/Flutter, Dart
나는 Flutter를 업그레이드하고 이 경고를 만났다.Flutter 3.22 이상에서 생길 수 있다고 한다. Warning을 잘 읽어보면 해결할 수 있다.   Flutter web app initializationCustomize how Flutter apps are initialized on the web.docs.flutter.dev 여기로 가면 해결 방법이 있다.  flutter_bootstrap.js에는 플러터 앱을 초기화하고 실행하는 데 필요한 JavaScript 코드가 들어 있는데async-script 태그를 배치하여 이 스크립트를 사용할 수 있다고 한다.결론적으로 플러터 실행에 flutter_bootstrap.js가 필요하다.  47줄 처럼 넣어준다.  1.Local variable for ..
Flutter Web build, Flutter apk build
·
Skills/Flutter, Dart
아주 간단하지만 기억보단 기록을..   1. Flutter Web buildflutter build web 프로젝트 폴더의 build/web 폴더에 빌드 파일 전부 있음  2. Flutter apk buildflutter build apk --release --target-platform=android-arm64 프로젝트 폴더의 build/app/outputs/apk/release에 app-release.apk 파일 있음  --release는release 모드로 빌드하도록 --target-platform=android-arm64는빌드할 apk가 특정 플랫폼에서 실행되도록 지정하는 것임 (여기서는 ARM 64비트 아키텍처)ARM 64는 최신 Android 디바이스에서 사용되는 아키텍처  + 추가로--rel..
app bar color style (amber, cyan)
·
Skills/Flutter, Dart
[Flutter] Provider 사용하기
·
Skills/Flutter, Dart
Provider 설치flutter pub add provider provider | Flutter packageA wrapper around InheritedWidget to make them easier to use and more reusable.pub.dev   Store 만들기 (state 보관함)class Store1 extends ChangeNotifier { var name = 'yunjeong'; // 보관할 내용}   Store1 사용할 위젯에 등록하기보통 모든 곳에서 사용할 듯Store1에 저장한 state 쓰고 싶은 위젯들은 전부 ChangeNotifierProvider()로 감싸야함=> 즉, ChangeNotifierProvider()로 MaterialApp을 감싸면 된다.vo..
[Dart] 3.0 업데이트 문법
·
Skills/Flutter, Dart
Dart 3.0 업데이트 문법 중 몇 가지만 정리해보았다. 1. Record List를 좀 더 규격화해서 표현 할 수 있는 기능이다. 타입스크립트나 파이썬의 튜플과 같다고 보면 된다. 일반 괄호()를 이용해서 사용할 수 있다. 타입과 타입의 순서를 보장한다. name을 줄 수도 있다. void main() { final result = nameAndAge({ 'name': '민지', 'age': 20, }); print(result); print(result.$1); print(result.$2); final result3 = getNewJeansWithType(); for(final item in result3) { print(item.$1); print(item.$2); } final result4 ..
[Flutter] const 생략에 대하여
·
Skills/Flutter, Dart
한빛미디어의 플러터 인 액션을 읽다가 아래와 같은 글을 봤다. 1. 변경할 수 없는 위젯 인스턴스는 성능이 좋으므로 가능하면 const를 사용하는 것이 좋다. (이 문장이 const를 생략하라는 건지 마라는 건지 애매하게 하는데, 결론은 생략하라는 것이다.) 플러터는 new, const 키워드를 둘 다 사용하지 않으면 프레임워크가 가능한 const로 위젯을 추론하므로 크게 신경 쓰지 않아도 된다. 따라서 어떤 위젯이 상수고 어떤 위젯이 아닌지 지정할 필요가 없다. 플러터가 알아서 처리하기 때문이다. 다트 2.3부터 이 기능은 모든 다트 환경에서도 지원한다. 2. 위젯은 대부분 const 생성자를 갖는다. 3. 플러터에서 위젯을 만들 때 new와 const 키워드는 생략하는 것이 좋다. 인터넷 강의를 들으..
[Flutter] Plugin [id: 'com.android.application'] was not found in any of the following sources:
·
Skills/Flutter, Dart
vscode에서 flutter create app으로 플러터 프로젝트를 만들고 실행하던 중 다음과 같은 exception이 발생했다. 여러 해결방법을 찾아보고 실행해봐도 해결이 안됐는데 다른 프로젝트와 비교하다가 아래와 같은 방법으로 해결했다. android > build.gradle 위치에서 dependencies에 classpath 'com.android.tools.build:gradle:7.3.0' 를 추가해준다. 나는 위와 같이 넣어줬는데 각자에게 맞는 버전을 설정할 필요가 있을 것 같다.