How to use flutter table_calendar library (플러터 table_calendar library 사용 방법)
공부방/Flutter2023. 2. 9. 15:24How to use flutter table_calendar library (플러터 table_calendar library 사용 방법)

오늘 살펴볼 라이브러리는 table_calendar 에요. 프로젝트를 진행하면서 캘린더를 커스텀해서 사용할 일이 생겼는데, 생각보다 기능이 다양해서 정리를 해두려해요. 자세한 정보는 아래 사이트에 들어가셔서 확인 가능해요 https://pub.dev/packages/table_calendar table_calendar | Flutter Package Highly customizable, feature-packed calendar widget for Flutter. pub.dev 라이브러리 추가를 해줘요. pubspec.yaml table_calendar: ^3.0.9 weekNumbersVisible: true, 아래 그림에 빨간색 원에 안에 숫자를 보여줄지 설정하는 변수에요 해당 연도에 몇주차 인지 표..

공부방/Flutter2023. 2. 9. 15:04Flutter showModalBottomSheet setState not working (플러터 showModalBottomSheet setState 동작 안하는 현상)

setState()는 StatefulWidget 에서 특정 오브젝트의 상태(값)를 변경하기 위해 사용하는 메소드에요 . 근데 이번에 showModalBottomSheet에서 요일을 선택하는 기능을 가진 화면을 작업하다가 setState 를 통해 상태 변경을 호출해도 화면이 변경되지 않는 현상을 발견했어요. 아래는 문제의 코드에요 showModalBottomSheet( context: context, builder: (context) { return Container( height: heightOfModalBottomSheet, child: RaisedButton(onPressed: () { setState(() { heightOfModalBottomSheet += 10; }); }), ); }); 아래는..

공부방/Flutter2023. 2. 9. 14:45Flutter unicode character in string to string extension (플러터 유니코드 문자열 변환)

플러터로 개발을 하던중 서버쪽에서 알림에 이모지를 보여주고 싶다는 요청이 들어왔어요. 그와 동시에 알림 리스트 에 unicode 를 넣어서 내려 보내주기 시작했어요. 플러터 Text Widget 에서 유니코드 문자를 사용하려면 아래와 같은 형식으로 사용을 해야지만, Text("Is test. \u{1f60e}"} 클라이언트 개발자와 어떠한 협의도 없이 아래처럼 String 데이터를 내려 주는거에요........ U+1F389 나는 U+1F389 프로그래머에요 당연히 Flutter 에서는 지원하지 않는 형식이므로 원하는 형태로 보이지 않았고, 결국 유니코드 캐릭터가 포함된 값을 찾아서 플러터에서 인식할 수 있는 형태로 바꿔주는 방식을 직접 구현하게 되었어요. String unicodeContainStrin..

공부방/Android2022. 12. 22. 14:17Flutter error The project 'xxxxx' is not a Gradle-based project

안드로이드 스튜디오를 Android Studio Dolphin | 2021.3.1 Patch 1 로 업데이트 하고 기존 Flutter Project 를 열어보니 The project 'xxxxx' is not a Gradle-based project 문구가 나오면서 플러터 빌드를 할수가 없다.... gradle 에 문제가 있나해서 내용도 바꿔보고, Flutter plugin 을 다시 설치도 해보고 sdk 경로도 다시 잡아주고, 별짓을 해도 안된다. Flutter 프로젝트가 아니라고 Flutter 메뉴도 보이지 않고 해서 그냥 터미널에 아래와 같이 명령어를 입력하고 안드로이드 스튜디오를 재실행 하니 다시 정상 동작 한다. 소중한 내 시간이 날아갔다... flutter clean flutter pub cac..

Facebook login SDK error using android (안드로이드 페이스북 로그인 에러)
공부방/Android2022. 9. 15. 13:09Facebook login SDK error using android (안드로이드 페이스북 로그인 에러)

안드로이드 페이스북 로그인이 어느순간 동작을 안하기 시작해서 무슨일인가 하면서 대략 5시간 이상을 코드를 고쳐가며 수정을 했다. 온갖 샘플 코드를 다 뒤지고 하다가 결국 원인을 발견했는데 이유는 간단했다 바로 API 버전 업그레이드를 14로 올렸던 것이다. 다시 최하 버전인 v8.0 으로 내리면 정상 동작 한다. 최신 버전으로 SDK 업데이트를 하여 당연히 API 버전 업그레이드도 이에 맞춰 변경을 했는데 로그인 시도를 하면 계속해서 cancel 로 콜백이 온다. 원인을 파악하기보다 페이스북 로그인은 없애버리자. 반토막난 주가!!!!

