본문 바로가기

프레임워크/flutter43

[Error]platformException 목적: audioplayers package를 이용해서 해동이 완료되었을 때 알람을 울리는 기능 만들기 문제: 아래의 코드를 돌렸을 때, late final _player = AudioPlayer(); Future playNotificationSound() async { await _player.setSource(AssetSource('audios/alarm_sound.wav')); } 아래와 같은 문제가 발생 PlatformException (PlatformException(AndroidAudioError, null, java.lang.IllegalStateException at android.media.MediaPlayer._prepareAsync(Native Method) at android.med.. 2023. 11. 24.
[Error - 아직 해결 안됨] flutter apk file 만들 때 e: /Users/koseongjun/.gradle/caches/transforms-3/a82db410cebe27c9879106e746eca4ec/transformed/jetified-activity-1.7.2/jars/classes.jar!/META-INF/activity_release.kotlin_module: 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. e: /Users/koseongjun/.gradle/caches/transforms-3/4a950aaebf1aaad1fe6a2fdd6201e69a/transfo.. 2023. 11. 9.
[개념]apk파일로 내보내기 인터넷에 수많은 정보들이 있었지만 나는 일단 다 필요없고 빠른 테스트가 목적이기 때문에 어떻게든 일단 내보낼 수 있는 방법만 기록한다. 플러터 공식 문서에 보면 뭐라뭐라 말이 많지만 다 필요없다. 나는 그냥 내보낼 것이다. 터미널에 아래 명령어를 입력해주자 flutter build apk --split-per-abi 명령어를 입력해주면 콘솔창이 시뻘겋게 물들지만 상개발자는 신경쓰지 않는다. 초조한 마음으로 기다리고 나면 이렇게 세 가지 파일이 생성된다. [project]/build/app/outputs/apk/release/app-armeabi-v7a-release.apk [project]/build/app/outputs/apk/release/app-arm64-v8a-release.apk [project.. 2023. 11. 8.
[개념]AndroidManifest.xml 정리 https://kotlinworld.com/41#%EC%--%--%EB%--%-C%EB%A-%-C%EC%-D%B-%EB%--%-C%--%EC%--%B-%EC%--%--%EC%--%-C%--%ED%--%--%EC%-A%--%ED%--%-C%--%EA%B-%-C%ED%--%-C 2023. 11. 8.
[개념]SDK version check SDK(Software Development Kit) 말 그대로 소프트웨어 개발 도구 모음이라고 할 수 있다. https://www.kindacode.com/article/ways-to-check-android-sdk-versions/ 2 Ways to Check Android SDK Versions (Updated) - KindaCode This article shows you a couple of different ways to determine the Android SDK versions installed on your computer. The first approach is to use Android www.kindacode.com 2023. 11. 7.
[Error]Formatexception: invalid date format 참 이상하게도 initState에서 아래의 코드가 실행될 때 이 에러가 발생한다. DateTime startDateTime = DateTime.parse(startTime!); parse 메서드의 설명에서 이런 문장을 발견했다. Throws a FormatException if the input string cannot be parsed. 그러니까 startTime 안에 들어있는 날짜가 parse될 수가 없는 형식이라는 거다. 아 이제보니 startTime에는 처음에 "Hello"라는 문자열이 들어있었다. 이 문자열을 parsing할 수가 없다는 소리였다. 이제보니 date format 아래에 hello라고 적혀져 있네. 2023. 11. 7.
[Error] FAILURE: Build failed with an exception. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':image_picker_android:parseDebugLocalResources'. > A failure occurred while executing com.android.build.gradle.internal.res.ParseLibraryResourcesTask$ParseResourcesRunnable > Failed file name validation for file /Users/koseongjun/Desktop/caker/build/image_picker_android/intermediates/packaged_res/debug/xml/flu.. 2023. 11. 6.
[tips]terminal에서 앱 돌리기 flutter run을 입력하면 됨. 2023. 10. 23.
[tip] flutter document 잘 모르겠는 기능이 있으면 나는 유튜브를 찾아보거나 보통 블로그를 찾아봤다. 하지만 flutter document가 있는데 굳이 그럴 필요가 없었다. 들어가 보니 너무 정리가 잘 되어 있어서 앞으로는 그냥 이걸 보고 하면 된다. flutter document [궁금한 기능] 이렇게 구글에 치면 나온다. 2023. 10. 20.
[뻘짓]dialog: stateless? stateful? dialog는 statelessWidget이다. 그래서 statelessWidget 클래스에서만 사용할 수 있는줄 알았고 dialog에서 상태가 변화하는 부분을 구현해야 할 필요가 있었지만 stateful이랑은 아예 호환이 안 되는 줄 알고 있어서 골치가 너무 아팠다. 그런데 아래 블로그를 보니 statefulWidget 안에서도 사용이 가능하다. 이전에 써놓은 기록을 보면 "dialog류의 widget들은 기본적으로 statelessWidget으로 만들어졌기 때문에 statelessWidget에서만 사용 가능하다." 이렇게 써놓았다. 정확히 어디에서 사고 회로가 꼬인 건지는 알 수 없지만 아마도 표현으로 미루어 짐작컨대 아래 블로그를 보고 위의 표현을 썼을 것이다. 제대로 안 읽고 정리하려 해서 그런 .. 2023. 10. 19.