목록안드로이드(Android) (70)
Simple&Natural
최근 사내 인앱결제 기능 개발 중 유용한 도구를 발견했다구글에서 제공하는 PlayBillngLab 을 이용하면국가변경, 신규 프로모션, 구독금액 변경 등의 테스트 케이스를 실험해 볼 수 있다.해외에 출시하는 앱이라 실제로 해외에서 결제 시 어떤 식으로 노출되는지 테스트가 필요했는데 실제 결제수단을 등록하지 않고도 테스트 가능한 방법을 찾고 있었다.아무리 검색을 해도 나오지 않아서 방황하던 중 공식문서에서 우연히 발견.공식문서 내에서 Manifest에 metadata를 설정해주는 부분이 있는데 여기서 largest release audience 태그 설정할 때 주의하자. 이건 실제 출시되는 aab나 apk의 업로드 가능 스코프를 지정하는 거고 enableBillingOverridesTesting에 종속되는..
9/1 내용 업데이트 저장된 Scheme json 파일이 버전별로 모두 동일한 것이 이슈인 것으로 보인다. 때문에 Migration 시 스키마 변경사항을 인지하지 못해 쿼리를 생성하지 않는 이슈인 것 같다. 근데 분명 테이블을 추가했는데 스키마 파일이 동일한 것도 의문이다. 계속 분석해봐야겠다. 기존의 Room은 version=2 인 상황에서 새 테이블을 추가하여 version=3으로 마이그레이션 해야 하는 상황이었다. 1 to 2 의 경우에는 수동으로 마이그레이션을 해주었지만 이번에 간단한 테이블 추가라 AutoMigration을 이용한 상황. 실행을 해보면 아래와 같은 로그만 반복된다. expected: TableInfo{name='recentSearchQueries', columns={query=C..
가로 방향의 ViewPager2 내 세로 방향의 RecyclerView를 가지고 있는 fragment pager 를 사용하던 중 개선사항이 하나 들어왔다. 세로 방향으로 스크롤했는데 가끔씩 가로로 스크롤이 된다는것. 이 원인은 recyclerView와 viewPager2가 터치 이벤트를 서로 경쟁적으로 뺏어가기 때문이다. 세로로 스크롤을 했음에도 viewPager2가 터치 이벤트를 가로채버리는 것. 이를 해결하기 위해서는 recyclerView에서 먼저 스크롤 이벤트를 감지한 후 세로 방향의 스크롤이 더 크면 recyclerView에서 터치 이벤트를 처리하도록 하면 된다 계산해보면 수직 45도 각도를 기준으로 이보다 각도가 작게 스크롤하면 viewPager2가, 이보다 각도가 커지면 recyclerVie..
우측에 하나의 View를 고정값으로 두고 TextView를 가변길이 + Ellipsize 처리하려고 할 때 맨 아래와 같이 작성한다. 핵심은 아래의 세 줄이다. android:layout_width="wrap_content" ... app:layout_constrainedWidth="true" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintHorizontal_chainStyle="packed" constrainedWidth를 true로 설정하여 레이아웃 범위를 초과하지 않도록 제약을 걸어주고 bias를 0.0으로 설정하여 좌측으로 정렬한 뒤 chainStyle을 pack으로 설정하여 바로 다음 레이아웃 옆에 차곡차곡 쌓이는 구조로 만들어..