
1. 프로그래머스 앱 데브 매칭 2021 : K-MOOC 강좌정보 서비스 앱 과제 프로그래머스에서 금년도 6월 19일에 진행한 앱 데브 매칭에 대한 의도한 해답을 공개했다. 해당 과제를 내가 치룰 당시에는 안드로이드 뷰 모델에 대한 학습이 안되어있어서 당황하며 어찌저찌 거의 구현은 했는데 나 자신이 만족할만한 수준의 앱이 아니어서 상당히 아쉬웠다. 데브 매칭의 경우에는 다른 블로그 글들을 찾아보면 메일로 코드 리뷰 및 피드백을 주는 것을 본 적이 있는데, 이번에는 공개해답을 아예 공식 블로그에 공개를 해주었다. 안드로이드 신입 개발자를 준비하고 있는 나에게는 참 반가운 소식이었다. 물론 코드에는 정답이 없지만 어느 정도 통용되는 또는 안드로이드에서 적극 권장하는 아키텍처가 분명 존재하기 때문에 이러한 예..

1. 안드로이드 google map api를 활용한 어플 만들어보기 이번 프로젝트는 구글 맵, sk (t map) pai 를 활용해서 위치 검색 및 현위치를 지도상에서 마커로 나타내주는 안드로이드 앱 입니다. 상호명이나 건물명 등으로 검색을 한 결과를 리스트로 보여주고 유저가 이를 클릭하면 지도 화면으로 이동해서 해당 위치를 마커로 표시합니다. 해당 포스팅은 구현 코드 전부를 설명하지는 않고 🙅♂️ 핵심 코드를 정리합니다. 구현 코드 전부가 궁금하신 분들은 글 말미에 첨부드리는 저의 깃허브 저장소를 참고하시기 바랍니다. 주요 기능 위치 (건물, 상호 명 등) 검색 기능 검색한 위치 클릭 시 지도 상에 핀(마커)으로 표시해줌 현재 위치 버튼을 클릭하면 현재 자신의 위치를 보여줌 + 무한 스크롤 기능 추가..

1. 안드로이드 뮤직 플레이어 앱 만들기 with ExoPlayer, Kotlin 이번에는 멜론 같은 안드로이드 뮤직 재생 앱을 만들어 보는 프로젝트를 진행해보았습니다. 서버 에서 음악 정보들을 받아와 재생 목록을 구성하고 재생 및 일시정지, 다음 곡, 이전 곡, 곡 위치 탐색 등의 기본적인 기능을 수행할 수 있도록 구현했습니다. 주요 기능 음악 서버에서 음악 받아와 재생 목록 구성하기 현재 재생 중인 음악 재생 목록에서 표시 (회색 배경) 재생/일시정지, 이전 곡/다음 곡 재생 기능 seekBar 를 통한 음악 탐색 기능 재생 목록 음악 뷰 전환 가능 사용 기술 Exoplayer 커스텀 컨트롤러 playlist androidx.constraintlayout.widget.Group 기타 SeekBar C..

1. 안드로이드 유튜브 앱 만들어보기 안드로이드 유튜브 앱을 비슷하게 만들어보면서 익혔던 내용들을 정리해보았습니다. ExoPlayer 로 동영상을 재생하는 방법과 모션 레이아웃을 통해서 재생중인 동영상 프레그먼트를 아래로 쓸어 내리면 유튜브와 비슷하게 하단에서 재생이되는 방법을 주로 다뤄 봤습니다. 주요 기능 서버에서 동영상 목록 받아와서 보여주기 메인에서 동영상 항목 클릭 시 하단에 내려져 있던 프레그먼트가 올라오면서 재생 재생 도중 영상 부분을 쓸어 내리면 하단 배너형식으로 재생 및 일시정지 가능 모션 레이아웃, 리사이클러뷰 사이 스크롤이 가능하도록 구현 사용 기술 MotionLayout ExoPlayer mocky 결과 화면 1.1. 기본 레이아웃 구성 기본 메인 레이아웃은 위와 같이 구성되어있으며..

1. 안드로이드 에어비앤비 앱 비슷하게 만들어 보기 네이버 맵 api 를 이용해서 에어비앤비와 비슷한 안드로이드 앱을 만들어보았습니다. 네이버 지도를 메인으로 숙소 목록을 서버(mocky 사용)에서 받아와 지도상에 마커로 나타내주고 하단에 좌우로 스크롤 가능한 페이져를 둬서 숙소를 살필 수 있습니다. 주요 기능 네이버 지도 api 를 사용해서 지도를 보여줌 Mock api 를 사용하여 예약가능한 숙소 목록을 지도에 표시 하단 시트뷰를 통한 숙소목록을 인터렉션하게 표현 현재 보고 있는 숙소의 위치를 지도에서 중앙으로 연동 숙소를 눌러 외부로 공유할 수 있음 사용 기술 Naver map api mocky ViewPager2 CoordinatorLayout BottomSheetBehavior retrofit ..

