공부방/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..

공부방/Android2020. 11. 11. 13:51How to add touch effect animation in Android (안드로이드 터치 이팩트 추가 방법 )

버튼 이나 뷰를 클릭 했을때 아무런 반응이 없다면 심심하다 . 원하는 터치 이팩트를 추가하고 싶은 뷰영역 xml 에 아래와 같은 코드를 추가해 보자. android:foreground="?attr/selectableItemBackground" 그럼 아래 처럼 이팩트 효과가 적용된다.

How to upload android mapping.txt and  native debug symbols file in new Google play console (새로운 구글 플레이 콘솔 Mapping.txt, 네이티브 디버그 심볼 파일 업로드 방법)
공부방/Android2020. 11. 6. 14:27How to upload android mapping.txt and native debug symbols file in new Google play console (새로운 구글 플레이 콘솔 Mapping.txt, 네이티브 디버그 심볼 파일 업로드 방법)

구글 플레이 콘솔이 새로운 버전으로 업데이트 되면서 이전 버전에서 사용하던 기능들이 어디있는지 아직은 익숙하지 않은 것 같습니다. 오늘은 그중 하나인 Mapping.txt 파일 업로드 방법에 대해 알아보겠습니다. 일단 Mapping.txt 파일을 업로드 해줘야 하는 이유는 아래와 같습니다. 이제 빠르게 본론으로 돌아가 보겠습니다. 새롭게 변경된 Google Play Console 입니다. App Bundle 탐색기 클릭 -> 다운로드 클릭을 하면 위의 이미지 처럼 APK 파일 다운로드및 매핑파일 네이티브 디버그 기호 파일 업로드가 가능합니다. 우리가 업로드 해야할 것은 ReTrace 매핑 파일 입니다. ReTrace 매핑 파일의 우측에 업로드 버튼을 찾으셨다면, 다시 Android Studio 프로그램으..

image