공부방/Android2021. 11. 24. 18:09Android Coordinatorlayout in Coordinatorlayout NestedScroll Behavior

/** * Created by JeonGuKang on 24,11월,2021 * * 아래 주석은 하위 자식 CoordinatorLayout behavior 가 nestedscroll 시 동시에 작동 필요시 사용 * // consumed[0] = tConsumed[0][0] + tConsumed[1][0] // consumed[1] = tConsumed[0][1] + tConsumed[1][1] */ class NestedCoordinatorLayout @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 ) : CoordinatorLayout(context, attrs, defStyleA..

How to assignment IPv6 in AWS ec2 (AWS ec2 IPv6 할당 방법)
공부방/Server2021. 7. 30. 12:06How to assignment IPv6 in AWS ec2 (AWS ec2 IPv6 할당 방법)

1. AWS Management Console -> Ec2 -> 인스턴스 탭 이동 2. 실행 중인 인스턴스 클릭 3. 하단 네트워킹 탭 선택 -> VPC ID 클릭 4. VPC ID 이름 우클릭 -> CIDR 편집 클릭 5. 새 IPv6 CIDR 추가 클릭 -> 내용 확인 후 하단 체크박스 클릭 후 저장 6. 그림 1의 페이지에서 서브넷 ID 클릭 -> 서브넷 ID 이름 우클릭후 IPv6 CIDR 편집 클릭 7. IPv6 CIDR 추가 클릭 -> 아무 숫자 2자리 입력 후 클릭 -> 저장 8. 다시 그림 1화면으로 복귀 후 IPv6 확인해보면 할당되어 있음

공부방/Android2021. 6. 30. 13:27How to set default value of android databinding (안드로이드 데이터 바인딩 기본 값 설정 하는 방법

안드로이드 데이터 바인딩을 사용하다 보면 라이브 데이터를 세팅하기 전까지 xml에 라이브 데이터를 바라보는 뷰가 감춰져야 하거나 특정 디폴트 상태를 유지해야 할 때 난감할 때가 있습니다. 만약 이를 막고자 라이브 데이터에 디폴트 값을 미리 넣어두면 옵저빙 시 호출이 되기 때문에 디폴트 값을 넣어주기도 애매하죠 아래 코드를 예시로 보겠습니다. 만약 ViewModel의 isShow 데이터를 바라보고 Visible과 Gone을 처리하는 뷰가 있다고 하면 이 뷰는 isShow의 데이터가 변경되기 전까지 화면에 보이고 있을 것입니다. API를 통신하여 세팅한다고 하면 API의 통신 속도에 따라 나타나고 사라지는 게 눈에 보일 정도가 될 것입니다. 이럴 경우 크게 눈에 띄지 않는 뷰면 상관이 없는데 전체적으로 화면..

공부방/Android2021. 1. 11. 14:23Android databinding common click Listener for block double click(안드로이드 데이터 바인딩 더블 클릭 방지 공용 클릭 리스너 )

앱을 만들다 보면 특정 버튼을 사용자가 너무 빨리 눌러서 뜻하지 않은 상황을 방지하고 싶을 때가 있습니다. 하지만 문제는 이미 클릭 이벤트를 적용한 상태에서 어떻게 최대한 코드 수정을 줄이고 적용하는가입니다. 만약 databinding을 사용하고 있다면 아래의 코드를 참고해 봅시다. OnDoubleClickBlockClickListener.kt class OnDoubleClickBlockClickListener(private val clickListener: View.OnClickListener, private val interval: Long = 1000) : View.OnClickListener { private var clickable = true override fun onClick(view: V..

How to fix  fatal: could not read Password of Sourcetree (소스 트리 could not read Password 에러 수정 방법)
공부방/기타2020. 12. 23. 11:32How to fix fatal: could not read Password of Sourcetree (소스 트리 could not read Password 에러 수정 방법)

Sourcetree의 깃플로우를 이용해 Feature 를 마무리 하려고 하니 fatal: could not read Password for ' 'https://xxxxxxx@bitbucket.org': Device not configured Fatal: Could not fetch feature/text_relay from origin. 위와 같은 에러가 나오면서 정상적으로 마무리가 안되었다. 아마 여러 해결 방법이 있겠지만 내가 해결한 방법은 아래와 같다. 1. 터미널을 눌러 실행시키자 2. 아래의 순서대로 명령어를 입력하자 (입력과 출력이 정상적으로 이루어져야 정상 동작 하는것이다) 입력 git config credential.helper 출력 osxkeychain 입력 git config crede..

image