일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- rxjava disposable
- ar vr 차이
- 서비스 쓰레드 차이
- rxjava cold observable
- 스택 자바 코드
- 안드로이드 레트로핏 crud
- 안드로이드 라이선스 종류
- 안드로이드 라이선스
- 안드로이드 유닛 테스트
- jvm이란
- 서비스 vs 쓰레드
- 멤버변수
- 플러터 설치 2022
- ANR이란
- rxjava hot observable
- 안드로이드 레트로핏 사용법
- 2022 플러터 안드로이드 스튜디오
- 객체
- 안드로이드 os 구조
- jvm 작동 원리
- 2022 플러터 설치
- 안드로이드 유닛 테스트 예시
- android retrofit login
- 클래스
- 자바 다형성
- 스택 큐 차이
- 안드로이드 유닛테스트란
- Rxjava Observable
- android ar 개발
- 큐 자바 코드
- Today
- Total
목록개인 공부/Flutter (12)
나만을 위한 블로그
이 에러가 표시되더라도 VS code나 에뮬레이터에서 작동하는 데는 문제가 없다. 그러나 노란색으로 상단에 계속 표시되기 때문에 거슬려서 해결 방법을 찾아봤다. 내 경우 File > Project Structure > modules 클릭 > 빨간 줄이 표시되는 폴더 클릭 > module sdk가 Android 29로 설정된 걸 33으로 바꾸니 해결됐다. 이 방법 전에는 Settings > Language & Frameworks > Android SDK 클릭 후 29가 설치되어 있지 않았어서 설치했고, 그래도 계속 경고가 표시되서 위 방법대로 하니 해결됐다. 참고한 사이트) https://stackoverflow.com/questions/76982304/android-sdk-android-api-29-pl..
record는 Dart 3.0에서 등장했고, 익명이고 불변인 집계(aggregate) 타입이다. 이걸 쓰면 여러 객체를 하나의 객체로 묶을 수 있다. 특징만 보면 컬렉션이 떠오르지만 Dart 공식문서를 보면 레코드와 컬렉션은 별도의 문서로 구분되어 있어서 서로 다른 개념이다. 어떤 것인지 공식문서를 확인해 본다. https://dart.dev/language/records Records Summary of the record data structure in Dart. dart.dev 레코드는 익명의 불변 집계 유형이다. 다른 컬렉션 타입과 마찬가지로 여러 객체를 하나의 객체로 묶을 수 있다. 다른 컬렉션 타입과 달리 레코드는 크기가 고정돼 있고 이질적이며 타입이 지정돼 있다. 레코드는 실제 값이므로 변수..
플러터에선 위젯을 써서 UI를 구현한다. 그리고 이 위젯은 Stateful하거나 Stateless하거나 둘 중 하나의 특징을 갖는다. Stateful, Stateless를 확인하려면 위젯이 뭔지 알아야 이해가 좀 더 쉬울 것 같아 위젯부터 확인한다. https://docs.flutter.dev/ui Building user interfaces with Flutter Introduction to user interface development in Flutter. docs.flutter.dev 플러터 위젯은 리액트에서 영감을 얻은 프레임워크를 써서 제작됐다. 핵심 아이디어는 위젯으로 UI를 구축한다는 것이다. 위젯은 현재 구성, 상태에 따라 뷰가 어떤 모습이어야 하는지 설명한다. 위젯 상태가 바뀌면 위젯은..
이 포스팅은 플러터가 어떤 구조인지 샅샅이 파악하려고 쓰는 게 아니다. 대략적으로 어떻게 만들어져 있는지 알아보는 포스팅이다. 포스팅의 바탕이 되는 사이트는 플러터 공식문서다. 너무 깊은 내용을 다루는 듯하거나 상관없어 보이는 내용은 생략했다. https://docs.flutter.dev/resources/architectural-overview Flutter architectural overview A high-level overview of the architecture of Flutter, including the core principles and concepts that form its design. docs.flutter.dev 플러터는 iOS, 안드로이드 같은 OS에서 코드 재사용을 허용하는..
비동기 프로그래밍이 무엇이고 왜 필요한지 모른다면, 잠시 생각해 보자. 비동기라는 건 뭘까? 아주 간단한 예시를 들어 본다. 어떤 식당에 들어갔는데 키오스크 앞에 이미 줄 서 있는 사람들이 5명 정도 있다고 가정한다. 내가 주문하려면 내 앞의 5명이 모두 키오스크를 통해 주문을 완료하고 자기 자리로 돌아가야 한다. 그리고 내 앞의 사람들은 키오스크에서 메뉴를 고른 다음 결제를 해서, 주문완료라는 화면이 표시된 뒤에야 키오스크 앞을 뜰 수 있다. 이 일련의 과정들은 나를 비롯해 내 뒤에 줄을 선 사람들도 공평하게 모두 똑같이 겪어야 하는 일이다. 이것이 동기(synchronous)다. 즉 어떤 요청이 발생하면 시간이 얼마나 걸리든 그 자리에서 결과를 받아야 한다. 만약 내 앞의 누군가가 결정을 빨리 못 하..
캐스케이드 연산자는 .. 연산자를 사용해서 특정 인스턴스의 속성이나 멤버 함수를 연속해서 사용할 수 있게 하는 연산자다. 자바로 치면 빌더 패턴을 통한 메서드 체이닝이 비슷한 형태고, 코틀린이면 apply, run, also 같은 범위 지정 함수가 비슷한 형태다. 공식문서의 캐스케이드 연산자에 대한 설명은 아래와 같다. https://dart.dev/language/operators#cascade-notation Operators Learn about the operators Dart supports. dart.dev 캐스케이드(.., ?..)를 사용하면 같은 객체에 대해 일련의 작업을 수행할 수 있다. 인스턴스 멤버에 접근하는 것 외에도 같은 객체에서 인스턴스 메서드를 호출할 수도 있다. 이렇게 하면 ..
Dart에도 당연히 함수는 존재한다. 그러나 사용법이 자바 / 코틀린과 매우 달라서 주의깊게 확인할 필요가 있다. 공식문서부터 쭉 읽어본다. https://dart.dev/language/functions Functions Everything about functions in Dart. dart.dev Dart는 객체지향 언어기 때문에 함수도 객체고 유형이 Function이다. 이는 함수를 변수에 할당하거나 다른 함수에 인수로 전달할 수 있음을 의미한다. 함수처럼 Dart 클래스의 인스턴스를 호출할 수도 있다. 아래는 함수 구현 예시다 bool isNoble(int atomicNumber) { return _nobleGases[atomicNumber] != null; } 이펙티브 Dart에선 공개 API..
Dart 언어를 공부하다가 mixin이란 키워드가 나왔다. 무슨 뜻인지 공식문서를 확인하니 아래와 같다. https://dart.dev/language/mixins Mixins Learn how to add to features to a class in Dart. dart.dev 믹스인은 여러 클래스 계층 구조에서 클래스 코드를 재사용하는 방법이다. 믹스인을 쓰려면 with 키워드와 하나 이상의 믹스인 이름을 사용하라. 아래 예제는 믹스인을 사용하는 두 클래스다 class Musician extends Performer with Musical { // ··· } class Maestro extends Person with Musical, Aggressive, Demented { Maestro(String..
안드로이드에 Context가 있듯 플러터에도 BuildContext라는 게 있다. 이걸 설명하는 공식문서 내용은 아래와 같다. https://api.flutter.dev/flutter/widgets/BuildContext-class.html BuildContext class - widgets library - Dart API A handle to the location of a widget in the widget tree. This class presents a set of methods that can be used from StatelessWidget.build methods and from methods on State objects. BuildContext objects are passed to..
Dart의 공식문서에 잘 설명돼 있긴 하지만 영어로 돼 있어서 번역해 보기 귀찮기 때문에 한글로 정리해둔다. Dart의 자료형 종류는 아래와 같다. Runes는 클래스인데 사용법을 보니 문자의 유니코드 숫자를 가져올 때 사용하는 것 같아 생략한다. int double String bool List Set Map 이제 하나씩 확인해본다. int https://dart.dev/guides/language/language-tour#numbers A tour of the Dart language A tour of all the major Dart language features. dart.dev 플랫폼에 따라 64비트 이하의 정수값이다. 기본 플랫폼에서 값은 -2^63에서 2^63-1 사이일 수 있다. 웹에서 ..