지금 회사에서 플러터를 거의 마무리하면서, 내가 토이 프로젝트를 하지 않는 이상 이제 플러터와는 살짝 멀어지면서, 네이티브에 더 집중할 것으로 예상이 된다. 오늘은 이전 글이었던, 2021.10.04 - [Programing/Android Studio With Kotlin] - flutter/dart /JSON과 직렬화 api 서버통신 자동으로 만들기 / retrofit, dio, retrofit_generator, build_runner, json_serializable /TIL # 64 flutter/dart /JSON과 직렬화 api 서버통신 자동으로 만들기 / retrofit, dio, retrofit_generator, build_runner, json_ 오늘은 api 서버통신에 대한 글을 작성..
오늘은 api 서버통신에 대한 글을 작성하려 한다. 참고 자료는 코딩 팩토리님의 영상과 아래 공식 문서를 참고했다. https://flutter-ko.dev/docs/development/data-and-backend/json JSON과 직렬화 어느 시점부터 웹 서버와 통신하지 않거나 구조화된 데이터를 적절하게 보관하지 않는 모바일 앱을생각하기 어려워졌습니다. 네트워크와 연결된 앱을 제작할 때, 결국에는 제법 괜찮은 JSON을사 flutter-ko.dev 우선 이 직렬화를 자동으로 쓰지 않으면 생길 수 있는 문제점에 대해서 설명하겠다. 보통 우리가 서버에서 api를 통해 json 데이터를 받아오는데, 모델 클래스를 만들어 받는 경우가 흔하다. class User { final String name; fi..
이 글은 코딩 팩토리님의 equatable 강의를 바탕으로 참고했습니다. 이제 회사에서 새로운 앱을 만들기 앞서, 필요한 플러터 지식을 쌓기 위해 고전해야겠다고 생각이 들어 필요할 것 같은 플러그인을 찾고 있는 중이다. 그중에 Formz라는 로그인 기능 구현 시 유용한 플러그인을 발견하게 되었는데, 같이 사용할 수 있는 Equatable이라는 플러그인을 알게 되었다. Formz를 배우기 앞서 Equatable에 대한 개념을 잡고 가고자 한다. 객체의 인스턴스 우선 인스턴스에 대해 알아볼 필요가 있다. 객체의 인스턴스에 대한 개념은 지난 싱글톤 글에 대해서 설명한 적이 있다. 2021.07.11 - [Programing/Android Studio With Flutter(Dart)] - flutter/Dar..
이따금씩 플러터 앱을 실행하면 이러한 오류가 뜬다 영어 뜻대로 flutter를 실행하기 위한 cocoaPods의 저장소가 오래되어, 종속성을 충족하기 어려워 Pod 레포지터리 업데이트를 해주세요. 라는 뜻이다. 그렇다면... 해줘야지.. 우선 왼쪽에 프로젝트 창에서 ios 안에 Podfile.lock을 지워준다. 저기 연두색 Podfile.lock을 우선 지워준다. 그러고 나서 터미널 창에 다음과 같은 명령어를 입력해준다. cd 내 앱이 있는 경로/ (ex test앱이라 가정할 때, folder/test) 입력한다. 그다음에는 cd test/ios를 입력하여 ios로 들어가 준다. pod install --repo-update 라고 입력하고, 앱을 실행해 보자. 만약에 아래와 같은 오류가 뜬다면 지정된 ..
늦게까지 회사에서 공부한 뒤 방금 줄넘기 2000개를 마치고, 샤워를 하고 나왔다. 회사에서 오늘 회의를 밤늦게 하는 바람에 오늘 배운 내용을 적을 수는 없어.. 시간도 늦고 간단하게 오늘 자바 환경변수 설정에서 헤매던 도중 알게 된 오류 해결법을 올려두겠다. 해결법 general error during semantic analysis: unsupported class file major version 60 이러한 오류가 떴다. 이 오류는 아직 gradle이 자바 16 버전을 지원하지 않는 뜻이라고 한다. 그러므로, 자바 15 버전을 다운로드하여 적용하면 된다. 너무 간단히 끝났다. 그렇다. 이렇게 하면 된다. 뭐 추가로 다운받는법과 환경변수를 추가하는 방법도 올리겠다. https://www.oracle..
오늘 하루도 마무리하면서 알게 된 내용을 정리해보려고 한다. 이 글을 다 쓰고 난 뒤에는 패스트캠퍼스 강의를 하나 들을 생각이다. 회사에서 운영중인 패스트 캠퍼스 아이디라.. 이번에 처음 써보게 되는 거라 설렌다. 우선 역시나 지금 앱을 개발하면서 앱 버전 정보를 가져오려 했으나, 안드로이드에서 앱 버전, 아이폰에서 앱 버전을 각각 가져와야 한다는 에러가 발생했다. 기존에는 이 패키지를 사용하였다. https://pub.dev/packages/package_info_plus package_info_plus | Flutter Package Flutter plugin for querying information about the application package, such as CFBundleVersion..
요즘 뜻대로 코드가 잘 짜여서 기분이 좋다. 오늘은 회사앱에도 적용 SmartRefresher이라는 패키지에 대해서 소개해 볼까 한다. https://pub.dev/packages/pull_to_refresh/install pull_to_refresh | Flutter Package a widget provided to the flutter scroll component drop-down refresh and pull up load. pub.dev 우선 이곳에 smartRefersher를 dependencies에 추가시켜주자. dependencies: pull_to_refresh: ^2.0.0 다음은 홈페이지에서 가지고 온 예제이다. 주석 처리를 하면서 천천히 설명을 하는 시간을 가져보고자 한다. 그렇다..
참고 문헌 https://flutter-ko.dev/docs/cookbook/persistence/sqlite SQLite에 데이터 저장하기 로컬 디바이스에 많은 데이터를 저장하고 쿼리를 요청해야 한다면, 로컬 파일이나 키-값 저장소 대신 데이터베이스를사용해보세요. 일반적으로 데이터베이스는 다른 로컬 솔루션보다 더 빠른 flutter-ko.dev 마침내 오랜만에 글을 쓰게 되었다. 오늘도 채팅 작업을 잘 마무리하고 그동안 유용하게 써왔던, sqlite에 대한 사용법을 작성할 생각이다. 9시 50분에 차를 타고 퇴근을 해야 하기 때문에 다소 간략하게 쓸 수도 있지만, 집에 가서도 쓰면 되니 뭐.. 간단하게 내부 디비를 왜 써야 하는지 설명하겠다. 내부 데이터베이스(sqlite)의 필요성 보통 우리는 데이터..
출처 책 (처음 배우는 플러터 - 유동환) 오늘 알아볼 것은 flutter에서 사용하는 Dart의 장점 중에 장점 역할을 맡고 있는 녀석을 소개한다. 선택 인자와 이름 있는 인자이다! 1. 선택인자(positional optional parameter) 이름이 상당히 깁니다. 선택인자는 자신이 선택할 수 있는 인자입니다. 한 마디로 이 인자를 선택해도 되고, 안 해도 되는 것입니다. 예제를 보면서 살펴 보겠습니다. //선택인자(positional optional parameter) int num1 = 100; int num2 = addNumber(100) //inc = 1 대입 int num3 = addNumber(100, 20) //inc = 20 대입 // 넣은 인자 값들을 더해서 int 값으로 반환..