목록android (10)
개발자 블로그
뭐 대부분의 문제가 그렇겠지만, 이 문제 역시 바보 같은 나의 실수 때문에 발생한 문제였다. RecyclerView.Adapter의 getItemCount() 함수만 호출 안되는 것이 아니고, 다른 override 함수들인 onCreateViewHolder(), onBindViewHolder() 함수 역시 모두 호출이 되지 않았다. 브레이크 포인트를 걸어보고, 로그를 찍어봤지만 역시 호출이 안된다는 것이 확인됐다. 구글링을 해보면 LayoutManager 설정을 빼먹은게 아니냐는 글이 많고, 실제로 가끔 겪는 실수이긴한데, 이번에는 그 문제가 아니었다. 그리고 LayoutManager 설정을 빼먹었을 때는 Logcat 메시지에 아래 이미지처럼 친절하게 알려준다. 이번에 getItemCount()를 비롯해..
당겨서 새로고침을 위해서 사용하는 SwipeRefreshLayout은 일반적으로 RecyclerView와 함께 사용하는 경우가 많지만, 이번에는 ScrollView로 감싸고 있는 내용을 새로고침 하기위해서 SwipeRefreshLayout을 사용하는 방법을 설명하려고 한다. 그냥 단순하게 ScrollView를 SwipeRefreshLayout으로 감싸기만 해서는 원하는 대로 동작하지 않는다. 아래로 스크롤은 정상적으로 동작하지만 다시 위로 올리기 위해서 Swipe Down 터치 동작을 하게 되면 ScrollView의 스크롤 업 대신에 SwipeRefreshLayout의 Refresh 동작이 트리거 되기 때문이다. 일단 레이아웃은 아래와 같다. 그냥 단순히 ScrollView를 SwipeRefreshLay..
구글 플레이 스토어에 앱을 등록하기 위해서는 앱에 광고가 포함되어있는지 여부를 반드시 알려야 한다. 근데 앱에 광고를 안 넣었는데도 아래 이미지처럼 플레이 스토어에서 광고 SDK가 포함되어있다고 알리는 경우가 있어서 해결방법을 공유하려고 한다. 이 앱에는 광고가 없지만 "앱에 광고 SDK가 있습니다"라고 경고 표시가 보인다. 물론 "아니요, 앱에 광고가 없습니다."를 선택하고 넘어가면 되긴하지만.. 저 경고 표시가 너무 신경쓰여서 견딜수가 없다. gradle 의존성을 살펴보면 "com.google.android.gms:play-service-ads-identifier:17.0.0@aar"이 포함되어있는걸 볼 수 있다. 이 것 때문에 광고 SDK가 포함되어있다고 경고가 표시된 것 같다. 앱 수준의 buil..
기존 프로젝트에서는 이상이 없었는데, 최근에 만든 프로젝트에서는 '@string/appbar_scrolling_view_behavior'를 인식할 수 없다고 뜬다. 해결방법은 간단하다. 안드로이드 스튜디오에서 app 수준의 build.gradle 파일을 오픈한 뒤 dependencies에 아래 라인을 추가해준다. implementation "com.android.support:design:29.0.0" 그런다음 "Sync"를 수행하면 깔끔하게 해결!
요즘.. 이 아니지. 이미 한참 전 부터 안드로이드 개발자에게 RxJava와 mvvm은 채용 시 필수조건이 된 듯 하다. RxJava는 배우기가 어렵다고 하던데 실제로 책을 보니 그 이유를 알겠다. 기본적으로 패더다임의 변화에 적응을 해야 된다. C언어의 절차적 프로그래밍에 익숙한 사람이 객체지향적인 사고방식에 익숙해지는데 시간이 걸리는 것 처럼 RxJava 역시 마찬가지인 것 같다. 함수형 프로그래밍이라는 새로운 패러다임에 익숙해져야 한다. (사실 함수형 프로그래밍이 요즘 나온 새로운 개념은 아니다.) 전에는 일본인 저자가 쓴 RxJava 책을 봤는데 너무 딱딱해서 이번에는 (RxAndroid까지 다루고 있다고 하니) 한국인 저자가 쓴 이 책을 보게 되었다. RxJava 관련 내용이 대부분이고 RxAn..
웹사이트 또는 블로그를 운영중인 사람이라면 "리퍼러(Referrer)"가 무엇인지는 이미 알고 있을거라고 생각한다. (잘 모르면 아래 링크 클릭!)위키백과 - HTTP 리퍼러간단하게 말하면 방문객이 어떤 경로로 유입되었는지 알 수 있는 정보다. 웹사이트 관리자라면 잘 알고 있을것이고, 지금 글을 작성하고 있는 티스토리 블로그에서도 관리자 페이지를 통해 이 정보를 볼 수 있다.아래 이미지는 티스토리 블로그의 관리자 페이지 > 통계 > 경로 > 유입로그를 캡처한 화면.저기서 빨간색으로 표시한 것은 web을 통한 방문이 아니라 스마트폰의 구글 검색 위젯을 통해 들어온 유입니다.내가 구현하려고 하는 것도 저것과 비슷한거고. 리퍼러를 추가하려는 Activity. 단순한 도움말 화면이다. 여기에 리퍼러를 추가하려는..
최근 앱 업데이트를 끝내고 다음 프로젝트를 시작하기 전에 공부를 좀 했다. 나이들고 느끼는거지만 공부가 쉽다는 말. 어느정도 공감한다. 그냥 도서관에서 책 보고 있으니깐 참 좋더라. 머리 아픈 일도 없고.뭐.. 여담은 여기가지 하고, 이번에 새로운 개발 언어를 공부했다. 안드로이드 공식 개발 언어로 선택된 코틀린(kotlin).swift로 아이폰 앱 개발을 하지 않았더라면 아마 코틀린을 배워야겠다는 생각을 안했을 것 같은데, swift 언어를 사용하다보니 java 언어에는 없는 최신 문법(?)들이 많이 아쉬웠다. swift의 extension, optional, guard, 클로져 같은것들. 코틀린 언어에 대해서 살펴보니깐 이런 부족한 부분들을 모두 채워줄 수 있는 언어라는 생각이 들어서 이번에 공부하게..
Google Play에서 앱 업데이트 버전을 출시하려고 했더니 갑자기 "새로운 권한"이 추가되었다고 경고를 보여준다. '음.. 뭐지??' 신규 Activity는 추가 했어도 권한(permission)을 추가한적은 없는것 같은데..??특히나 READ_PHONE_STATE 권한은 "위험한 권한"으로 분류되기 때문에 사용자의 명시적인 권한 부여가 필요하다. 안드로이드 권한 그룹 ☞ https://developer.android.com/guide/topics/security/permissions.html?hl=ko#normal-dangerous 혹시나 싶어서 AndroidManifest.xml 파일을 확인해 봤지만, "android.permission.READ_PHONE_STATE" 권한은 아래 코드에서 확인할..
지금 사용중인 넥서스5X의 OS를 8.1.0 버전으로 업데이트 한지 한 달 정도? 지난 것 같은데, 아래와 같은 시스템 업데이트 알림이 떴다.벌써 새로운 버전이 나왔나? 하고 봤는데 버전이 이미 업데이트 적용한 버전인 8.1.0이라고 써있다. 이게 뭐지..? 난 분명 8.1.0 버전으로 업데이트를 했는데?? 혹시나 싶어서 [휴대전화 정보]에 들어가서 [Android 버전]을 확인해 봤는데, 역시 버전은 8.1.0이 맞다. 이스터에그도 8.1 버전에서 변경된 오레오로 표시되고 귀여운 문어도 돌아다닌다. (귀여운 문어는 8.0 버전에서도 있었던 것 같다.) 알림 메시지를 터치했더니 자세한 변경사항은 안알려준다. 흠..-_-;예전 같으면 그냥 별 생각없이 업데이트 했을껀데, 얼마전 애플의 성능제한 패치 때문에..
I have summarized the information related to the screenshots of the smartphone that I have checked by my phone and friends. For reference, the source code for Android screenshots can be found at the link below. https://github.com/aosp-mirror/platform_frameworks_base/blob/master/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java#L97 Device OS Version Directory File name 1..