Flutter
-
Flutter - Thread, Future, async 심화Flutter 2021. 10. 9. 02:11
[Thread] - 프로세스 내에서 실행되는 흐름의 단위 - Dart는 싱글 스레드로 운영되는 언어이다. 싱글 스레드로 동작 한다는 뜻은 오직 한번에 하나의 작업만 실행되고, 이 작업이 실행되는 동안 코드상에 존재하는 다른 작업들이 개입할 수 없다. - Dart는 이런 싱글스레드의 단점을 Event loop로 해결한다. Dart는 스레드가 생성된 순간 3가지 작업을 하게 된다. -> 선입 선출 방식으로 Micro Task(이벤트 큐로 넘어가기 전에, 아주 짧은 시간동안 비동기적으로 먼저 실행되고 끝 나는 작은 작업)와 Evnet 준비 -> main 함수 실행 -> Evnet loop 실행 [Evnet loop] - 외부에서 전달되는 이벤트가 발생했을 때 이벤트과 관련된 코드들이 이벤트 큐에 등록이 된다...
-
flutter - 2.0 button ElevatedButton으로 구글, 페이스북, 메일 로그인 버튼 만들기Flutter 2021. 10. 6. 02:47
1. 구글, 페이스북 이미지 파일 imges 폴더를 만든 후 해당 파일을 저장한 뒤, pubspec.yaml 파일에서 경로 설정해주기 2. 코드 import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Login app', theme: ThemeData(primarySwatch: Colors.grey), home: LogIn(), ); } } class LogI..
-
Flutter - final 과 constFlutter 2021. 10. 6. 00:07
final 과 const는 '제어자' 라고 하며 제어자란 클래스, 변수, 메서드를 정의할 때 함께 쓰여서 이것들을 사용하기 위한 옵션을 정해주는 역할을 수행한다. - final 과 const 키워드의 가장 중요한 역할은 변수값이 한번 초기화 되면 바꿀 수 없게 하는 것이다. - 문제는 이 같은 역할을 하는 final 과 const의 차이점이다. [final] - final 변수는 런타임 시에 상수화 한다. - final은 const와는 달리 초기화 되는 시점이 앱이 실행이 될 때이다. - final은 한번 초기화되면 immutable하기 때문에 값을 변경하고 싶다면 아예 새롭게 빌드 메서드 내에서 rebuild 해야 한다. [const] - const 변수는 컴파일 시에 상수화 한다. - const는 선..
-
Flutter - APK 파일 생성하기Flutter 2021. 9. 15. 01:06
일단 저는 VSCode 환경입니다. 1. 생성하고 싶은 프로젝트로 가서 터미널 창에서 해당 프로젝트 위치로 이동합니다. (해당 프로젝트에서 터미널을 열었다면 이미 자동으로 이동되어 있습니다.) 2. 터미널에 flutter build apk --release --target-platform=android-arm64 를 입력합니다. 3. 생성된 apk 파일 경로는 build/app/outputs/apk/release/app-release.apk 입니다. 이 파일을 안드로이드 폰에 가져가서 실행시키면 됩니다. flutter build apk --release --target-platform=android-arm64를 실행 시키면 이렇게 오류가 나면서 릴리스가 안될 때가 있는데 오류를 찬찬히 없앤 후 릴리스 하..
-
flutter - Dart 시간 변환(DateTime, millisecondsSinceEpoch, fromMillisecondsSinceEpoch)Flutter 2021. 7. 29. 00:16
졸업 작품 때문에 Dart 시간 변환에 대해서 공부했다. -> DateTime 에서 millisecondsSinceEpoch로, millisecondsSinceEpoch에서 DateTime으로 변환 하는것이 목적이다. flutter 로는 단순 결과를 얻기 힘들어서 DartPad를 활용했다. [DartPad] https://dartpad.dev/ -> 해당 코드는 https://www.python2.net/questions-701627.htm 여기서 많이 참고하였다. void main(){ final date1 = DateTime.fromMillisecondsSinceEpoch(1577836800 * 1000).toUtc(); // 01/01/2020 @ 12:00am (UTC) final date2 = ..
-
flutter 에러 - Missing type arguments for generic method 'push<T extends Object?>'. Try adding an explicit type, or remove implicit-dynamic from your analysis options file.Flutter 2021. 7. 28. 03:32
->페이지를 이동하는 시키기 위해 버튼을 만들고 navigator를 사용하였는데 이러한 오류가 떴다. -> 읽어봐도 어떻게 해결해야하는지 감이 오지 않아 구글에 찾아보았다. ->아직 이유는 모르겠지만 제네릭 자료형이 맞지 않아서 오류가 난 것일까 -> stateful widget 문제인가 싶어서 간단한 예제를 만들어 적용해보았는데 그것도 아니였다. ->MaterialPageRoute 맞춰줘야 하는 것이 아직 무슨 의미인지 잘 모르겠어서 좀 더 공부해봐야 할 것 같다. -> push 옆에 를 붙여주었더니 정상적으로 페이지가 이동되었다. [참고한 페이지] https://stackoverflow.com/questions/60798549/try-adding-an-explicit-type-like-dynamic-..