원래는 기본 위젯을 다루면서 같이 다루려고 했는데, Flutter가 기본적으로 제공하는 버튼이 4가지나 되어서 따로 이렇게 포스팅한다. 바로 한번 확인해보자. - TextButton 가장 간단한 형태의 버튼으로, 테두리도 없고, 안에 Text만 존재하는 버튼이다. - ElevatedButton 배경색이 칠해져 있는 상태의 버튼이다. - OutlineButton 이름과 같이 테두리가 그려져 있는 버튼이다. - IconButton 위 모든 버튼들이 child의 형태로 위젯을 구성했던 것과는 달리 Icon()을 인자로 받아 아이콘 형태의 버튼을 만드는 버튼이다. ◎main.dart class MyHomePage extends StatelessWidget { final String title; MyHomePag..
이번 포스트에서는 Flutter를 처음 접하는 만큼 필수적으로 알아야 할 기본 위젯 중 몇가지 기초적인 내용을 정리하려고 한다. Flutter는 기본적으로 모든 컴포넌트가 위젯이며, 누구나 위젯을 만들고 배포할 수 있기 때문에 수도 없이 많은 위젯들이 있다. 웹상에서 사람들이 올려놓은 유용한 오픈소스 위젯들을 확인하고 다운받을 수 있으며, Flutter의 공식 유튜브 채널에서도 다양한 위젯들의 설명을 확인할 수 있다. - pub.dev: https://pub.dev Dart packages Pub is the package manager for the Dart programming language, containing reusable libraries & packages for Flutter, Angul..
직전 포스팅에서 구성해본 Flutter 기본 프로젝트에서 _MyHomePageState 클래스 내부에 Scaffold라는 클래스가 있었다. Scaffold는 Flutter가 지원해주는 디자인 방식인 Material library 하위 클래스이며, 찾아보니 서랍, 스낵바, 하단 시트, 플로팅 버튼 등을 간단하게 사용할 수 있도록 지원해주는 클래스로 보인다. 더 자세한 Reference는 여기를 참조하도록 하자. Flutter 기본 예제 코드로 한번 살펴보자. class _MyHomePageState extends State { int _counter = 0; void _incrementCounter() { setState(() { _counter++; }); } @override Widget build(B..
드디어 첫 Flutter 프로젝트를 만들어보려고 한다. 기본적인 인텔리제이 셋팅은 플러그인을 설치하고, 사용할 SDK 를 셋팅하는 것이 전부라 일단은 넘어가도록 하고 이번 포스팅에서는 Flutter 프로젝트를 만들면 자동으로 생성되는 기본 구조를 좀 살펴보면서 각 파일과 코드가 어떤 역할을 하는 지 확인하려고 한다. 바로 시작해보자. 우선, Flutter 프로젝트를 생성하면 확실히 네이티브 환경보다는 더 복잡한 디렉토리 구조가 눈에 띈다. Android와 iOS를 모두 지원하는 어플을 생성하기 때문에 android, ios 라는 이름의 디렉토리를 가지고 있다. 이 두 디렉토리는 main.dart에서 작성된 코드를 컴파일하면서 자동으로 Flutter 가 구성해주는 곳이기 때문에 깊게 살펴볼 필요는 없다. ..
Dart는 컴파일 과정에서 Null Point Exception을 잡아서 런타임 에러가 덜 발생할 수 있도록 해주는 개념이다. 즉, 변수 자체가 선언 과정에서 초기화되지 않거나, null 값을 가지면 컴파일러가 바로 에러를 잡아낼 수 있다. Dart에서 처음 접해보는 개념이지만, 그렇게 어렵지도 않고 사용하기는 편리하니 바로 한번 확인을 해보자. * 이번 포스팅은 null safety에 대하여 아주 자세하게 정리한 블로그에서 참고하였다. 1. Nullable과 Non-Nullable Null Safety 가 지원이 되려면 가장 기본적으로 변수 선언 시 Nullable과 Non-Nullable로 구분되어 선언해 주어야 한다. Dart 언어의 변수는 기본이 Non-Nullable 로 선언되는 것이며 만악 N..
Dart 도 DB 작업이나 IO 작업 등을 위한 비동기 프로그래밍을 지원한다. Dart의 비동기 프로그래밍은 Future 클래스와 async, await 키워드를 사용한다. 바로 한번 확인해보자. 1. Future Future는 비동기 작업의 결과를 2개의 상태로 표현한다. 상태에는 completed 와 uncompleted 가 존재한다. - uncompleted(미완성): 비동기 함수를 호출하면, 미완성 Future를 리턴한다. Future는 함수의 비동기 작업이 끝나거나 에러를 던지는 것을 기다린다. - completed(완성): 비동기 작업이 성공하면, Future는 값을 완성하게 된다. 작업이 실패하면 에러를 완성한다. 1) 값으로 완성 void main(List arguments) { getUs..
Java는 싱글톤 패턴을 사용하기 위해 보통 getInstance() 메서드를 따로 구현한다. 하지만, Dart는 이 싱글톤 패턴을 구현해주는 factory라는 키워드를 따로 가지고 있다. Dart 공식 레퍼런스에서는 factory 키워드를 새로운 인스턴스를 생성하지 않는 생성자를 구현할 때 사용하라고 한다. 바로 한번 확인해보자. factory 특징 매번 인스턴스를 새로 생성하는 일반적인 constructor와 달리 factory 키워드에는 몇 가지 특징이 있다. 기존에 이미 생성된 인스턴스가 있다면 return 하여 재사용한다. 하나의 클래스에서 하나의 인스턴스만 생성한다(싱글톤 패턴). 서브 클래스 인스턴스를 리턴할 때 사용할 수 있다. Factory constructors 에서는 this 에 접근..
Dart도 객체지향 언어이기 때문에 당연하게 상속이나 구현의 개념을 가지고 있다. 이번 포스팅에서는 Dart에서 extends와 implements를 어떻게 사용하며, 추가로 상속과 같이 사용할 수 있는 mixin이 어떤 것인지 확인해보려고 한다. 1. extends 상속은 아래와 같이 extends와 super를 사용하여 구현할 수 있다. import 'package:untitled1/untitled1.dart' as untitled1; void main(List arguments) { Spacecraft sp = Spacecraft.origin(); sp.describe(); Orbiter ob = Orbiter("뭉치2", DateTime.now(), 100); ob.describe(); } cla..
Flutter 공부를 이제 막 시작을 해서, Flutter 프로젝트의 기본 구조를 익히다 보니.. 책에서 정리해주는 간단한 소개만으로는 Dart에 대한 이해가 많이 부족할 거 같아서 차근차근 정리해보려고 한다. Google 에서 굉장히 밀어주는 언어라고 하니, 제대로 익혀놓는 것이 여러모로 편할 거 같아서.. ㅎㅎ 우선 이번 포스팅에서는 아주 기본적인 코드 샘플과 java와 다른 dart 만의 여러 특징들을 정리하려고 한다. 바로 들어가보자. 이 포스팅에서 다루지 않는 더 자세한 & 기본적인 부분은 공식 레퍼런스에서 확인할 수 있다. 우선, Dart 언어가 가지고 있는 몇 가지 특징부터 확인하고 가자. 1. 객체지향 언어답게, 변수에 넣을 수 있는 모든 값은 object이며, 모든 객체는 class의 인..
Android 는 단말의 자체 데이터베이스로 SQLite를 사용하고 있으며, 이를 그대로 어플에서 사용이 가능하다. 이전에 포스팅했던 내용처럼 JDBC와 동일하게 POJO Style로 쿼리문을 작성하고, excute해도 문제가 없지만 개발하고 있는 어플의 특성상 데이터 저장 주기가 빈번하고, 데이터 수도 꽤나 많을 것으로 예상이 되어서 JPA와 같은 ORM 표준이 혹시 있나? 하는 마음에 찾아봤다. Room은 Android에서 사용을 적극 권장하는 프레임워크로 ORM이기 때문에 아래와 같은 장점을 가지고 있다. SQL 쿼리의 컴파일 시간 확인 반복적이고 오류가 발생하기 쉬운 상용구 코드를 최소화하는 편의 주석 간소화된 데이터베이스 이전 경로 보다 정확한 레퍼런스와 자세한 구현 방법은 여기를 참조하자. 위..
- 인천 구월동 이탈리안 맛집
- await
- 이탈리안 레스토랑
- redux
- 맛집
- 인천 구월동 맛집
- javascript
- react-native
- Async
- redux-thunk
- 정보보안기사 #실기 #정리
- 파니노구스토
- Promise
- react
- AsyncStorage
- Total
- Today
- Yesterday