목록Flutter(Dart) (33)
coding etude
fastlane 셋팅 시 주의 해야되는 부분은 bulid와 supply(distribution)을 모두 생각하면서 세팅을 해야한다는 점이다. fastlane를 사용하는 이유는 배포 시 자동화시켜 조금 더 편하고 빠르게 진행 하기 위함이라고 생각한다. 그래서 첫 세팅부터 업로드 까지 진행해 보려고 한다. 대부분의 내용은 fastlane 공식 홈페이지에 나와 있지만 flutter 관련 셋팅은 flutter.dev를 통해 진행 해야한다. 1. 설치 brew 와 gem을 사용하여 설치하는 방법이 있지만, fastlane 공식문서는 ruby gem을 통한 방법은 비추천 한다고 나와 있다. $ brew install fastlane 2. 세팅 터미널을 통해 android 폴더로 이동 후 fastlane 초기화를 진..
이전 gradle 세팅에 이어서 java 세팅에 대해서 기록하려고 한다. 증상 fastlane test 입력 시 뜸금없이 kotlinCompile 에러가 뜬다..??!! 일단 버전 문제 일수 있으니.. 확인해 보니 java8에 호환되는 버전은 1.5.31 이라고 친절하게 flutter 공식문서에 나와 있다. project/android/build.gradle buildscript { ext.kotlin_version = '1.5.31' repositories { google() mavenCentral() } 우선 요로케 버전을 수정해 주고... 다시 fastlane test 두둥.. make sure gradle is running on a jdk not jre. gradle 이 jre을 이용하여 com..
detail : Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. 처음엔 java 문제인줄 알고 java만 지웠다 설치했다. 버전 바꾸고 별 짓을 다했다... 다시보면 gradle에 java 11이 필요하다는 것이다.. 휴.. project/android/gradle 에서 gradle-wrapper.properties 파일을 확인 했더니 distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip 이렇게 gradle의 최신버전으로 설정이 되어 있었다. 정확한 호환관련 데이터를 본것은 아니지만 느낌적인 느낌으로 저 버전을 사용하려면..
flutter 세팅중에 알 수 없는 오류가 떴다. 구글링을 했을 때 기본적으로 몇 가지 해결방법이 나오긴 하지만 하나도 해결 되지 않았다. 개발환경 Macbook pro(2019) / Monterey v12.4 시도한 해결 방법 1. jdk 삭제 및 재설치 - 기존에 adoptopenjdk1.8.0_291 을 사용했으나 오라클 홈페이지에서 jdk8 설치파일을 받아서 설치하니 1.8.0_341 버전으로 업데이트 되었다. 환경변수도 등록해 주고 source 업데이트 후 동일증상. 2.brew 를 통해서 openJDK를 8,10,11 버전 모두 설치 - 환경변수에 JAVA_HOME를 바꿔가면서 테스트 해봤다. 동일증상. 3. android studio > SDK manager > commend tool 재설치..
직역 하자면 'GetX의 부적절한 사용이 확인 되었다.' 인데 어느 부분이 잘못 사용 되었는지 알기 쉽지 않다. 하지만 생각보다 이유는 단순하다. Obx() 내에는 무조건 Rx값을 controller에서 사용해야 한다. 쉽게말해 controller 에서 .obs로 값이 변했을때 알려주는 Rx값을 사용해야 한다는것이다. 만약 단순 변수를 사용 하는데 Obx()를 사용 한다면 이벤트를 알려줄 변수가 없이 사용했기 때문에 발생하는 오류인 것이다. 오류코드 예시 ///// controller ///// bool isNull = false; // .obs 사용사 오류 발생 // var isNull = false.obs; 는 허용됨. var이 자동으로 타입추론을 하기 때문이다. ///// GetView ///// ..
같은 객체의 생성자를 호출 하면 호출 할 때마다 인스턴스가 생성 된다. 하지만 Singleton을 사용하면 하나의 인스턴스만을 생성하기 때문에 메모리와 속도 측면에서 장점을 가지고 있다. class Singleton { int count; static final Singleton _instance = Singleton._internal(); // 인스턴스를 싱글톤으로 생성 Singleton._internal() { count = 0; //변수를 가지고 있다면 이렇게 초기화 해주면 된다. } // Songleton._internal(); 없다면 단순하게 실행만.. factory Singleton() => _instance; // factory는 실글톤 생성의 키워드 void functionEx(){ cou..
json데이터를 사용하기 위서는 수동 직렬화 방법과 외부 라이브러리를 통한 자동 직렬화 방법이 있다. 1. 수동 직렬화 - dart언어에 기본적으로 사용 할 수 있는 기능으로 dart:convert 를 참조한다장점 : jsonEncode(jsonfile), jsonDeconde(jsonfile)로 바로 사용이 용이하다. 관리 할 json 데이터가 적을 때 사용하기 좋다.// json 예시{ "name": "kim", "age": "13"}// 수동 직렬화Map user = jsonDeconde(json);print('name: ${user['name']});String json = jsonEncode(user);단점: 런타임(실행하는 단계)에서 바로 Map를 리턴하기 때문에 관리해야할 json데이..
원인 : CPU, GPU, RAM의 성능 문제 아무래도 맥북을 사용하다보니 GPU 쪽에 문제가 있지 않을까 .. 사실 랩탑 자체성능은 데스트탑에 비할바는 아니라.. 이런 오류는 흔하게 일어나는것 같다. 해결 1. 재부팅을 통한 재 실행. 2. 사용자(Users) -> .android -> avd -> 오류가 나는 avd 폴더 -> userdata-qemu.img 삭제 - 기존 데이터가 모두 삭제가 되기때문에 주의해야 한다. - 삭제 전 avd를 종료해 주어야 한다. 3. 해상도를 변경해준다. - avd manager -> 실행중인 avd 옵션(화살표) -> wipe data 4. avd 생성 할 시 Graphics를 수정해 준다. (default : Automatic) other finder에서 숨김 파..