본문 바로가기

ANDROID/Android 앱 프로그래밍35

[Android] 위젯 속성 지정하는 헷갈리는 코드 (feat. Kotlin) 개발을 하다보면 가끔 어.. 이 속성 코드로는 어떻게 지정하더라..? 하는 부분이 있어서 이 포스팅에 계속 정리해놓고 가끔 들여다 보려고 한다. FontFamily 코드로 지정 커스텀 font의 경우 res > font 폴더를 생성하고, 원하는 폰트 ttf 파일을 넣어준다. 그리고 font 폴더에 font.xml 파일을 만들어 폴더에 넣은 폰트들을 설정해주면 다음과 같이 사용할 수 있다. binding.tvDate.typeface = resources.getFont(R.font.~) ✅ 레이아웃 파일에서는 android:fontFamily="~" 이지만, 코드로 지정할 때는 typeface 속성을 사용함 TextSize 코드로 지정 Text의 크기의 단위는 sp로 지정하여 디바이스의 OS 설정의 글자 크.. 2022. 3. 4.
[Android] FCM 푸시 알림(Notification) 앞으로 개발하게 될 프로젝트에서 반복적이지만 간단한 푸시 알림 서비스를 사용하게 될 것 같아 개발 전 미리 FCM을 이용한 푸시 알림에 대해 공부하려고 포스팅을 작성하게 되었다. FCM Firebase 클라우드 메시징(FCM)은 무료로 메시지를 안정적으로 전송할 수 있는 교차 플랫폼 메시징 솔루션입니다. 알림 메시지 / 데이터 메시지 전송 다양한 메시지 타겟팅 : 단일 기기, 기기 그룹, 주제를 구독한 기기 등 3가지 방식으로 앱에 메시지를 배포할 수 있음 클라이언트 앱에서 메시지 전송 : FCM의 신뢰성 높고 배터리 효율적인 연결 채널을 사용하여 메시지를 보낼 수 있음 FCM vs. AlarmManager vs. WorkManager FCM : 네트워크 기반의 푸시 알람 서비스 👍 네트워크만 연결되어 .. 2022. 2. 7.
[Android] 백그라운드 작업 우선 WorkManager에 대해 알아보기 전에 Android의 백그라운드 처리에 대해 알아볼 것이다. 그리고 Jetpack의 WorkManager를 시작으로 다양한 백그라운드 작업 유형을 실습해보려고 한다. Android 백그라운드 처리 일반적으로 장기 실행 작업은 백그라운드 처리를 기본 원칙으로 한다. (ex. 비트맵 디코딩, 저장소 액세스, 머신러닝 모델 작업, 네트워크 요청) 백그라운드 작업은 Immediate (즉시) : 사용자가 App과 상호작용하는 동안 작업을 완료해야 하는 경우 Deferrable (정시) : 바로 처리할 필요가 없거나, 특정 작업을 정확한 시간에 실행해야 하는 경우 Long Running (지연) : 작업을 끝내는데 시간이 좀 걸리거나, 정확한 시간에 실행할 필요가 없는 .. 2022. 1. 27.
[Android] Context란? 안드로이드 개발을 하다보면 Context를 자주 사용하게 된다. 하지만 정확한 개념에 대해 알지 못하고 사용하고 있었고, 이번 포스팅을 통해 확실하게 이해하기 위해 Context에 대해 알아보고자 한다. Context Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as lau.. 2022. 1. 11.
[Android] Application 클래스 MVVM 패턴을 적용한 예제 코드를 보다보면 Application 클래스를 사용하는 경우가 있다. Application 클래스는 가장 큰 베이스 클래스라는 느낌은 오는데 정확하게 어떤 클래스인지 알아보고자 포스팅을 작성하게 되었다. Application 클래스 Global application 상태를 유지(maintain)하기 위한 Base class 하위 클래스를 만들고 이 하위 클래스의 정규화된 이름을 Manifest.xml의 태그에서 "android:name" 속성으로 지정해 고유한 구현을 제공할 수 있다. Application 클래스 또는 그 하위 클래스는 application/package에 대한 프로세스가 생성될 때 다른 클래스보다 먼저 인스턴스화 된다. ❇️ Application 클래스는 어.. 2022. 1. 10.
[Android] 뷰 바인딩(View Binding) in Activity, Fragment, RecyclerView View Binding에 대한 지식은 아래의 이전 포스팅을 참고하자! [지식] Kotlin Android Extensions deprecated 시간이 좀 지난 일이지만 개발 방식을 조금 바꾸게 되어 정리해본다. 안드로이드 4.1 버전에서 새로운 프로젝트 생성 시 기본 플러그인으로 제공하던 apply plugin: 'kotlin-android-extensions'이 제거되고, junyoung-developer.tistory.com 이번 포스팅은 View Binding을 이용한 구현 방법을 알아볼 예정이다. Activity, Fragment, RecyclerView, Dialog에서의 사용법을 순서대로 설명하며, 앞으로 여러 화면에서의 예시를 추가할 예정이다! View Binding을 사용하기에 앞서 bu.. 2021. 8. 10.
728x90