
최근 몇 년 간, 안드로이드의 백그라운드 작업에 변화가 있었고, API 레벨23 부터 Doze 모드가 추가되었다. 묵시적(implicit) 인텐트가 제한되었고, 백그라운드 동작에도 제한이 생겼다. 대부분의 새로운 솔루션은 오래된 안드로이드 버전에서는 동작하지 않을 것이고, 이전의 솔루션들은 새로운 안드로이드 버전에서 동작하지 않을 것이다. 이 글에서는 백그라운드에서 블루투스를 스캔하기 위한 두 개의 전략을 알아볼 것이다. API 26 이전과 이후의 버전 말이다. API 레벨 26(오레오) 이전 버전에서의 백그라운드 작업 알람 매니저, Broadcast Receiver와 함께 서비스를 사용 브로드캐스트 리시버는 알람을 깨워 서비스를 시작하게 함 API 레벨 26 이상부터는 앱이 종료된 상태에서 서비스를 시..

요약: 프로덕션 트랙 출시와 상관없이 내부 테스트 트랙을 통해 먼저 베타 출시를 할 수 있다. 앱을 출시하기 전에 먼저 마켓에 올린 apk 혹은 aab파일이 기기에 정상적으로 설치되고 여러 기능들이 잘 동작하는지 테스트해보고 싶었다. 그래서 알아보던 중 을 통해 정식 출시 전 내가 정해둔 테스터들에 한해서 베타 테스트를 할 수 있다는 사실을 확인했다. 구글 플레이에는 여러 테스트 트랙이 있는데, 각 테스트 트랙에 대한 설명은 이곳에서 확인할 수 있다. 그 중 내부 테스트 트랙은 아래와 같이 설명되어 있다. 초기 품질 보증 검사를 위해 최대 100명의 테스터에게 앱을 빠르게 배포하는 내부 테스트 버전을 만듭니다. 앱을 비공개 또는 공개 트랙으로 출시하기 전에 내부 테스트를 실행하는 것이 좋습니다. 필요한 ..

지금의 회사로 들어오고 나서 잠시 플러터 프로젝트에 투입이 되었었다. 네이티브 앱 개발 경험밖에 없던 나로서는 조금 당황스러웠다. Dart라는 언어와 플러터 프레임워크를 배워야함은 물론, 플러터로 경력을 쌓게 되었을 때의 불확실성 때문이었다. 당시에는 정말 고민이 많았다. 다시 구직을 해야되는 걸까 이런 고민을 포함해서 플러터를 하면 뭐가 좋을까에 대해서도 많이 고민하고 알아보았다. 결과적으로는 한 달 정도의 기간 동안 스터디와 간단한 기능 구현을 진행하다가 휴직중이었던 팀장님이 복직을 하시면서 네이티브 개발에 재배치가 되었다. 플러터에 대해 알아보면서 '이거 재미있겠는데?'라고 생각하게 된건 플러터로 만든 여러 앱들을 다운받아보면서였다. 그 때 느낀 인상은 아래와 같다. 1. 성능이 우수하다. (빠르다..

Context는 무엇인가 애플리케이션의 현재 상태에 대한 문맥이다. application 혹은 activity의 정보를 가져올 수 있다. resource, database, shared preference 등에 접근할 수 있다. Application, Activity 클래스는 모두 Context 클래스를 상속받는다. 안드로이드 개발을 한다면 수도없이 마주치는 Context. 기본적인 부분이지만 잘못사용하면 앱의 메모리 누수를 야기시킬 수 있다. Context를 사전에서 검색해보면 우리말로 '문맥' 혹은 '전후사정'이라는 말에 해당된다. 바꿔말하면 이야기 전체 흐름 안에서 현재 오고가는 주제라고 할 수 있겠다. 하나의 대화를 예로 들어보자. 이야기의 흐름은 국회의원선거로 시작이 되었다. 이것이 전체 문맥에..
- Total
- Today
- Yesterday
- 안드로이드
- 알고리즘
- 디버깅
- Regex
- 문과생개발자
- 프로그래머스
- 개발자취업
- 멘토에게묻다
- 건조기
- software craftmanship
- 소프트웨어장인
- 건조기설치
- 정규표현식
- 정규식
- 소프트웨어 장인
- 비전공개발자
- 괄호 종류
- 서평
- 스타트업
- 개발자
- 이사
- 세탁기설치
- 알고리즘 풀이
- 프로그래머의길멘토에게묻다
- 알고리즘풀이
- 이직
- 세탁기
- 프로그래머의길
- 멘토에게 묻다
- 프로그래머의 길
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |