본문 바로가기
반응형

안드로이드96

[Android] 백그라운드 제약 안드로이드를 개발하다 보면 Background와 Foreground라는 단어를 접하게 됩니다. 이 두가지 개념을 잘 알고 있어야 하며 개발 시 너무도 많이 개발자와 싸우게 될 단어입니다. 안드로이드 앱은 기본적으로 액티비티, 서비스, 브로드캐스트 리시버, 콘텐츠 프로바이더 등 4개의 컴포넌트로 구성되는데 액티비티를 제외한 나머지 컴포넌트는 화면을 구현하는 용도가 아니라 백그라운드에서 작업을 처리할 목적으로 사용합니다. 예전에는 사용자가 앱을 실행해 화면이 출력된 적이 없는 상황에서도 서비스나 브로드캐스트 리시버로 백그라운드에서 작업을 처리할 수 있었지만 안드로이드 8버젼부터는 제약이 생겼습니다. 1) 리시버 백그라운드 제약 브로드캐스트 리시버의 백그라운드 제약은 sendBroadcast()함수로 인텐트를.. 2021. 11. 1.
[Android] 데이터 저장 SharedPreferences 안드로이드 Application을 개발하면서 간단한 데이터를 저장할 일이 자주 발생합니다. 예를 들어서 저는 사용자 동의 같은 간단한 기능에서 많이 사용하게 되는데요 Application이 초기에 구동되고 사용자 정보 동의에 대한 내용을 띄우고 사용자가 이에 동의를 했다고 한다면 두 번째 실행부터는 굳이 사용자에게 이 내용을 다시 보여주고 동의를 요청할 필요가 없습니다. 즉 이럴때에 SharedPreferences를 사용해서 동의 여부에 대한 내용을 저장하고 Application이 실행될 때 이 저장 정보를 불러와서 동의를 했다면 사용자 동의내용을 띄우지 않고 동의를 하지 않았다면 내용을 띄우는 방식으로 구현할 수 있습니다. 이뿐만이 아니라 기타 여러 가지 Application에서 저장해야 될 내용을 저.. 2021. 10. 20.
[Android] 핸들러란? 안드로이드 프로그램에서 필수적으로 사용되는 Handler란 무엇인지에 대해 정리하겠습니다. 핸들러에 알기 위해서는 먼저 스레드와 함께 생각을 해 보아야 합니다. 스레드는 하나의 프로세스 안에서 동시에 수행되어야 하는 작업을 위해 사용합니다. 자바에서 스레드를 학습해본 분이라면 접근이 더 쉬울 텐데요. 그 이유는 안드로이드 시스템의 스레드는 자바의 스레드 개념을 그대로 사용하기 때문입니다. 하지만 안드로이드 시스템에서 프로그램을 작성하는 개발자가 생성한 스레드는 UI 변경 등의 행동을 할 수가 없습니다. 그 이유는 UI를 관리하는 메인 스레드와 동시에 접근할 때 발생할 수 있는 문제를 사전에 방지하기 위해서 안드로이드 시스템에서 만들어놓은 안전기능입니다. 이러한 UI접근 등을 핸들러를 통해서는 가능하기 때.. 2021. 10. 13.
[Android] Foreground 안드로이드 시스템이 업데이트됨에 따라 OS가 슬립모드로 진입 시 백그라운드 등의 동작이 정지되도록 시스템이 변경되었습니다. 분명 사용자가 Application을 사용하지 않는 시점에서도 서비스가 돌아야 하거나 처리해야 되는 로직 등이 있다면 시스템이 슬립모드에 들어가더라도 동작해야 되겠지요. 하지만 현재 안드로이드 최신 OS에서는 그런 방법은 여러 가지 편법을 동원해서 우회하거나 하는 식의 방법을 쓰는 거 말고는 없는 것으로 보입니다. 그래서 Foreground를 활성화하는 방식을 사용해서 슬립모드에 들어가더라도 동작은 될 수가 있는데 단 한 가지 아쉬운 점은 Foreground실행 시에는 상태 표시줄에 Application이 표시된다는 점입니다. 현재 저는 Application 이름을 예로 들어 코딩 .. 2021. 10. 11.
[Android] NFC란? 최근 현대화되면서 많이 사용되는 NFC 기능. 이 NFC란 무엇인지 알아보겠습니다. NFC는 Near Field Communication의 약자로 단거리 무선 통신 기술의 일종입니다. 보통 1~4cm 이하의 거리에서 통신이 이루어진다고 보면 됩니다. 안드로이드에서 NFC는 NFC 태그와 안드로이드 장치 사이에서 적은 양의 데이터를 공유할 수 있도록 해줍니다. NFC통신 방식은 시작자와 타깃이으로 이루어집니다. 시작자는 능동적으로 RF 필드를 발생시키고 이 RF 필드는 타깃에 전원을 공급할 수 있습니다. 따라서 타깃은 전원장치가 없어도 되므로 아주 간단하게 제작이 가능합니다. 예를 들어서 태그, 스티커, 카드의 형태로도 제작이 가능하다는 것입니다. 1) NFC 특징 NFC의 가장 큰 특징은 연결 절차가 아.. 2021. 10. 8.
[Android] Http 통신 이번 시간에는 Android 시스템에서 Http 통신을 하는 방법에 대해 소개합니다. Http 통신을 하기 위해서는 먼저 Http Protocol이 무엇인지 선행학습이 되어 있어야 합니다. 먼저 Http Protocol에 대해 전부 다루기에는 양이 너무 많아지니 기본적으로 Get방식과 Post방식에 대해 간략하게 설명한 뒤에 Android에서 적용 시키는 방법을 알아보도록 하겠습니다. 1) GET과 POST GET 방식 먼저 GET방식이란 서버로부터 정보를 조회하기 위해 설계된 메서드입니다. GET은 서버로 요청을 전송할 때 데이터를 Body에 담아 보내지 않고 쿼리 스트링에 붙여 전송합니다. 이 말이 무엇이냐 하면 URL의 끝에?라는 구분자를 통해 데이터를 붙여 보내는 방식입니다. ? 구분자 뒤에는 ".. 2021. 10. 7.
반응형