| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- java
- memory leak
- compose
- programmers
- 알고리즘
- 삽질로그
- Android
- 구현
- BFS
- ARRANGEMENT
- JetpackCompose
- Inner Class
- Alignment
- broadcastAsUser
- FCM
- 프로그래머스
- hidden-api
- NextPermutaion
- Today
- Total
목록Android (5)
undefined
compose를 사용하다면 Column과 Row를 자주 사용하게 된다. 이 때 하위 뷰 들을 정렬하는 방식을 선택해야 하는데 종종 헷갈리는 옵션들이 있어서 정리를 해보기로 했다. Arrangement와 Alignment의 역할Arrangement와 Alignment은 역할에 차이가 있는데- Arrangement는 부모 내에서 자식들 간의 공간 배치를 설정하는데, 자식들 간의 간격을 설정하는데 많이 사용한다.- Alignment는 부모 내의 자식들을 정렬할 때 사용하는데, 위로 정렬, 가운데 정렬 처럼 자식들을 어떤 기준점에 맞춰 나열할 때 사용한다. ArrangementHorizontal Arrangement 은 Row에서 사용하며Vertical Arrangement 은 Column에서 사용한다 다음은..
오류 해결을 위해 hidden-api 파일을 수정해야 했던 적이 있다. 검색을 해봤지만 의문투성이였던 이 파일의 역할을 정리해본다. hidden-api 를 검색하면 hidden-api.xml 파일은 Android 프레임워크에 포함된 Java API 중에서 개발자가 사용해서는 안 되는 API를 나열합니다. 이 파일에는 다음과 같은 API가 포함될 수 있습니다. 라고 나온다. 개발 중인 API 안정적이지 않은 API 향후 버전의 Android에서 제거될 API 를 정의하는 파일이라고 하는데.. 여기에 api를 정의하지 않으면 jar에서 api를 찾지 못했다. 이 당시 나는 굉장히 혼란스러웠는데 1. 왜... 프레임워크에 있는 소스 그대로 뽑아서 만든 jar파일인데 함수를 못찾아...? 2. 아니 사용하면 안..
시스템 애플리케이션, 그리고 일반 애플리케이션에서 동일한 동작을 수행하려고 할 때 '사용자' 에 따라서 권한 문제가 발생할 수 있다. 오류 해결을 위해 찾아봤던 내용들을 잊어버릴 것 같아 정리해두기로 했다. 오류 내용 : ~ android.permission.INTERACT_ACROSS_USERS_FULL~이었던 것 같다 서비스에서 브로드캐스트를 sendBroadcastAsUser(intent, UserHandle.USER_ALL)로 보내고 있었다. 이때 권한을 가지고 있지 않은 애플리케이션이 이 브로드캐스트를 받으면서 때 앱이 죽는 문제가 발생했다. 용어 이 오류를 해결하기 위해서 먼저 헷갈렸던 용어에 대해서 정리를 해보았다. 시스템 사용자 - 시스템 프로세스와 서비스가 사용하는 사용자 더보기 로그인한..
fcm 기능을 구현하면서 공식문서의 애매한 설명때문에 많은 시간을 날린? 나를 위해 구현했던 방법을 간략하게 정리해보려고 한다. FCM 메시지 유형 fcm은 알림 메시지(notification)과, 데이터 메시지(data) 두 가지를 지원한다. 공식문서에는 이 두 메시지의 차이를 이렇게 설명한다. 요약하자면, 메시지를 보낼 때 넘길수 있는 값은 "notification", "data"가 있는데, 앱이 백그라운드에 있는 경우 "notification"만 넘기거나, "notification" 과 "data"를 모두 넘기는 경우에는 onMessageReceived()가 호출되지 않는다 는 얘기다. (이걸 제대로 읽었어야 했다) 나는 백그라운드에서도 받은 데이터를 가지고 알림을 띄워주어야 했기 때문에 fcm메시..
근래 가장 나를 힘들게 했던 문제가 있었다. 아마 나중에 또 만나게 될 것 같아서 정리해보려고 한다. 이번에 구현해야 하는 기능 중 하나는 특정 주기마다 백그라운드에서 작업을 하고 완료되면 사용자에게 팝업으로 알리는 것이었다. 그냥 팝업을 띄우는 데 까지는 크게 어려움이 없었다. 하지만 해결하기 어려웠던 문제 중 하나가 바로 팝업이 중첩되었을 때 비정상적인 동작을 하는 것이었다. 대략, 특정 동작이 완료되면 -> 서비스를 실행하고, 조건에 맞는 분기를 타서 -> 뷰를 뿌려주고 -> 사용자의 동작에 따른 작업 + 뷰 닫기+ 서비스 종료 와 같은 프로세스를 타는 기능이다. 그런데 마지막 팝업의 닫기가 동작하지 않았다 (뷰의 다른 버튼들이나 창 드래그는 잘 됐다. 하지만 이 문제의 뷰는 재부팅 할 때 까지 사..