분류 전체보기 1203

Android NotificationListenerService

말 그대로 notification의 정보를 가져와서 쓸 수 있는 기능입니다. Notification 즉 push알람의 내용을 수집한다는 것인데, 카카오톡 대화도 push알람으로 오면 다 수집이 가능합니다. 때문에 앱에서 임의로 권한을 획득할 수 없고, 사용자가 설정에서 획득해줘야 합니다. manifest에서 선언해주고 권한 체크 후 onNotificationPosted에서 패키지명이나 텍스트, 노티 아이콘들을 받아올 수 있습니다. -- 참조 https://developer.android.com/reference/android/service/notification/NotificationListenerService.html NotificationListenerService | Android Developer..

Android(Kotlin) 2021.11.04

kotlin scope function

kotlin scope function에 관한 것입니다. let with run apply also와 같은 scope(범위) function 인데, 이 부분을 한번 무엇인지 살펴보고 가겠습니다. 우선을 이런 기능들을 코드를 효율적으로 짜고, 가독성을 높이거나 코드량을 줄이기 위해 사용하는데, 이게 뭔지 보시면 간단하게 also를 사용해봤습니다. 간단하게 하나를 봤는데, 대부분 이 친구들을 비슷비슷한 기능을 합니다. 공식문서에서는 어떻게 설명하고 있냐하면 To help you choose the right scope function for your case, we'll describe them in detail and provide usage recommendations. Technically, funct..

Android(Kotlin) 2021.10.31

kotlin object 싱글톤

코틀린에서 object를 공부하다보면 싱글톤이라는 단어를 만나게 됩니다. 객체를 1개만 생성되도록 한다. 라고 적혀있는데, 어떤 의미인지 보면 아래와 같이 코드로 볼 수 있습니다. 그리고 companion object라는 것을 볼 수 있는데 이 부분을 어떻게 사용하냐 하면 companion object를 사용한다면 아래와 같이 해줄 수 있습니다. 싱글톤의 단점은 테스트하기 힘들고, 객체지향 원칙에 어긋납니다.

Android(Kotlin) 2021.10.29

제네릭과 제네릭함수

제네릭부터 한번 보고 가겠습니다. 제네릭을 왜 사용하는지 부터 한번 보면 컴파일시에 타입 체크를 할 수 있다. 타입 캐스팅이 필요없다. 라고 하는데, 코드를 읽을 때 알아서 컴파일러가 타입을 체크해주고, 타입 캐스팅이 필요없다는 부분을 한번 보겠습니다. 코틀린 공식 문서에 대해서 한번 쭉 훑어보면 아래와 같습니다. 그리고 generic function을 알아보면 위와 같이 할 수 있습니다. - 참조 https://junyoung-developer.tistory.com/83 [Kotlin] 제네릭(Generic) 모든 내용은 Do it! 코틀린 프로그래밍을 바탕으로 정리한 것입니다. 제네릭(Generic) : 클래스 내부에서 사용할 자료형을 인스턴스를 생성할 때 확정하는 것 자료형의 객체들을 다루는 메서드..

Android(Kotlin) 2021.10.29

고차함수

고차함수란, 함수를 파라미터로 전달받는 함수나 함수를 리턴하는 함수를 말합니다. 고차함수를 보기 전에 unit을 한번 보고 가겠습니다. java에서 void를 의미한다고 보면 되는데, 자바를 해본적 없으신 분들은 아무 값도 리턴하지 않는다 라는 뜻으로 받아들이시면 됩니다. 아래와 같이 사용할 수 있습니다. 그리고 원래 하려던 고차함수를 실행해보면 f(f(x)) = x와 같은 형태입니다. 간단하게 sum이라는 함수에 람다식을 넣어보겠습니다. 람다식이 아니라면, 아래와 같이 사용해줄 수 있습니다. unit의 경우 아래와 같이 해줄 수 있습니다. -- 참조 https://velog.io/@jewelrykim/Kotlin-%EA%B3%A0%EC%B0%A8%ED%95%A8%EC%88%98%EC%99%80-%EB%..

Android(Kotlin) 2021.10.28