1. 안드로이드 중고 거래 앱 만들기 (With kotlin) 코틀린으로 안드로이드 중고 거래 앱을 만들어 보았습니다. 사용자는 이메일과 비밀번호로 회원가입 및 로그인 하게 되며 이후 물건과 가격 물건 사진으로 게시글을 등록할 수 있으며 제품마다 상품 게시자와 채팅할 수 있는 채팅방 목록과 채팅 또한 구현합니다. 프래그먼트뷰를 사용해서 하단의 메뉴바를 통해서 fragment 를 전환하는 방식으로 앱을 동작합니다. 파이어베이스 storage 기능을 사용하여 이미지를 업로드하고 실제로 받아와서 게시글 목록에 뿌려주는 작업 또한 실습해 보았습니다. 또 사용자는 중고 판매 게시글을 올릴때 플로팅 액션 버튼을 사용해서 제품 게시글을 올릴 수 있습니다. 주요 기능 이메일로 회원가입 및 로그인/로그아웃 사진 포함 중..

1. 안드로이드 틴더 앱 만들어보기 2012년 개발된 틴더라는 어플을 모티브로 하여 간단한 소셜 디스커버리 앱을 만들어 보도록 하겠습니다. 틴더는 2014년 부터 하루 당 10억건의 스와이프를 기록했다고 하는데 그정도 까진 아니어도 기본 동작이 실시간 데이터베이스를 바탕으로 가능하도록 만들어 봅시다. 메일로 회원가입이 가능하도록 firebase 인증 기능과 페이스북 로그인 기능까지 추가해보고 이를 통해 가입된 회원들 간에 좋아요와 싫어요를 바탕으로 서로 좋아요를 누른 회원들 끼리 매칭시켜 주는 어플리케이션을 최종 목표로 간단하게 진행해보았습니다. 주요 기능 이메일 or Facebook 회원 가입 기능 가입된 회원 간에 좋아요 싫어요 서로 좋아요한 회원 끼리 매칭 확인 카드 스택 뷰를 기반으로 한 스와이핑..

1. 안드로이드 인터파크 Open API 로 도서 리뷰 어플 만들기 인터파크에서 제공하고 있는 Open API 를 사용해서 안드로이드 앱에 적용하고 이를 통해 베스트 셀러 불러오기, 검색어로 특정도서를 검색, 책 별로 리뷰할 수 있는 어플리케이션을 개발해보았습니다. 주요 코드들에 대해서 남겨두기 위해(+복습) 글 작성합니다. 주요 기능 Open API로 베스트 셀러 목록을 받아 리스트로 보여준다 사용자가 입력한 키워드로 도서를 검색하여 리스트로 보여준다 사용자가 검색한 키워드 히스토리를 저장할 수 있다. 사용자가 검색한 키워드 히스토리를 삭제할 수 있다. 사용자가 검색한 키워드 히스토리를 클릭하여 재검색 할 수 있다. 도서 마다 사용자 리뷰를 작성할 수 있고 영구적으로 저장할 수 있다. 사용 기술 Rec..

1. 안드로이드 알람 어플 만들어보기 with Kotlin 기본 어플로 있는 알람 어플을 비슷하게 만들어서 사용자가 설정한 시간에 맞춰서 알림이 울리도록 하는 어플을 만들어보았습니다. 아직은 사용 패턴에 대해서 완벽하게는 기억할 수 없어서 포스팅을 통해 정리하고 기록해둘 목적으로 글을 작성합니다. 주요 기능 특정 시간을 설정하여 알람을 등록할 수 있음 만약 지정한 시간이 현재 시간 이전의 시간이라면 다음 날 부터 알람 알람 지정시 매일 지정한 시간 마다 알람 사용 기술 AlarmManager Real Time Elapsed Time (기기 부팅 시간을 기준으로 알람) Notification Broadcast receiver TimePickerDialog SystemService 2. 기본 레이아웃 구성 ..

1. 안드로이드 오늘의 명언 어플 만들기 파이어 베이스의 원격 설정 기능을 활용해서 원격에서 설정한 명언을 그때 그때 마다 업데이트 해서 새롭게 보여주는 오늘의 명언 어플을 만들어보았습니다. 보여줄 명언을 코드 수정 또는 앱 업데이트 없이도 갱신할 수 있고 특정 기능을 끄는 것을 원격으로 할 수 있습니다. 주요 기능 앱 없데이트 없이 컨텐츠 변경하기 코드 수정 없이 명언 추가 코드 수정 없이 이름 숨기기 명언을 앞뒤로 무한 스와이프 할 수 있음 사용 기술 Firebase remote config ViewPager2 JSONObject 1.1. 기본 레이아웃 구성 기본적인 레이아웃은 프레임 레이아웃 안에 뷰 페이저와 프로그레스 바를 가지고 있는 형태입니다. 뷰페이져에서 명언을 보여주도록 하고 원격 에서 명..