전체 글 (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.. 이전 1 2 다음