분류 전체보기239 [안드로이드] 이 앱은 이전 버전의 Android 를 위해 만들어진 것이기 때문에 현 기기에서 사용할 수 없습니다. (sdk 33 대응) 기간이 지나 Google store 에 앱이 보이지 않고, OS 13 대응하고 내부테스트로 앱을 말아도 "이 앱은 이전 버전의 Android를 위해 만들어진 것이기 때문에 현 기기에서 사용할 수 없습니다." 또는 "이 기기 버전과 호환되지 않습니다" 설치 버튼은 안보이고 왜? 저 두 문구가 보일까? 회사에서 이번에 Android OS 13 대응 건 때문에 서브 앱 하나를 버전 업데이트를 하게됐다. https://developer.android.com/google/play/requirements/target-sdk?hl=ko Google Play의 대상 API 수준 요구사항 충족하기 | Android Developers Google Play의 대상 API 수준 요구사항 충족하기 컬렉션을 사용해 정리하기 내.. 2023. 9. 18. [APP 결제 방법] MPM? CPM? PC to Mobile? MCT? NFC? 입사 후 페이북/ISP 앱을 개발하다가 App 결제 방법이 다양하다는 것을 알게됐다. 늦었지만, 어떤 결제방법이 있는지 알아보자. 요새는 XX페이(ex. 당근페이, 애플페이. 네이버페이, 삼성페이 등) 이러한 게 많이 나왔다. 알아두면 좋을 것 같다. 보통 국내에선 휴대폰 단말기로 결제를 할 때, MST(마그네틱 보안 전송 방식)과 IC 칩 방식의 단말기를 사용한다. MST 방식은 신용카드를 긁어서 결제하고, IC 칩은 카드를 꽂아서 사용하는 방법이다. 1. MPM (Merchant Presented Mode) 방식 (QR 방식) "가맹점 제시 방법" 이라고 불린다. 가맹점주의 QR 코드를 소비자가 휴대폰으로 읽어내는 방식이다. 즉, 매장에서 제공하는 QR 코드를 소비자가 스마트폰으로 찍은 후, 결제 금.. 2023. 9. 16. [안드로이드] java. lang. NullPointerException: Attempt to invoke interface method 'int java.lang. CharSequence.Length()' on a null object reference (SwitchCompat Error) 오늘 만난 Error 이다. API 호환성을 위하여 AppComapat 위주로 뷰를 짜다가 겪은 Error 엿다. 왜 이러지? 하면서 Switch 로 바꿔보니, 역시나 상위 뷰가 AppCompat 이다보니, Switch 뷰를 사용할 수 없었다.. 사실 해결방법은 쉬웠다. SwitchCompat 뷰에서 속성을 넣어줘야 했던 부분을 내가 넣어주지 않아서 발생한 거였다. 계속 의아하긴 했었다.. 아니 무슨 CharSequence.length() 가 null 이지? 뷰를 만드는데, 왜 문자 시퀀스 길이를 체크하고 그게 널이라고 뜨는 걸까? Text 를 넣어줘야하는 게 아닌가? 라는 생각이 이어졌다. 결과적으로, andorid:textOff 와 android:textOn 속성을 넣어주면 된다. 그러면 정상적으로 .. 2023. 9. 4. [안드로이드] Circle ImageView 원형 이미지 (Custom ImageView, ShapeableImageView, CircleImageView) 원형 이미지를 만드는 방법은 여러가지가 존재한다. 평소에 나는 ImageView 를 커스텀해서 원형 이미지로 만들어 사용했다. 하지만, 이번에 개발 과제하다가 ShapeableImageView 가 있다는 걸 알게 되면서(🙄너무 늦게 알았다 하하..) Circle ImageView 를 만드는 여러가지 방법을 정리해도 좋다 생각하여 글을 적게 됐다. 1. Custom ImageView res/drawable 파일 내에 shape(Circle) 태그를 만든 Resource file 을 만들기. 만들고 난 뒤, ImageView 에 연결시켜주면 된다. 아래 링크가 자세히 나와있으니, 보고 하면 될 것 같다. https://www.geeksforgeeks.org/how-to-create-a-circular-ima.. 2023. 8. 31. [안드로이드] 커스텀 Switch (thumb 이미지 넣기, track 사이즈 조정) 이번 회사 개발과제에서 Switch 를 커스텀해서 만들어야 하는데 원하는대로 만들어지지 않아 고생한 걸 기록할 생각이다. Switch 는, 클릭시 Flag (true/false) 를 이용하여 on/off 를 할 수 있는 뷰다. Switch 는 Custom 을 하지 않을 경우는 아래와 같다. 내가 구현해야 할 디자이너가 만들어준 Switch 는 아래와 같다. 위와 같이 Custom Switch 를 만들기 위해서 필요한 파일은 아래와 같다. 일단, track 이랑 thumb 개념은 알고 있을 것이다. track 은 스위치에 길다란 부분이다. 그리고 돌출된 원형이 thumb 이다. shape_switch_thumb_off.xml => Vector 이미지 (디자이너가 만든 이미지를 svg 로 Import) sh.. 2023. 8. 31. [안드로이드] Error. You need to use a Theme.AppCompat theme (or descendant) with this activity. 커뮤니케이션 문제가 발생했었다. QA 프리징 기간에 코드를 수정하여 develop 브랜치에 push 를 했는데, 정기배포에 해당 커밋내용이 빠져버렸다. 역시나 이슈가 발생했다. 그래서 수정한 코드를 재반영한 긴급배포를 진행하고, Crashlitics 을 통해 모니터링하는 도중에 위와 같은 Crash 가 발생했다. You need to use a Theme.AppCompat theme (or descendant) with this activity. 위 에러는 말 그대로 M Theme.AppCompat 으로 해당 Activity 를 변경해서 사용하라는 말이다. 'You need to use a Theme.AppCompat theme (or descendant) with this activity.' Activ.. 2023. 8. 31. [안드로이드] xml 파일 id 속성값이 지속적인 에러가 발생한다면? Cannot resolve symbol '@+id/' 오류 이번 이슈는 사실 개발하는 도중에 10분 정도 까먹었다.. 그래서 이렇게 블로그에 올리고자 한다. xml 작업 중에 ConstraintLayout 으로 뷰 작업을 하는데 id 값을 가지고 연결하는 과정에서 계속 android:id 가 빨간색 하이라이트가 쳐졌다. 안드로이드 스튜디오가 인식을 못할 땐 뭐다? Clean Project 를 실행하자. 내 상황에서는 빌드한 상태에서 작업을 하는 도중에 발생했다. 빌드를 정지하고 Clean Project 를 하면 id 값이 정상적으로 무얼 입력하던 빨간색 하이라이트가 안 쳐질 것이다. 어처구니 없는 걸로 시간낭비한 게 아까워서 이렇게 작성한다... + 추가로 rebuild, invalidate Cache .. 2023. 8. 30. [안드로이드] org.threeten.bp.zone.ZoneRulesException: No time-zone data files registered 위 에러는 Android API 26(android 8.0 오레오 버전) 미만 에서 java.time 패키지를 사용할 떄 발생하는 오류다. 안드로이드 버전마다 지원 범위가 다를 수 있으므로, 사용하려는 기기의 안드로이드 버전에 따라 지원 여부를 확인하는 것이 중요하다. https://developer.android.com/reference/java/time/package-summary java.time | Android Developers developer.android.com 위 document 를 확인해보면 Added in API level 26 이라고 적혀있다. 즉, API 26 이상부터 java.time 패키지를 이용할 수 있다는 말이다. 그렇다면? 26 이전 버전은 못 사용할까? 아니다. 두 가.. 2023. 8. 18. 이전 1 2 3 4 5 6 ··· 30 다음