안드로이드/개발 공부 6

[Android / Kotlin] 안드로이드 14 Notification Ongoing 속성 동작 변경

[Android / Kotlin] 안드로이드 14 Notification Ongoing 속성 동작 변경 Android 14 이전 버전 까지는 알림(Notification)을 생성할 때 Ongoing 옵션을 true로 설정한다면 사용자의 동작에 의해 지워지지 않도록 설정 할 수 있었습니다. 하지만 Android 14가 업데이트 되며 이러한 동작을 변경하여 SDK 버전과 상관 없이 사용자가 알람을 스와이프한다면 지워지도록 변경되었습니다. 기기가 잠겨있거나 알림 모두 지우기 버튼 클릭 시에는 지워지지 않는다고 합니다. 자세한 내용은 아래 링크를 확인해보세요. 참고 https://developer.android.com/about/versions/14/behavior-changes-all?hl=ko#non-dis..

[Android / Kotlin] Naver, Github Oauth2 (ACCESSTOKEN 발급)

[Android / Kotlin] Naver, Github Oauth2 (ACCESSTOKEN 발급) 이번 게시글에서는 프로젝트 진행 중 사용한 안드로이드에서 NAVER와 깃허브 Oauth2를 통해 AccessToken을 발급받는 방법을 정리할 것 입니다. NAVER Oauth2 프로젝트를 진행하면서 Naver Oauth2를 이용해 로그인 처리를 하기 위해 아래와 같은 순서를 거쳤습니다. 1. naver developer 어플리케이션 등록 2. 라이브러리 설정 (dependency 및 naver sdk 설정) - https://developers.naver.com/docs/login/android/android.md 3. 네아로 SDK 초기화 NaverIdLoginSDK.initialize(require..

[Android/Kotlin] Room 이용 로컬 DB에 사용자 정의 자료형 및 리스트 추가(@Embed, @TypeConverter)

Room 이용 로컬 DB에 사용자 정의 자료형 및 리스트 추가(@Embed, @TypeConverter) 안드로이드에서는 로컬 DB로 sqlite를 사용한다. 보통 Room 라이브러리를 통해 이를 사용하는데 기본 자료형 외 사용자 정의 자료형이나 리스트 자료형 등을 저장할 때 아래와 같이 오류가 발생한다. 이를 해결하고 로컬 DB에 저장할 수 있는 방법을 알아보자. 발생 오류 error: Cannot figure out how to save this field into database. You can consider adding a type converter for it. 사용자 정의 자료형 추가 (@Embeded) 사용자 정의 자료형을 로컬 DB에 추가하려 할 때, 해당하는 필드 앞에 @Embeded를..

[Android/Kotlin] Kotlin 코드에서 LinearLayout에 동적으로 Custom Layout(<include />) 추가

안드로이드 개발 중에 코틀린 코드 상에서 LinearLayout에 동적으로 Custom Layout을 추가해야했다. 이 때 사용한 코드를 기술한다. 먼저, AppCompatActivity.getSystemService()를 통해 LayoutInflater를 얻어온다. val layoutInflater = this.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater 얻어온 LayoutInflater를 통해 추가(include)할 커스텀 레이아웃을 얻어온다. val customLayout = layoutInflater.inflate(R.layout.custom_layout, null) 커스텀 레이아웃 내부 뷰는 findViewById를 통..

[Android/Kotlin] 문자열을 이용한 Resource 지정

코틀린 코드에서 일반적으로 resource를 id를 통해 지정한다. 예를들어 텍스트뷰의 배경을 setBackgroundResource로 지정할 때 아래 코드와 같이 지정한다. textView.setBackgroundResource(R.drawable.drawable_0) textView.setBackgroundResource(R.drawable.drawable_1) textView.setBackgroundResource(R.drawable.drawable_2) textView.setBackgroundResource(R.drawable.drawable_3) textView.setBackgroundResource(R.drawable.drawable_4) textView.setBackgroundResource..

반응형