들어가기 드디어 안드로이드에서 Access Token이 만료되었을 때와 Refresh Token 만료되었을 때 처리하는 방법에 대해 소개할 차례다!! Access Token과 Refresh Token이 어떤 프로세스로 동작하는지 잘 모르시는 분들은 🧐 Access Token과 Refresh Token이란 무엇이고 왜 필요할까?(https://velog.io/@chuu1019/Access-Token%EA%B3%BC-Refresh-Token%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%EC%99%9C-%ED%95%84%EC%9A%94%ED%95%A0%EA%B9%8C)) ← 이 글을 먼저 보고 오는 게 좋을 것 같습니다! 생각보다 글이 길어져서 Access Token
배경 이전 시리즈에서는 이미지를 drawable 폴더에 저장한 후에, 해당 파일에서 이미지를 꺼내와서 이미지를 보여줬습니다. 하지만 이미지를 프로젝트 폴더 내부에 저장해놓고 사용하는 것이 아니라 백엔드 혹은 클라우드로부터 받아서 이미지를 뿌리는 경우도 많습니다. 따라서 이번에는 인터넷을 통해 이미지 주소로 이미지 파일을 가져와 뿌려주는 방식으로 Recyclerview를 보여주는 과정을 보여드리도록 하겠습니다. Image Loader 라이브러리 google에 android image loader로 검색하면 여러가지 image loader library를 보실 수 있습니다. 그런데 왜 인터넷을 통해 image를 받아올 때 image loader library를 사용해야할까요? 왜냐햐면 im
Jetpack Compose Jetpack Compose는 새롭게 등장한 안드로이드 네이티브 UI 개발 도구다. 기존의 xml을 대체한 선언형(declarative) UI로 UI 개발을 간소화하고 가속화한 도구이다. 즉, 고성능 발휘와 맞춤 레이아웃을 쉽게 작성하기 위해 만들어졌다. 0. 초기 세팅 새 프로젝트 생성 상단바 File > New > New Project를 들어가 Empty Compose Activity를 선택하여 새 안드로이드 프로젝트를 만듭니다. 앱 이름과 package name은 자유롭게 적으면 됩니다. 보통 package는 주소 거꾸로 + 앱이름 조합을 사용하는데, 저는 주소가 없으므로 그냥 제 github 이름과 앱이름 조합으로 만들었습니다. Fini
0. 에러 코드 이동 위와 같이 Exception in initializer error가 발생했다. 바로 파란색 글씨를 따라 에러 발생 원인을 찾으러 가봤다. TimelineContent 함수에서 diaryList 변수 사용하면서 발생한 에러였다. 다시 말해, 근본적으로 fatal Exception을 일으킨 것은 diaryList 변수였다. diaryList는 dummy 데이터였다. 여기서 문제가 발생할 줄 상상도 못했다. 영어 그대로 초기화 문제인가 싶어서 봤지만 역시나 초기화는 잘 되어있었다. 모를땐 구글링이니 빠르게 구글링을 시도했다. 1. Error 구글링 구글에 java.lang.ExceptionInInitializerError로 검색하자 spring 관련 환
Jetpack Compose Jetpack Compose는 새롭게 등장한 안드로이드 네이티브 UI 개발 도구다. 기존의 xml을 대체한 선언형(declarative) UI로 UI 개발을 간소화하고 가속화한 도구이다. 결과물 맨 위 gif가 Jetpack Compose를 이용해 Bottom Navigation Bar를 만든 결과물입니다. 배경 선언형 UI는 기존에 SwiftUI나 Flutter가 사용하고 있었다고 합니다. 최근 동향이 선언형 UI로 바뀌고 있는 것 같아 새 프로젝트에 적용해보며 포스팅을 해보기로 결심했습니다. 추후에 Jetpack Compose의 장점을 다루도록 하고 오늘은 Jetpack Compose로 Bottom Navigation 만드는 과정을 적어보도록 하겠습니다. 1. New Project에서 Empty Compose Activity를 선택하여 새 안드로이드 프로젝트를 만듭니다. ![](https://v