안드로이드
-
RxJava 예제 코드안드로이드 2019. 6. 3. 13:56
class UserRepository(val userApi: UserApi) { var cachedUsers = emptyList() fun getUsers(): Observable { if (cachedUsers.isEmpty()) { //Returning users from API return userApi.getUsers() .doOnNext { cachedUsers = it } } else { //Returning cached users first, and then API users return Observable.just(cachedUsers) .mergeWith(userApi.getUsers()) .doOnNext { cachedUsers = it } } } }
-
'이 앱은 SMS 및 CALL_LOG 권한 사용에 적용되는 Google Play 정책 변경사항의 영향을 받습니다.' 대응방안안드로이드 2019. 1. 4. 08:32
아래와 같은 경고 메시지를 받고, 대책에 들어갔습니다. 알림 - 이 앱은 정책 변경의 영향을 받습니다. 이 앱은 SMS 및 CALL_LOG 권한 사용에 적용되는 Google Play 정책 변경사항의 영향을 받습니다. 정책을 준수하지 않는 앱은 2019년 1월 9일에 Google Play에서 삭제될 수 있습니다. 메니페스트에서 통화 기록과 SMS 관련 기능을 제거하면 됩니다. 해당 기능은 아래와 같습니다. READ_CALL_LOG, WRITE_CALLl_LOG, PROCESS_OUTGOING_CALLS, READ_SMS, SEND_SMS, WRITE_SMS, RECEIVE_SMS, RECEIVE_WAP_PUSH, RECEIVE_MMS 문제는 저 경고가 뜬 앱에 해당 권한을 요청하고 있지 않다는 것이었습니다..
-
[안드로이드 파이 버전] 모든 통신을 https로 바꿔야 한다안드로이드 2018. 12. 9. 21:27
카카오톡 안드로이드 오픈톡방에서 방장이 요즘 경고하는 내용입니다. [안드로이드 팁]- 안드로이드 9.0 파이(Pie)에서 부터는 앱안에서 사용하는 모든 네트워크 주소를 https로 사용해야 합니다.- API서버 주소나, 이미지주소 경로가 http로 되어있다면 오류가 발생해서 해당 기능이 실행되지 않습니다.위의 오류에 대한 내용과 해결방법에 대한 글입니다. 아직 안드로이드 9.0 파이버전이 정식배포되지 않아서 이 오류를 발견하신분들은 많지 않을것입니다.지금까지 우리는 마시멜로우, 오레오 등으로 OS를 업데이트할때마다 여러 이슈들에 맞닥뜨린 경험이 많았습니다.그래서 저는 파이버전이 미리 배포되기전에 직접 제 폰을 업데이트해서 앞으로 발생할 이슈가 없는지 체크해보았습니다.(삼성 멤버스앱에서 베타 프로그램에 가..
-
안드로이드 카카오 SDK 보안 취약점 (교차 앱 스크립팅) 경고 대응방안안드로이드 2018. 11. 5. 16:41
서비스하는 안드로이드 앱의 플레이스토어 콘솔에서 다음과 같은 경고가 떴습니다. 보안 알림교차 앱 스크립팅에 취약한 WebView가 앱에 포함되어 있습니다. 자세한 내용은 Google 고객센터 도움말을 확인하세요.취약한 클래스:com.kakao.auth.authorization.authcode.KakaoWebViewActivity->initUi문제 해결 기한: 02/06/2019 교차 앱 스크립팅 공격에 취약한 클래스가 카카오 모듈 속에 있으므로 개선하라는 명령입니다.데드라인까지 개선하지 않을 경우 해당 앱의 업데이트가 거절된다는 경고 또한 있었습니다. 찾아본 결과 카카오톡에서 취약점을 픽스한 버전을 이미 배포한 상태였습니다. https://devtalk.kakao.com/t/sdk/61319 안녕하세요,..
-
애드몹 admob getting an ad response. ErrorCode: 0 Failed to load ad:0안드로이드 2018. 10. 5. 00:03
요즘 일부 안드로이드 기종 애드몹이 admob getting an ad response. ErrorCode: 0 Failed to load ad:0 라는 에러를 뿜으며 전혀 출력되지 않는 현상이 발견되었습니다. 이런 현상을 겪는 현상은 삼성 갤럭시 7, 8 , 9 였으며, 모두 API 26 (오레오) 기종이라는 공통점도 있었습니다. 구글 애드몹 샘플 앱을 포함한 구글 플레이스토어의 모든 앱에서 해당 기종은, 애드몹을 전혀 출력하지 않는 현상을 보여주었습니다. 보상형, 전면, 배너 모두. 해당 내용을 애드몹 커뮤니티에 문의해 보며 지속적으로 대화를 나눈 결과, 다음과 같은 답변을 들을 수 있었습니다. Hi, Thank you for the new information provided. Given that ..
-
Android Oreo 백그라운드 서비스 제한 이전 개발안드로이드 2018. 9. 20. 14:29
Oreo에서 백그라운드 서비스에 크게 제한이 걸리면서 해당 부분을 대응해야 할 필요성이 생겼습니다. 서포트 라이브러리의 JobIntentService가 오레오와 비 오레오를 캐치해서 처리해 주기에,JobIntentService를 이용해 처리하는 것도 연동을 시도해 보았습니다. 하지만 일단 JobIntentService는 루프를 돌며 지속적으로 서치하는 쪽에는 어울리지도 않고,무엇보다 어플리케이션이 DEAD 상태가 되면 죽어 버리더라고요. 차라리 포그라운드 상태로 전환하는 쪽으로 판단해서 해당방식으로 진행했습니다. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationManager notificationManager = (Notificatio..
-
안드로이드 httpurlconnection,으로 이미지 전송하기안드로이드 2018. 8. 2. 21:53
HttpURLConnection 을 이용할 때는 주의해야 할 점이 몇 개 있습니다. - mimetype을 수동으로 지정해 주어야 합니다.- 일부 초고화질 사진은 업로드 시 서버가 처리하지 못하는 문제가 있습니다. 거기에 exif 정보가 사진을 촬영할때 들어가기에... 그대로 올려 버리면 서버가 적절하게 이미지를 회전시키지 못하는 경우가 있습니다. 서버가 적절한 라이브러리를 찾지 못하는 탓이긴 하지만..피차 좋게좋게 가려면 리사이징을 해줄 필요는 있습니다. 이미지랑 같이 보낼 파라미터 매핑, 이미지 파일 경로, 이미지의 파일 이름, 이미지의 파일 마임맵까지 첨부한 것. public String multipartRequest(String urlTo, Map params, String filepath, Str..