Reco.dy
close
프로필 배경
프로필 로고

Reco.dy

    • 분류 전체보기
      • Android
      • Kotlin
      • RxJava
      • Git
      • 활동
  • mode_edit_outline글작성
  • settings환경설정
  • 홈
  • 태그
  • 방명록
[Android] Android 생명주기와 Task 관리

[Android] Android 생명주기와 Task 관리

간단하게 Android의 Activity 라이프 사이클에 대해 정리하고 그중 onStart()와 onResume()이 구체적으로 어떤 차이가 있는지 알아보고자 합니다. 또한, Task에 관해서도 간단히 공부해보려고 합니다. 1. Activity LifeCycle 안드로이드를 공부해 봤다면 반드시 한 번쯤 봤을 그림입니다. 바로 Activity 라이프사이클에 대한 그림인데요. 이미 많은 사람들이 잘 알고 있지만, 복습 겸 한번 더 정리해보고자 합니다. onCreate() 액티비티가 생성되는 시점에 실행되며, 전체 생명 주기 동안 한 번만 발생합니다. 보통 OnCreate에서는 XML 파일을 정의하고 setContentView()에 전달하는 대신, 활동 코드에 새로운 View 객체를 생성하고 새로운 View..

  • format_list_bulleted Android
  • · 2024. 2. 1.
  • textsms
[Android] android:exported는 무엇일까?

[Android] android:exported는 무엇일까?

최근 면접을 보면서 최신 기술에 대해 공부하기 급급한 나머지, 안드로이드의 기본적인 지식을 놓치고 있다는 것을 알게 되어 이참에 다시 공부해보고자 합니다. manifest에 입력하는 exported가 어떤 역할을 하는지에 대한 질문이었으나, 정확하게 답변하지 못해 알아보도록 하겠습니다. 1. android:exported 란 우선, 공식문서를 확인해 보면 android:exported 속성은 다른 애플리케이션에서 안드로이드 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버)를 실행할 수 있는지에 대한 설정을 하는 역할을 합니다. true인 경우, 모든 앱이 활동에 액세스 할 수 있으며, 정확한 클래스 이름으로 시작할 수 있다. false인 경우, 동일한 애플리케이션, 동일한 사용자 ID를 가진 애플리케이션..

  • format_list_bulleted Android
  • · 2024. 1. 29.
  • textsms

[Android] Retrofit에 CallAdapter를 적용하여 원하는 응답을 받아보자

Android 개발을 해봤다면 네트워크 통신을 위해 Retrofit 라이브러리를 사용해 봤을 것입니다. Retrofit은 HTTP API에 대해 직접적인 조작 없이 인터페이스를 사용하여 쉽게 요청을 보낼 수 있고 응답 결과를 자바 오브젝트로 변환해 주는 라이브러리입니다. 기본 Retrofit만으로 응답을 받을 수 있지만, 정확하고 구체적으로 에러를 핸들링하고 싶다면 어떻게 해야 할까요?! 바로 CallAdapter를 적용하여 원하는 형태로 응답을 얻을 수 있습니다. 1. CallAdapter란 Adapts a Call with response type R into the type of T. Instances are created by a factory which is installed into the R..

  • format_list_bulleted Android
  • · 2023. 10. 27.
  • textsms
[Android] EditText에 InputFilter 적용이 안될 때

[Android] EditText에 InputFilter 적용이 안될 때

