728x90
반응형

Android 47

[View binding]

View binding이란? View와 상호작용하는 코드를 쉽게 작성할 수 있도록 도와주는 기능입니다. 앱 모듈에서 View binding 기능을 활성화하면, 모듈 내의 각각의 XML 레이아웃 파일에 대한 바인딩 클래스를 자동적으로 생성합니다. 바인딩 클래스의 인스턴스를 통해 레이아웃에 존재하는 모든 View들을 ID로 직접 참조할 수 있습니다. View binding vs findViewById View binding에는 findViewById에 비해 다음과 같은 장점이 있습니다. Null safety: View binding은 view에 대한 직접참조를 생성하기 때문에 Null pointer exception에 대한 위험이 없습니다. 또한, 레이아웃의 일부 configuration에만 view가 있는..

Android/Study 2022.08.12

[이미지 처리] Glide 라이브러리

Glide 라이브러리란? Bump라는 앱에서 내부적으로 이용하다가 구글이 인수해서 공개한 라이브러리입니다. 모든 종류의 이미지를 가능한 한 빠르게 가져와서 이용할 수 있도록 합니다. 이미지의 크기 조정, 로딩 이미지, 오류 이미지 표시 등을 쉽게 구현도록 지원합니다. 서버에서 이미지를 내려받을 때 Volley나 Retrofit보다 더 빠르게 처리합니다. 라이브러리 등록 dependencies { ... implementation 'com.github.bumptech.glide:glide:4.12.0' } 이미지를 가져와서 출력하기 //리소스 이미지 출력 Glide.with(this) .load(R.drawable.seoul) .into(binding.resultView) //서버 이미지 출력 Glide...

Android/Study 2022.05.18

[HTTP 통신] REST(Representational State Transfer)

REST(Representational State Transfer)란? HTTP 프로토콜 기반으로 URI를 통해 자원을 명시하고 HTTP Method(GET, POST, PUT, DELETE, HEAD)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미합니다. 자원 기반의 구조(ROA, Resource Oriented Architecture) 설계의 중심에 Resource가 있고 HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍쳐입니다. 이미지, 텍스트, DB 내용 등 모든 자원에 고유한 ID인 HTTP URI를 부여하기 때문에 URI만 보고도 Client와 Server가 어떤 자원을 요청하고 있는지를 직관적으로 알 수 있습니다. 장점 HTTP 프로토콜의 인프..

Android/Study 2022.05.18

[HTTP 통신] Volley와 Retrofit2 라이브러리

Volley와 Retrofit2는 안드로이드에서 네트워킹을 돕는 라이브러리입니다. 기본적으로 HTTP 통신을 위해 매니페스트에 인터넷 권한을 추가해줘야 합니다. 1. Volley 라이브러리 Volley는 2013년 구글 IO 행사에서 공개된 라이브러리로, 안드로이드 앱의 네트워킹을 더 쉽고 빠르게 해주는 라이브러리입니다. UI를 채우기 위해 필요한 RPC(Remote Procedure call) 유형의 작업을 할 때 유용합니다. String, 이미지, JSON 타입을 사용할 수 있습니다. 기본적으로 HTTP Client는 HttpURLConnection입니다. * RPC(Remote Procedure call) 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간서 함수나 프로시저를 실행할 수 있게하는 프..

Android/Study 2022.05.17

음악 스트리밍 앱 개발하기

Side Project - Music Streaming App 음악 리스트를 보여주고 선택한 음악을 재생할 수 있는 음악 스트리밍 앱 Github -> https://github.com/hwayeon351/Music-Streaming-App GitHub - hwayeon351/Music-Streaming-App Contribute to hwayeon351/Music-Streaming-App development by creating an account on GitHub. github.com 공부한 내용 Group 재생목록 화면과 재생 화면을 구성하는 View들을 그룹으로 나누어서 Visible 값을 번갈아가며 적용해서 화면을 전환하는 듯한 효과를 주기 위해서 Group을 사용했다. Group은 참조한 위..

음악 스트리밍 앱 개발하기

Side Project - Music Streaming App 음악 리스트를 보여주고 선택한 음악을 재생할 수 있는 음악 스트리밍 앱 Github -> https://github.com/hwayeon351/Music-Streaming-App GitHub - hwayeon351/Music-Streaming-App Contribute to hwayeon351/Music-Streaming-App development by creating an account on GitHub. github.com 공부한 내용 ListAdapter와 DiffUtil ListAdapter는 RecyclerView에서 리스트 데이터를 나타내기 위한 RecyclerView.Adapter 베이스 클래스이다. ListAdapter는 백그..

Youtube 앱 개발하기

Side Project - Youtube 영상의 목록을 보여주고 영상을 플레이하는 유튜브의 간단한 기능을 구현한 프로젝트 Github -> https://github.com/hwayeon351/Youtube GitHub - hwayeon351/Youtube Contribute to hwayeon351/Youtube development by creating an account on GitHub. github.com 학습 회고 오늘은 ExoPlayer를 사용해서 영상 리스트 중 하나를 선택하면 영상을 플레이하고 멈추고, 종료하는 로직을 구현하였다. 오늘 공부한 내용 ExoPlayer ExoPlayer는 Android SDK에서 별도로 배포되는 오픈 라이브러리이다. ExoPlayer는 안드로이드 환경에서 미..

Youtube 앱 개발하기

Side Project - Youtube 영상의 목록을 보여주고 영상을 플레이하는 유튜브의 간단한 기능을 구현한 프로젝트 Github -> https://github.com/hwayeon351/Youtube GitHub - hwayeon351/Youtube Contribute to hwayeon351/Youtube development by creating an account on GitHub. github.com 학습 회고 오늘은 레트로핏 서비스 객체를 통해 비디오 데이터를 받아오고 RecyclerView에 데이터를 적용하였다. 오늘 공부한 내용 Glide 라이브러리 레트로핏 서비스 객체를 통해 받아온 비디어 데이터를 RecyclerView에 적용하는 과정에서 Thumbnail 이미지를 이미지 뷰에 적..

Youtube 앱 개발하기

Side Project - Youtube 영상의 목록을 보여주고 영상을 플레이하는 유튜브의 간단한 기능을 구현한 프로젝트 Github -> https://github.com/hwayeon351/Youtube GitHub - hwayeon351/Youtube Contribute to hwayeon351/Youtube development by creating an account on GitHub. github.com 학습 회고 오늘은 유튜브 앱에 띄울 영상 리스트를 mocky를 활용해 임의 데이터를 만들고 Retrofit2 라이브러리를 통해 데이터를 받아왔다. 오늘 공부한 내용 mock 데이터 만들기 구글에 dummy video를 검색해서 구글에서 제공하는 비디오를 가져오는 JSON 형식을 제공하는 Git..

Youtube 앱 개발하기

Side Project - Youtube 영상의 목록을 보여주고 영상을 플레이하는 유튜브의 간단한 기능을 구현한 프로젝트 Github -> https://github.com/hwayeon351/Youtube GitHub - hwayeon351/Youtube Contribute to hwayeon351/Youtube development by creating an account on GitHub. github.com 학습 회고 오늘은 어제에 이어 MotionLayout을 이용해서 화면 전환 UI를 구성하였다. 오늘 공부한 내용 MotionScene MotionScene은 하나 이상의 Transition 요소가 포함되고 각 요소는 모션 시퀀스의 시작과 종료 상태, 두 상태간의 전환, 또는 모션의 중간 상태를..

728x90
반응형