728x90
반응형

분류 전체보기 52

[Flutter] Bloc ④ - context.read, context.watch, context.select

Bloc ① - 소개 https://dalgoodori.tistory.com/28 Bloc ② - Cubit 과 Bloc https://dalgoodori.tistory.com/29 Bloc ③ - Bloc Widgets https://dalgoodori.tistory.com/30 Bloc ④ - context.read, context.watch, context.select Bloc ⑤ - Bloc Test https://dalgoodori.tistory.com/32 1. context.read context.read()는 T 유형의 가장 가까운 조상 인스턴스를 찾습니다. 기능적으로 BlocProvider.of(context)와 동일합니다. context.read는 onPressed 콜백 내에 이벤트를 ..

Flutter/Package 2022.08.05

[Flutter] Bloc ③ - Bloc Widgets

Bloc ① - 소개 https://dalgoodori.tistory.com/28 Bloc ② - Cubit 과 Bloc https://dalgoodori.tistory.com/29 Bloc ③ - Bloc Widgets Bloc ④ - context.read, context.watch, context.select https://dalgoodori.tistory.com/31 Bloc ⑤ - Bloc Test https://dalgoodori.tistory.com/32 1. BlocBuilder 화면에서 가장 많이 쓰이는 위젯입니다. BlocProvider 로 create 해준 Bloc 이 있다면 context.read 로 불러올 수 있습니다. create 해준 Bloc 이 없다면 bloc 을 받아 사용하..

Flutter/Package 2022.08.04

[Flutter] Bloc ② - Cubit 과 Bloc

Bloc ① - 소개 https://dalgoodori.tistory.com/28 Bloc ② - Cubit 과 Bloc Bloc ③ - Bloc Widgets https://dalgoodori.tistory.com/30 Bloc ④ - context.read, context.watch, context.select https://dalgoodori.tistory.com/31 Bloc ⑤ - Bloc Test https://dalgoodori.tistory.com/32 Cubit Cubit 은 Bloc 과 다르게 이벤트 기반이 아니라 정말 간단하게 상태를 관리할 수 있습니다. Provider 의 ChangeNotifier 와 비슷합니다. 생성 Cubit 을 상속받는 클래스를 만들어주면 됩니다. 초기값은 내..

Flutter/Package 2022.08.04

[Flutter] Bloc ① - 소개

Bloc ① - 소개 Bloc ② - Cubit 과 Bloc https://dalgoodori.tistory.com/29 Bloc ③ - Bloc Widgets https://dalgoodori.tistory.com/30 Bloc ④ - context.read, context.watch, context.select https://dalgoodori.tistory.com/31 Bloc ⑤ - Bloc Test https://dalgoodori.tistory.com/32 Flutter에서는 UI 와 비즈니스 로직을 분리하기 위해서 많이 쓰이는 Bloc 에 대해서 포스팅 합니다. Provider 와 같이 관심사 분리를 위해 쓰이는 것은 동일하지만 Bloc 은 Provider 와 다르게 State와 Event를..

Flutter/Package 2022.08.03

[Android] Hilt 간단 적용

Hilt 는 Google 에서 오피셜로 발표한 안드로이드 DI 라이브러리 입니다. Dagger2 기반의 DI 라이브러리이며 모든 Android 클래스에 컨테이너를 제공하고 수명주기를 자동으로 관리함으로써 애플리케이션에서 DI 를 사용하는 표준을 제공합니다. 이번 포스팅에서 간단하게 구현할 수 있는 방법을 소개합니다. build.gradle (Module) plugins { . . . id 'kotlin-kapt' id 'dagger.hilt.android.plugin' } dependencies { . . . implementation "com.google.dagger:hilt-android:$hilt_version" kapt "com.google.dagger:hilt-android-compiler:$h..

[Flutter] DatePicker , TimePicker

간단한 날짜, 시간 선택할 때 사용되는 피커 입니다. 역시 구현하기 아주아주아주 쉽습니다. 1. DatePicker showDatePicker( context: context, initialDate: DateTime.now(), firstDate: DateTime(2022, 6, 22), lastDate: DateTime(2022, 8, 22), ).then((DateTime? value) => print('value = $value')); 2. TimePicker showTimePicker( context: context, initialTime: TimeOfDay(hour: 22, minute: 10), ); 3. CupertinoDatePicker showModalBottomSheet( context..

Flutter/UI 2022.07.30

[Flutter] AlertDialog

경고문구나 안내문구를 띄울 때 자주 쓰이는 AlertDialog 입니다. 아주아주아주 쉽게 구현할 수 있습니다. 창을 띄우는 것은 showDialog 로 시작합니다. showDialog BuildContext 를 받고 WidgetBuilder 로 임의의 위젯을 구현하면 됩니다. AlertDialog 를 구현하기 위해서 WidgetBuilder 에 Dialog 코드를 넣어줍니다. showDialog( context: context, builder: (BuildContext context) { return AlertDialog( title: const Text('AlertDialog Title'), content: const Text('Sample AlertDialog'), actions: [ TextBut..

Flutter/UI 2022.07.29

[Android] RecyclerView Drag & Drop

RecyclerView 에서 순서 정렬을 할 때 많이 쓰이는 Drag & Drop 기능에 대해서 간단하게 포스팅 하겠습니다. 저는 예제에 Databinding 을 사용했습니다. // build.gradle (:app) android { buildFeatures { dataBinding true } } activity_main.xml RecyclerView 하나 있는 예제 화면입니다. item_profile.xml RecyclerView 에 들어갈 UI 입니다. ImageView 에 들어갈 파일은 Vector Asset 으로 추가합니다. ProfileAdapter.kt RecyclerView 에 사용될 어댑터 입니다. moveItem() 와 startDrag 로 Drag & Drop 을 동작합니다. Lon..

Android/UI 2022.07.28

[Flutter] Provider

옛날 JSP, PHP 코드를 보면 UI 와 비즈니스 로직이 섞여 수천줄이나 되는 코드를 볼 수 있었습니다. 이런 코드는 가독성은 두말할 것도 없지만 코드를 작성한 사람도 시간이 지나면 알아보기 힘들 정도이기 때문에 유지보수에 굉장히 애를 먹습니다. 한사람이 처리하던 많은 일을 여러 사람과 분업을 하듯이 UI 와 비스니스 로직을 떼어놓는 관심사 분리 작업이 필요합니다. Flutter 에서는 Provider 로 관심사 분리를 할 수 있습니다. provider | Flutter Package A wrapper around InheritedWidget to make them easier to use and more reusable. pub.dev 앱을 처음 만들었을 때 기본으로 제공되는 카운팅 앱으로 예시로 했..

Flutter/Package 2022.07.27
728x90
반응형