728x90

자바

8

Foreground Service 실행하기

 Service는 백그라운드에서 오래 실행되는 작업을 수행할 수 있는 어플리케이션 구성 요소이다. 음악을 재생하거나 파일 I/O를 수행하는 등 콘텐츠 제공자와의 상호작용을 백그라운드에서 수행할 수 있다. Foreground service 권한 요청 Android 9 (API level 28) 이상을 타깃으로 하는 앱은 반드시 FOREGROUND_SERVICE 권한을 요청해야한다. 이 권한은 중요도가 낮기 때문에 따로 사용자에게 요구할 필요 없이 자동으로 부여된다. ... Foreground service 시작 서비스를 실행하도록 인텐트에 담아 요청한다. Kotlin Code Kotlin Code val intent = Intent(...) // 서비스 인텐트 startForegroundService(i..

Android 2022.01.20 moonsu

코딩 테스트 :: 기출문제와 풀이 (2)

코딩 테스트를 대비한 기출문제와 풀이 문제 한 숫자가 다른 숫자의 '접두어'인 경우 있는지 확인하기 1. String[] book는 번호를 담은 배열이다. 0번, 1번, ..., n번 째 값이 다른 값의 '접두어'인 경우 false를, 그렇지 않다면 true를 return 한다. ex) book ["11", "74543", "11253432"] false; ["34", "67345", "2543"] true ["43", "432", "43216634"] false 더보기 import java.util.Arrays; class Solution { public boolean solution(String[] book) { boolean answer = true; Arrays.sort(book); for(int..

알고리즘, 자료구조/Coding Test 2021.01.31 moonsu

상수와 리터럴

상수(constant)와 리터럴(literal)이란 무엇이고 어떻게 다를까? 1. 상수 (constant) 상수란 변하지 않는 값이다.하지만 프로그래밍을 처음 배울 땐 int 타입의 변수를 상수로 지정해 값을 변경하게 하지 못하는 예제를 주로 접해 상수는 r-value 를 지칭한다던가 숫자만 넣어야 한다는 오해를 하곤 한다. 상수는 변하지 않는 변수이다. 아래 예제와 같은 경우 final int A = 50; 상수는 변하지 않는 변수 즉, A를 지칭한다. 변수는 int, string 타입의 간단한 데이터가 올 수도 있지만 구조체, 클래스 등의 객체 값으로도 사용될 수 있다. 그래서 이러한 객체를 갖는 변수를 상수화 했을 때, 객체 내 데이터까지 변하지 않는다고 착각하는 경우가 있지만 참조한 주소를 변경할..

프로그래밍 용어 2020.10.15 moonsu

안드로이드 스튜디오 :: Broadcast 에 권한 부여하기

안드로이드 스튜디오 :: Broadcast Receiver 안드로이드 스튜디오 :: Broadcast 전송하기 브로드캐스트에 특정 권한을 부여해 제한할 수 있다. 권한은 브로드캐스트 발신자, 수신자 모두 적용해 제한할 수 있다. 1. 권한을 사용해 전송하기 sendBroadcast(Intent, String) 또는 sendOrderedBroadcast(Intent, String, BroadcastReceiver, Handler, int, String, Bundle) 를 호출할 때 권한 매개변수를 지정할 수 있다. 예를 들어 다음 코드는 메세지 발송 권한이 필요한 브로드캐스트를 전송한다. 더보기 sendBroadcast(new Intent("com.example.NOTIFY"), Manifest.permi..

Android/공통 2020.10.14 moonsu

안드로이드 스튜디오 :: Broadcast 전송하기

안드로이드 스튜디오 :: Broadcast Receiver 브로드캐스트 전송 안드로이드 앱에서 브로드캐스트를 전송하는 방법으로 다음 세 가지를 제공한다. 1. sendBroadcast(Intent) 가장 일반적인 브로드캐스트, 순서에 상관 없이 모든 수신자에게 브로드캐스트를 전송한다. 상당히 효율적이지만 수신자가 수신한 데이터를 전파하거나 중단할 수 없다. 2. sendOrderedBroadcast(Intent, String) 한 번에 하나의 수신자에게 브로드캐스트를 전송한다. 우선순위가 높은 순으로 진행되고 우선순위가 같다면 임의의 순서를 매긴다. 3. LocalBroadcastManager.sendBroadcast 발신자와 동일한 앱에 있는 수신자에 브로드캐스트를 전달한다. 앱 간에 전송할 필요가 없..

Android/공통 2020.10.14 moonsu

안드로이드 스튜디오 :: Broadcast Receiver

브로드캐스트 특정 상황에서 시스템이나 다른 앱으로 메세지를 주고 받을 수 있는 개념이 Broadcast 이다. 예를들어 기기는 재부팅 또는 충전 시작과 같은 다양한 이벤트가 발생할 때 시스템은 브로드캐스트를 전송한다. 이 때 내가 만든 앱에서 이것을 수신할 수 있다. '배터리가 15% 이하다!' 라는 시스템의 브로드캐스트 메세지를 수신받아 '절전' 상태로 변경해주는 앱을 만들 수 있다는 얘기다. 반대로 내가 메세지를 전송하는 것도 가능하다. 먼저 Broadcast 를 수신하기 위한 두 가지 방법을 소개한다. 첫째는 manifest에 선언하는것, 둘째는 context에 등록하는 것. 1. manifest 에 선언 manifest에서 다음과 같이 작성한다. (1) exported : 외부 앱이나 시스템에서 ..

Android/공통 2020.10.14 moonsu

안드로이드 스튜디오 :: Java :: 알림 만들기(Notification)

본 문서는 안드로이드 개발자 가이드 를 토대로 작성되었습니다. 안드로이드 스튜디오에서 알림 만들기 1. 지원 라이브러리 추가 알림 콘텐츠를 시작하려면 NotificationCompat.Builder 객체를 사용해야한다. 하지만 그 전에 NotificationCompat 을 사용하는데 필요한 종속 항목이 포함되어 있는지 확인해야한다. (안드로이드 스튜디오로 제작한 대부분의 프로젝트는 아래 항목이 포함되어 있다.) dependencies { // 작성일 기준이며, 버전은 계속 올라갈 수 있다. implementation 'androidx.appcompat:appcompat:1.2.0' } 2. 알림 설정 NotificationCompat.Builder 객체를 사용해 컨텐츠와 채널 그리고 기본적인 설정을 해줘..

Android/Java 2020.10.13 moonsu

안드로이드 스튜디오 :: Kotlin :: Activity(화면)간 값 전달하기

("안드로이드 스튜디오 :: Activity(화면) 전환하기 #1" 참조) 안드로이드 스튜디오에서 Activity간의 데이터(값)를 주는 방법을 알아보자 1. 테스트를 위해 전달할 값을 입력할 EditText필드 두 개와 전달 버튼 하나를 만들어준다. activity_main.xml id와 회원번호(number)를 입력할 EidtText필드와 2번째 액티비티를 생성시켜 값을 넘겨줄 버튼 1개 생성 안드로이드 스튜디오 :: 앱 만들기 기초 #3 (버튼 만들기) 2. 값을 전달받을 새로운 액티비티를 만든다. (1) File > New > Activity > Empty Activity를 클릭해서 새로운 액티비티를 추가한다. 액티비티를 추가하면 자동으로 관련 레이아웃 파일이 생성된다. 값을 제대로 전달받았는지 ..

Android/Kotlin 2020.06.22 moonsu
728x90
반응형