Android
-
이번에 외주로 맡고있는 서비스의 안드로이드 앱 API를 33으로 업데이트하며 겪은 문제 중 하나다. 지금이야 서버나 데이터베이스 위주로 맡고있지만 이 외주서비스는 내가 안드로이드, 아이폰 앱개발, 일부 서버, 데이터베이스를 맡았기 때문에 간혹 내가 들어갈 일이 있다. 기존에는 개인폰이 플립4 이기도 했고 테스트용으로 갖고있는 것들이 있어서 emulator를 쓸일이 없었다. 하지만 이번에 아이폰으로 넘어가면서 emulator를 사용하게 되었다. 이러저러한 수정 후에 공지사항 상세보기 화면에서 문제가 발생했다. 해당 이미지는 1398 x 14,430 사이즈와 5,262,092 바이트(대략 5MB) 의 용량을 가지고 있었다. 다른 사진은 되는데 왜 이 사진은 같은 GlideApp 객체를 이용해서 같은 도메인에..
emulator에서 glide로 사진을 불러오지 못할 때 해결방법이번에 외주로 맡고있는 서비스의 안드로이드 앱 API를 33으로 업데이트하며 겪은 문제 중 하나다. 지금이야 서버나 데이터베이스 위주로 맡고있지만 이 외주서비스는 내가 안드로이드, 아이폰 앱개발, 일부 서버, 데이터베이스를 맡았기 때문에 간혹 내가 들어갈 일이 있다. 기존에는 개인폰이 플립4 이기도 했고 테스트용으로 갖고있는 것들이 있어서 emulator를 쓸일이 없었다. 하지만 이번에 아이폰으로 넘어가면서 emulator를 사용하게 되었다. 이러저러한 수정 후에 공지사항 상세보기 화면에서 문제가 발생했다. 해당 이미지는 1398 x 14,430 사이즈와 5,262,092 바이트(대략 5MB) 의 용량을 가지고 있었다. 다른 사진은 되는데 왜 이 사진은 같은 GlideApp 객체를 이용해서 같은 도메인에..
2023.06.22 -
클라이언트에게 배포할 앱을 개발하며 문제가 생겼었다. 5분단위로 푸시가 발송되는데 어느순간 최신푸시가 안오고 멈춘다는 것이었다. Android 10(Q - API29) 부터 기존 50개에서 24개로 줄어들었다는 내용이 검색되긴 하는데 확신하진 못하겠다.. 테스트폰은 갤럭시 s10, flip4 그리고 기종은 잘모르는 클라이언트 폰들인데 공통적으로 24개이상일 때 푸시가 갱신이 안되는다는 내용이었다. 해결법은 간단하지만 서버에서도 작업을 해줘야 한다. 1. 서버파트 회사에서는 node.js + typescript 를 이용하고 있기지만 그리 어렵지 않게 이해할 수 있을 것이다. const message: TokenMessage = { data: pushData, token: doc['fcmToken'] as ..
푸시알람 24개 이상 띄워져서 최신 푸시가 안보일 때 해결방법클라이언트에게 배포할 앱을 개발하며 문제가 생겼었다. 5분단위로 푸시가 발송되는데 어느순간 최신푸시가 안오고 멈춘다는 것이었다. Android 10(Q - API29) 부터 기존 50개에서 24개로 줄어들었다는 내용이 검색되긴 하는데 확신하진 못하겠다.. 테스트폰은 갤럭시 s10, flip4 그리고 기종은 잘모르는 클라이언트 폰들인데 공통적으로 24개이상일 때 푸시가 갱신이 안되는다는 내용이었다. 해결법은 간단하지만 서버에서도 작업을 해줘야 한다. 1. 서버파트 회사에서는 node.js + typescript 를 이용하고 있기지만 그리 어렵지 않게 이해할 수 있을 것이다. const message: TokenMessage = { data: pushData, token: doc['fcmToken'] as ..
2023.04.08 -
... ... 내가 개발하던 앱중 하나의 Activity에서 위와 같은 레이아웃 구조를 가지고 있었다. 그런데 NestedScrollView 안에 Button을 눌러서 기능을 실행할때 두번을 눌러야 실행이 되었다. NestedScrollView안의 내용이 짧아서 스크롤이 필요없이 모든 view가 보인다면 두번 누를필요없이 바로 실행이 된다. 단. 내용이 길어져서 Button이 스크롤해야 보이게 되는 경우, 무조건 두번을 눌러야한다. 검색을 해보다 지쳐가던중, 한개의 게시글을 발견했다. https://stackoverflow.com/questions/31829976/onclick-method-not-working-properly-after-nestedscrollview-scrolled 사용자 Mihuilk..
NestedScrollView에서 버튼을 두번 클릭해야 작동하는 경우 해결방법... ... 내가 개발하던 앱중 하나의 Activity에서 위와 같은 레이아웃 구조를 가지고 있었다. 그런데 NestedScrollView 안에 Button을 눌러서 기능을 실행할때 두번을 눌러야 실행이 되었다. NestedScrollView안의 내용이 짧아서 스크롤이 필요없이 모든 view가 보인다면 두번 누를필요없이 바로 실행이 된다. 단. 내용이 길어져서 Button이 스크롤해야 보이게 되는 경우, 무조건 두번을 눌러야한다. 검색을 해보다 지쳐가던중, 한개의 게시글을 발견했다. https://stackoverflow.com/questions/31829976/onclick-method-not-working-properly-after-nestedscrollview-scrolled 사용자 Mihuilk..
2018.04.14 -
위와 같은 형태로 CollapsingToolbarLayout을 짜고 스크롤에 따라 Toolbar의 Collapsing을 구현한다. 기본적으로 CollapsingToolbarLayout 에는 layout_scrollFlags를, Toolbar에는 layout_collapseMode를 설정해야한다. 이렇게 했는데도 Toolbar의 Collapsing이 작동하지 않는다면 스크롤 가능한 View(etc. RecyclerView, NestedScrollView)를 감싸줄 Layout이 있으면 된다. 1. RecyclerView 나같은 경우에는 refresh기능이 필요했기에 RecyclerView를 SwipeRefreshLayout로 감싸주었다. SwipeRefreshLayou..
CollapsingToolbarLayout의 적용팁(?)위와 같은 형태로 CollapsingToolbarLayout을 짜고 스크롤에 따라 Toolbar의 Collapsing을 구현한다. 기본적으로 CollapsingToolbarLayout 에는 layout_scrollFlags를, Toolbar에는 layout_collapseMode를 설정해야한다. 이렇게 했는데도 Toolbar의 Collapsing이 작동하지 않는다면 스크롤 가능한 View(etc. RecyclerView, NestedScrollView)를 감싸줄 Layout이 있으면 된다. 1. RecyclerView 나같은 경우에는 refresh기능이 필요했기에 RecyclerView를 SwipeRefreshLayout로 감싸주었다. SwipeRefreshLayou..
2018.03.22 -
관련링크 - https://stackoverflow.com/a/12147550/5241949 검색중에 제일 깔끔해보이는 함수를 가져왔다. public static float dpFromPx(final Context context, final float px) { return px / context.getResources().getDisplayMetrics().density; } public static float pxFromDp(final Context context, final float dp) { return dp * context.getResources().getDisplayMetrics().density; } 차이점을 보면 원하는 값을 나누느냐 곱하느냐의 차이.
Android pixel to dp관련링크 - https://stackoverflow.com/a/12147550/5241949 검색중에 제일 깔끔해보이는 함수를 가져왔다. public static float dpFromPx(final Context context, final float px) { return px / context.getResources().getDisplayMetrics().density; } public static float pxFromDp(final Context context, final float dp) { return dp * context.getResources().getDisplayMetrics().density; } 차이점을 보면 원하는 값을 나누느냐 곱하느냐의 차이.
2018.03.07 -
RecyclerView에 아이템을 추가할 때, 데이터를 불러오고 있다는 표시를 해야할 때 사용하는 방법. 처음에는 https://gist.github.com/nesquena/d09dc68ff07e845cc622 을 사용했었다. 그렇지만 Loading Progress를 보여주는데 있어서 시행착오를 겪다가 다른 방법을 찾아보게되었다. https://stackoverflow.com/questions/30681905/adding-items-to-endless-scroll-recyclerview-with-progressbar-at-bottom 위 링크에서는 EndlessRecyclerOnScrollListener를 사용하는데 문제가 있다고 한다. item을 추가할 때 해당 item에 대한 정보를 알수 없고 개수를..
RecyclerView의 Loading Progress 보여주기RecyclerView에 아이템을 추가할 때, 데이터를 불러오고 있다는 표시를 해야할 때 사용하는 방법. 처음에는 https://gist.github.com/nesquena/d09dc68ff07e845cc622 을 사용했었다. 그렇지만 Loading Progress를 보여주는데 있어서 시행착오를 겪다가 다른 방법을 찾아보게되었다. https://stackoverflow.com/questions/30681905/adding-items-to-endless-scroll-recyclerview-with-progressbar-at-bottom 위 링크에서는 EndlessRecyclerOnScrollListener를 사용하는데 문제가 있다고 한다. item을 추가할 때 해당 item에 대한 정보를 알수 없고 개수를..
2018.02.28