본문 바로가기

분류 전체보기56

Firebase Analytics Google Analytics Firebase의 데이터 분석 엔진 Fabric Answers에서와 동일한 기능을 제공 Firebase Crashlytics 및 Firebase 클라우드 메시징과 같은 다른 강력한 서비스와 이벤트 데이터를 통합 가능 Firebase는 Fabric Answers를 지원하지 않으므로 앱에서 기존 Answers를 사용한 경우 Analytics로 전환하라고 한다! Analytics 셋팅 방법은 여기 참고 사용 방법 1. 선언 및 초기화 사용 할 화면에서 FirebaseAnalytics 객체를 선언한다 private lateinit var firebaseAnalytics: FirebaseAnalytics onCreate() 에서 초기화 한다 // Obtain the FirebaseA.. 2020. 9. 10.
Dart # 11 : Callable classes, Isolates, Typedefs Dart : https://dart.dev/guides/language/language-tour 1. Callable classes Dart 클래스의 인스턴스가 함수처럼 호출되도록하려면 call() 메서드를 구현하면 된다 아래 예제에서 WannabeFunction 클래스는 세 개의 문자열을 가져와서 연결하고 각 문자열을 공백으로 구분하고 느낌표를 추가하는 call() 함수를 정의했다 class WannabeFunction { String call(String a, String b, String c) => '$a $b $c!'; } var wf = WannabeFunction(); var out = wf('Hi', 'there,', 'gang'); main() => print(out); // result .. 2020. 8. 28.
Dart #10 - Asychrony support, Generator Dart : https://dart.dev/guides/language/language-tour Dart 라이브러리는 Future 또는 Stream 객체를 반환하는 함수들이 많으며 이러한 함수는 비동기적이다 작업이 완료 될 때까지 기다리지 않고 시간이 많이 걸리는 작업 (ex: I/O) 을 설정 한 후 반환된다 async 및 await 키워드는 비동기 프로그래밍을 지원하므로 동기 코드와 유사한 비동기 코드를 작성할 수 있다 참고 : https://dart.dev/codelabs/async-await 1. Declaring async functions async 함수는 본문이 async 한정자로 표시된 함수로 함수에 async 키워드를 추가하면 Future가 반환된다 String lookUpVersion(.. 2020. 8. 28.
Dart #9 : Library Dart : https://dart.dev/guides/language/language-tour 1. Using libraries import 를 사용하면 라이브러리의 네임 스페이스가 다른 라이브러리 범위에서 사용할 수 있다 // dart:html 라이브러리를 import 한다 import 'dart:html'; // test 패키지 라이브러리를 가져올 경우 import 'package:test/test.dart'; 2. Specifying a library prefix 충돌하는 식별자가있는 두 개의 라이브러리를 가져 오는 경우 접두사를 지정할 수 있다 // lib1 과 lib2 에 모두 Element 클래스가 있는 경우 import 'package:lib1/lib1.dart'; import 'packa.. 2020. 8. 28.
Dart #8 : Generics Dart : https://dart.dev/guides/language/language-tour 기본 배열 타입인 List API 문서를 보면 타입이 실제로 List 인 것을 볼 수 있다 이러한 표기법은 List 를 generic (또는 매개 변수화 된) 타입으로 표시한다. (정식 유형 매개 변수가있는 타입) 대부분의 타입 변수에는 E, T, S, K, V 와 같은 단일 문자들이 있다 0. Why use generics? 제네릭은 type-safety 를 위해 필요하기도 하고 그 외 더 많은 이점이 있다 generic type 을 올바르게 지정하면 코드가 더 잘 생성된다 generic 을 사용하여 코드 중복을 줄일 수 있다 만약 List 에 String 만 포함되도록 하려면 List 으로 선언 할 수 있.. 2020. 8. 28.
Dart #7 : Extension method, Enum, Mixin Dart : https://dart.dev/guides/language/language-tour 1. Extension methodes Dart 2.7에 도입되었다 IDE에서 코드 완성을 사용하는 경우 일반 메서드와 함께 확장 메서드를 제안한다 사용 방법 extension on { ()* } // 확장함수 extension NumberParsing on String { int parseInt() { return int.parse(this); } // ··· } // 아래와 같이 사용할 수 있다 import 'string_apis.dart'; ... print('42'.padLeft(5)); // Use a String method. int.parse('42') print('42'.parseInt()); .. 2020. 8. 28.