본문 바로가기

전체 글

(9)
중고거래 앱 (bottomNavigationView, Firebase, Fragment) 주요 기능 Firebase Authentication 을 사용해 로그인 / 회원가입 기능 구현 회원 기반으로 중고거래 아이템 등록 Firebase Storage 를 사용해 아이템 등록 시 사진 업로드 회원 기반으로 채팅 화면 구현 Fragment 를 사용해 하단 탭 화면 구조 구현 FloatingActionButton 사용 사용 기술 RecyclerView View Binding Fragment BottomNavigationView Firebase Storage Firebase Realtime Database Firebase Authentication Glide 라이브러리 추가 Project/build.gradle dependencies { classpath "com.google.gms:google-se..
틴더 앱 (Firebase, Swipe Animation 라이브러리) Firebase Authentication 을 사용해 이메일로 회원가입하고 로그인할 수 있고, 가입된 회원들 간에 좋아요와 싫어요를 바탕으로 서로 좋아요를 누른 회원들끼리 매칭시켜주도록 구현하였다. 주요 기능 Firebase Authentication 을 통해 이메일 회원가입 / 로그인 Firebase Realtime Database 를 이용해 기록을 저장하고, 불러오기 가입된 유저 간 like / dislike 기능 서로 like를 한 유저끼리 매칭 오픈소스 라이브러리 CardStackView 를 이용해 스와이프 기능 추가 사용 기술 Firebase Authentication Firebase Realtime Database yuyakaido/CardStackView RecyclerView Firebas..
Room을 사용하여 로컬 데이터베이스에 데이터 저장 앱에서 Room을 사용하려면 앱의 build.gradle 파일에 다음 종속 항목을 추가한다. plugins { id 'kotlin-kapt' } dependencies { implementation "androidx.room:room-runtime:$roomVersion" kapt "androidx.room:room-compiler:$roomVersion" Room 세가지 주요 구성요소 데이터베이스 : 앱의 지속적인 관계형 데이터의 기본 연결을 위한 기본 엑세스 포인트 역할을 한다. @Database 로 주석이 지정된 클래스는 다음의 조건을 충족해야 한다. - RoomDatebase 를 확정하는 추상클래스여야 한다. - 주석 내에 데이터베이스와 연결된 항목의 목록을 포함해야 한다. - 인수가 0개이며 @..
PendingIntent 개념 PendingIntent 란? 기본적으로는 Intent를 가지고 있는 클래스이다. Pending은 '보류', '임박' 의 뉘앙스를 가지고 있다. PendingIntent는 가지고 있는 Intent를 당장 수행하지 않고 특정 시점에 수행하도록 하는 특징을 가지고 있다. 이 '특정 시점' 은 보통 앱이 구동되고 있지 않을 때이다. 예를 들어 어떤 대용량 파일을 다운로드 하는 동작을 구현할 때, 사용자들은 보통 대용량 다운로드를 가만히 기다리기 보다는 다른 앱을 사용하며 기다리고 있기 때문에 다운로드가 다 되었을 때를 알리는 푸시알람을 쏴주는 것이 좋다. 보통 다운로드 완료 푸시알람을 탭하게 되면 앱으로 다시 복귀하여 특정 동작을 이어간다. ​ 그런데 만약, 일반 Intent로 해당 동작을 구현한다면 정상적으..
Notification (알림) 공식 문서 https://developer.android.com/training/notify-user/build-notification?hl=ko 알림 만들기 | Android 개발자 | Android Developers 알림 만들기 알림은 사용 중이 아닌 앱의 이벤트에 관한 짧고 시기적절한 정보를 제공합니다. 이 페이지에서는 Android 4.0(API 레벨 14) 이상의 다양한 기능을 사용하여 알림을 만드는 방법을 설명 developer.android.com 가장 기본적이고 간단한 형태(축소된 형태) 의 알림에는 아이콘, 제목, 소량의 콘텐츠 텍스트가 표시된다. 기본 메인 로직 1. 알림 콘텐츠 설정 및 알람의 탭 작업 설정 2. 채널 만들기 및 중요도 설정 3. 알림 표시 알림 콘텐츠 설정 Noti..
음악 스트리밍 앱 (ExoPlayer, Retrofit, androidx.contraintLayout.widget.Group) 주요 기능 Retrofit 을 이용해 서버에서 음악 받아와 재생 목록 구성 재생 목록을 클릭하여 ExoPlayer 를 이용해 음악을 재생 이전/다음 곡 재생, UI 업데이트 재생 목록 화면과 플레이 화면 간 전환 seekBar 를 커스텀 하여 원하는 UI 로 표시 사용 기술 ExoPlayer Retrofit androidx.contraintLayout.widget.Group 라이브러리 추가 // 레트로핏 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' // 글라이드 implementation 'com.github.bumptech.glide:glid..
유튜브 (MotionLayout, ExoPlayer, Retrofit, Mocky) ExoPlayer로 동영상을 재생, MotionLayout을 이용해 재생중인 동영상 프래그먼트를 아래로 쓸어 내려 하단에서 바 모양을 통해 재생되는 방법을 사용하는 동영상 플레이어 앱 주요 기능 Retrofit 을 이용해 서버에서 영상 목록을 받아와 보여주기 Motion Layout 을 이용해 영상 플레이어 화면 전환 애니메이션 구현 영상 목록을 클릭하여 ExoPlayer 를 이용해 영상 제생 사용 기술 MotionLayout ExoPlayer Retrofit Mocky viewBinding 기본 레이아웃 구성 메인 액티비티에는 하단 메뉴인 BottomNavigationView, 동영상 리스트를 보여줄 RecycerView, 스크롤 가능한 애니메이션을 주기 위해 프래그먼트를 붙일 수 있는 FrameLay..
ExoPlayer ExoPlayer 는 구글이 안드로이드 SDK와는 별도로 배포되는 오픈소스 프로젝트로 오디오 및 동영상 재생, 재생 관련 기능들을 포함하고 있는 라이브러리이다. 다른 설정 없이도 네트워크로부터 미디어를 스트리밍 형태로 불러와 재생할 수도 있고 다양한 포맷들을 지원하며, 커스터마이징도 지원한다. ExoPlayer 를 사용한 대표적인 서비스로는 유튜브가 있다. 공식 문서 https://developer.android.com/guide/topics/media/exoplayer ExoPlayer | Android 개발자 | Android Developers ExoPlayer ExoPlayer는 Android 프레임워크에 속하지 않고 Android SDK에서 별도로 배포되는 오픈소스 프로젝트입니다. ExoPlay..