EditText를 이용할 때 입력 문자에 제한을 두어야 할 때가 있습니다. 한글만 입력이 가능하게 한거나, 특수문자 입력을 막거나 할 때 등등 보통 InputFilter를 사용하여 입력을 막도록 하는데요 최근에 개발하다가 Filter 조건을 잘 걸었지만 이상하게 동작하는 현상이 발견돼서 기록해보려고 합니다!!! 1. InputFilter EditText에서 InputFilter를 사용하여 특정 문자 입력을 제한, 문자열 길이 제한 조건 설정을 할 수 있습니다. fun EditText.filterDigitAndSpecialChar() { this.filters = arrayOf( InputFilter { source, start, end, dest, dstart, dend -> val pattern = "..

  • format_list_bulleted Android
  • · 2023. 9. 13.
  • textsms
[Android] Jetpack Compose에서 Toast Message를 Custom 할 수 있을까?

[Android] Jetpack Compose에서 Toast Message를 Custom 할 수 있을까?

때론 디자인에 따라 Toast 위젯 디자인을 커스텀해야 하는 경우가 있습니다. 최근 사이드 프로젝트에서 Jetpack Compose로 Toast 위젯을 커스텀해야 하는 경우가 생겨 이번 기회에 알아보려고 합니다! 1. 기존에 사용한 Toast Message Custom //Toast 위젯 상속 class CustomToast(context: Context) : Toast(context) { } //객체 생성 Toast(context).apply { view = toastLayout setGravity(Gravity.CENTER,0,0) } 기존에는 Toast 위젯를 상속받는 Class를 통해 Customview를 생성하거나, 객체를 생성하여 setView(), setGravitiy() 등 다양한 속성값을..

  • format_list_bulleted Android
  • · 2023. 6. 19.
  • textsms
[Android] Jetpack Compose에서 TextField는 어떻게 커스텀 할까?

[Android] Jetpack Compose에서 TextField는 어떻게 커스텀 할까?

검색이나 값을 사용자로부터 입력받아야 하는 경우 xml에서는 EditText를 사용해 왔습니다. Compose에서는 TextField라는 것을 사용합니다. TextField는 어떻게 커스텀할 수 있을까요? 1. TextField 먼저, TextField에 대해 간단히 알아보도록 하겠습니다. @Composable fun TextField( value: TextFieldValue, onValueChange: (TextFieldValue) -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, readOnly: Boolean = false, textStyle: TextStyle = LocalTextStyle.current, label: @Compos..

  • format_list_bulleted Android
  • · 2023. 6. 6.
  • textsms
[Android] 화면 터치 여부를 작동하는 dispatchTouchEvent는 어떻게 작동할까

[Android] 화면 터치 여부를 작동하는 dispatchTouchEvent는 어떻게 작동할까

안드로이드 개발을 하다보면 상황에 따라 화면 터치 여부를 파악하거나 이벤트를 추가해야하는 경우가 있는데요! onTouchEvent(), onClick 등 많이 사용해보았지만 내부 구조에까지는 알지 못했던 것 같아 뷰 계층 구조를 통해 터치 이벤트가 흐르는 방식에 대해 정리해보려고 합니다. 1. MotionEvent 간단하게 MotionEvent 종류에 대해 다시 한번 정리 해보도록 하겠습니다. ACTION_DOWN : 손가락 또는 물체가 화면에 처음 접촉할 때 발생하는 이벤트입니다. 이벤트에는 제스처의 초기 시작 위치가 포함됩니다. ACTION_UP : 손가락 또는 물체가 화면에서 떼어질 때 발생하는 이벤트입니다. 제스처의 최종 놓은 위치가 포함됩니다. ACTION_MOVE : ACTION_DOWN과 A..

  • format_list_bulleted Android
  • · 2023. 5. 24.
  • textsms
[Android] Jetpack Compose로 Android Widget은 어떻게 개발할까?

[Android] Jetpack Compose로 Android Widget은 어떻게 개발할까?

최근에 서버 개발자분이 안드로이드 위젯에 관한 질문을 주셔서 알아보다가 JetPack Compose에서는 어떻게 위젯을 만드는지에 대한 궁금증이 생겼습니다. 어떤 라이브러리를 사용하고 어떻게 개발하는지 알아보려고 합니다! 1. Glance 라이브러리 추가 implementation "androidx.glance:glance-appwidget:1.0.0-alpha05" 우선, 앱 위젯을 사용하기 위한 라이브러리를 추가해 줍니다. (아직 Jetpack용 Glance는 알파 버전만 출시된 상황입니다.) Glance는 선언형 Kotlin API를 제공하므로, 훨씬 적은 코드로 보기에도 좋고 반응이 빠른 앱 위젯을 빌드할 수 있다고 합니다. 해당 라이브러리를 사용해보니 compileSdk가 33인 곳에서 실행이 ..

  • format_list_bulleted Android
  • · 2023. 3. 16.
  • textsms
[Android] collectAsStateWithLifecycle를 이용하여 라이프사이클에 맞게 Flow 수집해보자!(feat. jetpack Compose)

[Android] collectAsStateWithLifecycle를 이용하여 라이프사이클에 맞게 Flow 수집해보자!(feat. jetpack Compose)

지난 글에 CoroutineScope에 따라 생명주기에 따라 맞추어 사용하는 방법에 대해 알아보았는데요, 이번에는 Jetpack Compose에서 라이프사이클에 맞게 Flow를 수집하는 방법에 대해 알아보려고 합니다! 1. collectAsStateWithLifecycle 세팅하기 dependencies { implementation "androidx.lifecycle:lifecycle-runtime-compose:2.6.0-alpha01" } 프로젝트에서 사용하기 위해서는 androidx.lifecycle.lifecycle-runtime-compose 아티팩트를 추가해야 합니다. 또한, 아직 알파 단계 API이기 때문에 사용 시, ExperimentalLifecycleComposeApi 어노테이션을 추..

  • format_list_bulleted Android
  • · 2023. 3. 1.
  • textsms
[Android] 안드로이드 생체 인식 인증 구현해보기!

[Android] 안드로이드 생체 인식 인증 구현해보기!

대다수의 앱에서 로그인이나 중요한 인증이 필요한 경우 비밀번호가 아닌 얼굴 인식, 지문 인식 같은 생체 인식 인증을 요청하는 방법을 사용하는데요, 오늘은 안드로이드 프로젝트에 어떻게 적용하는지 공부해보려고 합니다! 어떤 라이브러리를 사용하고 어떻게 프로젝트에 적용하는지 알아보도록 하겠습니다. 어떤 라이브러리를 사용하는가? 안드로이드 생체 인식을 위한 라이브러리는 두 가지가 존재합니다. 바로 FingerPrintManager와 BiometricPrompt 입니다. - FingerPrintManager : API 레벨 23 ~27 - BiometricPrompt : API 레벨 28 이상 AndroidX 생체 인식 라이브러리를 사용하기 전에는 자체 인증 UI를 만들어야 했지만, AndroidX로 이전을 통해..

  • format_list_bulleted Android
  • · 2022. 12. 8.
  • textsms
  • «
  • 1
  • 2
  • »
공지사항
전체 카테고리
  • 분류 전체보기
    • Android
    • Kotlin
    • RxJava
    • Git
    • 활동
최근 글
인기 글
최근 댓글
태그
  • #repeatOnLifeCycle
  • #android
  • #appWidget
  • #suspendCancellableCoroutine
  • #Coroutine
  • #composeUI
  • #basictextfield
  • #java
  • #Flow
  • #Rxjava
  • #개발동아리
  • #BiometricPrompt
  • #Kotlin
  • #suspendCoroutine
  • #Jetpack Compose
  • #InputFilter
  • #git-fork
  • #git client
  • #Compose
  • #callbackFlow
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바