목록Develop/Android | iOS (49)
밍쯔와 안작고 안귀여운 에러들🖤

여러 상황에서 동일한 형태의 바텀시트가 사용되는데,내용이 다르다고 매번 새로 만들지 않도록 재사용이 가능한 커스텀 바텀시트를 만들었다.디자인은 위와 같이 상단은 라운드로 들어가고내부에 이름과 클릭 이벤트가 다른 두개의 텍스트뷰 영역이 있다. 이 부분을 컴포넌트로 만들어서 여러 화면에서 타이틀과 이벤트를 설정할 수 있도록 코드를 작성했다.아래 컴포넌트를 만드는 과정에서 생긴 귀여운 문제와 전체 코드가 있다. [문제]짜잔! 하고 만들었는데 아니이게 뭐야,,,,아래 네비게이션바가 요상방구한 색상이 됐다. 정상으로 돌려주기 위해 style 값에 아래 코드를 추가해주면 배경색에 맞게 변경된다!false@android:color/transparent?android:colorBackground 잘 반영된걸 볼 ..

구글 로그인 하는데 도무지 해결되지 않았다.,.. SHA-1 값도 다 반영했고 검색하면 나오는 일반적인 방법 (하단의 참고)도 다 해봤지만 사라지지 않는 10에러,,,!!!!!!! fireBase에서 authentication에서 구글 로그인도 설정 열어주고 진짜 다했는데,,, 다했다고!!!! 한 이틀동안 뭐냐 너 뭐냐 하면서 헤맸는데요? 해결했습니다,, 문제는 처음 프로젝트 설정할때 다른 설명들을 따라가다 보면 googleRequestIdToken을 처음 만든 oauth인 'Android 클라이언트 1'에서 클라이언트 ID를 프로젝트에 넣었다. 근데 이제! 'Web client'의 클라이언트 ID를 적용해야 한다는 사실!!!!!! 해당 값 바꿔주고 바로 해결됐다••• 바보 나자신 안녕🫶🏻 [참고] ht..

이전 포스팅(아래 참고)을 보면 토글의 selected 된 영역을 둥글게 표현하는 것까지는 완성 시킬 수 있다! 근데 만약 A 탭과 B 탭 각각이 선택 됐을때, 색상을 달리 하고 싶다면? 이걸 설정하는데 꽤나 답답했던 것이,,, app:tabBackground="@drawable/selector_btn_toggle_gray" 위의 방식으로 설정하던 방식으로 동적으로 변경하고 싶다,,! 에서 방법을 찾는데 문제를 겪었다. binding.tabLayout.setBackground(...selector..) 로 변경이 안됐다는 것,,,,! binding.tabLayout.setBackground(getResources().getDrawable(R.drawable.tab_color_selector)); bind..
public class DeduplicationUtils { public static List deduplication(final List list, Function key) { return list.stream().filter(deduplication(key)).collect(Collectors.toList()); } private static Predicate deduplication(Function key){ final Set set = ConcurrentHashMap.newKeySet(); return predicate -> set.add(key.apply(predicate)); } } 나중에 설명을 추가하자 !

[문제] png로 android 기존의 rating bar를 사용하면 깨지는 경우가 너무 많다,,,,,!! 여러모로 퀄리티를 높이기 위해 png가 아닌 svg로 사용할 수 있도록 작업했다. [해결] https://github.com/Malligan/RatingBarSvg 기본적으로는 위의 git을 참고했다. 다만 문제는 위의 코드를 그대로 사용하면 wrap_content가 제대로 적용되지 않고 높이가 svg보다 훨씬 큰걸 알 수 있다. 이를 해결하기 위해 view의 사이즈를 결정하는 함수 내 height 결정값을 변경해줬고, default wrap_content의 사이즈가 제대로 적용된 것을 볼 수 있다. 아래는 적용한 custom RatingBar의 적용하는 소스 코드다. activity/fragmen..
안드로이드 targetSDK를 33으로 변경 뒤 권한 요청에서 제대로 넘어가지 않아 갑자기 당황했을 사람들이 있을거다(그런 바로 나) 기존에 READ_EXTERNAL_STORAGE로 요청하던 권한이 apk33 이후부터는 총 3가지로 분리되어 요청해야 한다. 미디어 유형 요청 권한 이미지 및 사진 READ_MEDIA_IMAGES 동영상 READ_MEDIA_VIDEO 오디오 READ_MEDIA_AUDIO 프로젝트에 따라 필요한 권한만을 요청하면 된다. 나의 경우, 이미지 및 사진에 대한 권한만 있으면 되기 때문에 AndroidManifest.xml 권한 요청 private final static String[] requestPermission = { Manifest.permission.ACCESS_FINE..

기존 프로젝트에 토스 페이먼츠를 적용하는 방법에 대해서 알아보자.먼저, sdk를 설치하고 이후 결제 프로세스 및 UI 부분을 확인하도록 하자 ! 1. SDK 추가하기 build.gradle(Project)dependencyResolutionManagement { ... repositories { ... mavenCentral() maven { url "https://jitpack.io" } }} build.gradel(App)dependencies { ... implementation 'com.github.tosspayments:payment-sdk-android:'}Android SDK의 버전 정보는 Changelog 참고 토스 측 개발 문서에서는 minSDK 21이상 이라..

[문제] viewPager2 내에 FragmentStateAdapter로 fragment를 사용하고 있는 경우, 그리고 그 fragment 안에 Recyclerview를 사용하고 있어서 height가 달라지니 wrap_content로 설정했으나 아래와 같은 문제가 발생한다. 예를 들어, fragment1 : 100dp , fragment2 : 300dp, fragment3 : 50dp 일때 첫번째 fragment1의 높이인 100dp에 맞춰진 상태로 고정되어 2,3의 fragment가 짤리거나 남는 경우의 에러를 볼 수 있다. [구조] CustomScrollView > LinearLayout > ViewPager2(LinearLayout>Recyclerview...) ... [해결] 해당 탭이 선택 될 ..