1. 안드로이드 인텐트에 데이터 값 넣어 화면 전환하기 메인 엑티비티에서 다른 화면(activity)로 전환할 때 인텐트로 전환을 하는 경우에 해당 인텐트에 필요한 값을 넣어 전달해야하는 경우 아래 코드와 같이 작성합니다. // MainActivity 에서 ResultActivity 로 넘어가기 val intent = Intent(this, ResultActivity::class.java /*클래스 이름*/) // 인텐트에 값 넣기 intent.putExtra("height", height) intent.putExtra("weight", weight) startActivity(intent) 새로 띄워주는 엑티비티에서 인텐트에 전달된 값을 사용하기 위해서는 아래와 같은 코드를 사용합니다. get[자료형]E..
1. 안드로이드 틴더 앱 만들어보기 2012년 개발된 틴더라는 어플을 모티브로 하여 간단한 소셜 디스커버리 앱을 만들어 보도록 하겠습니다. 틴더는 2014년 부터 하루 당 10억건의 스와이프를 기록했다고 하는데 그정도 까진 아니어도 기본 동작이 실시간 데이터베이스를 바탕으로 가능하도록 만들어 봅시다. 메일로 회원가입이 가능하도록 firebase 인증 기능과 페이스북 로그인 기능까지 추가해보고 이를 통해 가입된 회원들 간에 좋아요와 싫어요를 바탕으로 서로 좋아요를 누른 회원들 끼리 매칭시켜 주는 어플리케이션을 최종 목표로 간단하게 진행해보았습니다. 주요 기능 이메일 or Facebook 회원 가입 기능 가입된 회원 간에 좋아요 싫어요 서로 좋아요한 회원 끼리 매칭 확인 카드 스택 뷰를 기반으로 한 스와이핑..
1. 안드로이드 인터파크 Open API 로 도서 리뷰 어플 만들기 인터파크에서 제공하고 있는 Open API 를 사용해서 안드로이드 앱에 적용하고 이를 통해 베스트 셀러 불러오기, 검색어로 특정도서를 검색, 책 별로 리뷰할 수 있는 어플리케이션을 개발해보았습니다. 주요 코드들에 대해서 남겨두기 위해(+복습) 글 작성합니다. 주요 기능 Open API로 베스트 셀러 목록을 받아 리스트로 보여준다 사용자가 입력한 키워드로 도서를 검색하여 리스트로 보여준다 사용자가 검색한 키워드 히스토리를 저장할 수 있다. 사용자가 검색한 키워드 히스토리를 삭제할 수 있다. 사용자가 검색한 키워드 히스토리를 클릭하여 재검색 할 수 있다. 도서 마다 사용자 리뷰를 작성할 수 있고 영구적으로 저장할 수 있다. 사용 기술 Rec..
1. 안드로이드 스튜디오 Room 사용 시 에러 (kaptDebugKotlin) 해결방법 Room 을 사용하는 안드로이드 어플리케이션을 개발하는 도중에 코드를 그대로 따라 했음에도 불구하고 빌드가 전혀 되지 않는 문제가 있어서 해결하느라 2일 동안 삽질했다. stackoverflow 에서도 해당 답변을 참고하여 다 시도해보았지만 결국 삽질만 계속 하다가 빌드는 여전히 fail. 그중 kapt 대신 annotationProcessor 를 사용하고 에러를 찾고 다시 kapt 로 수정해보라는 답변을 보고 해보았지만. 빌드는 되나 실행도중 터져버리는 문제 발생. 결국 그것도 해결 방안이 되지는 못했다. 뜨는 에러는 아래와 같다. Execution failed for task ':app:kaptDebugKotli..
1. 안드로이드 알람 어플 만들어보기 with Kotlin 기본 어플로 있는 알람 어플을 비슷하게 만들어서 사용자가 설정한 시간에 맞춰서 알림이 울리도록 하는 어플을 만들어보았습니다. 아직은 사용 패턴에 대해서 완벽하게는 기억할 수 없어서 포스팅을 통해 정리하고 기록해둘 목적으로 글을 작성합니다. 주요 기능 특정 시간을 설정하여 알람을 등록할 수 있음 만약 지정한 시간이 현재 시간 이전의 시간이라면 다음 날 부터 알람 알람 지정시 매일 지정한 시간 마다 알람 사용 기술 AlarmManager Real Time Elapsed Time (기기 부팅 시간을 기준으로 알람) Notification Broadcast receiver TimePickerDialog SystemService 2. 기본 레이아웃 구성 ..
1. 안드로이드 오늘의 명언 어플 만들기 파이어 베이스의 원격 설정 기능을 활용해서 원격에서 설정한 명언을 그때 그때 마다 업데이트 해서 새롭게 보여주는 오늘의 명언 어플을 만들어보았습니다. 보여줄 명언을 코드 수정 또는 앱 업데이트 없이도 갱신할 수 있고 특정 기능을 끄는 것을 원격으로 할 수 있습니다. 주요 기능 앱 없데이트 없이 컨텐츠 변경하기 코드 수정 없이 명언 추가 코드 수정 없이 이름 숨기기 명언을 앞뒤로 무한 스와이프 할 수 있음 사용 기술 Firebase remote config ViewPager2 JSONObject 1.1. 기본 레이아웃 구성 기본적인 레이아웃은 프레임 레이아웃 안에 뷰 페이저와 프로그레스 바를 가지고 있는 형태입니다. 뷰페이져에서 명언을 보여주도록 하고 원격 에서 명..
1. 안드로이드 Firebase 활용 Push 알림 수신기 어플 만들기 실제 어플들을 사용해보면 앱이 화면에 실행중이지 않고있는데도 알림이 수신되는 것을 알 수 있습니다. 이러한 푸쉬 알림 기능은 간단하게 Firebase를 활용해서 구현할 수 있는데 해당 프로젝트에서 실습해 보도록 하겠습니다. 주요 기능 앱이 켜져있지 않은 상태(백그라운드) 일 때 푸시 알림을 수신 할 수 있음 기본형, 확장형, 사용자형(커스터마이징) 알림에 대한 각각 처리 및 수신 사용 기술 Firebase 활용 클라우드 메세징 (Firebase Cloud Messaging, FCM) Firebase 토큰 Notification 일반, 확장형, 커스텀 알림 결과 스크린샷 메인 화면에서는 Firebase 토큰을 확인할 수 있고 해당 토큰..
1. 안드로이드 간단 인터넷 브라우저 만들어보기 이번 프로젝트는 일반적인 인터넷 브라우징이 가능한 simple web browser 만들기입니다. 안드로이드에서 제공하는 웹뷰를 사용하여 인터넷 서핑을 할 수 있고 위에서 아래로 쓸어서 새로고침 하기 등을 다뤄보겠습니다. 주요 기능 웹 브라우징 웹 페이지 로딩 프로그래스 (진행상황 표시) 위에서 아래로 스와이프하여 새로고침 홈 기능 뒤/앞 네비게이션 기능 사용 기술 SwipeRefreshLayout ConstraintLayout EditText WebView ContentLoadingProgressBar 1.1. 기본 레이아웃 구성하기 기본 레이아웃의 경우 상단 툴바영역과 아래 웹뷰 영역으로 크게 나눠볼 수 있습니다. 상단 툴바는 제약 레이아웃으로 홈버튼 ..
1. 안드로이드 음성 녹음 어플 만들어보기 안드로이드 폰에서 음석 녹음을 할 수 있는 어플리케이션을 코틀린으로 만들어보았습니다. 간단하게 녹음을 진행하고 녹음되는 음성 대역폭에 따라 시각화 해서 보여주고 녹음된 내용은 재생해 볼 수 있는 기본적인 녹음기를 만들어봤습니다. 주요 기능 음성 녹음 기능 녹음 되고 있는 내용, 재생 내용 시각화 녹음 된 시간, 재생 시간 타임 스탬프 표시 Reset 버튼으로 리셋 사용 기술 Request runtime permissions (마이크 권한 런타임에 얻기) CustomView (음성 시각화, 타임 스탭프, 녹음 버튼) MediaRecorder (녹음) MediaPlayer (재생) 1.1. 음성 녹음을 위해 마이크 권한 얻기 음성 녹음을 위해 마이크 권한이 필요하며..
1. 코틀린으로 뽀모도로(Pomodoro) 타이머 안드로이드 앱 만들기 코틀린으로 안드로이드 뽀모도로 타이머를 만들어보고 사용한 주요 기능에 대해 포스팅으로 기록하도록 하겠습니다. 기본적인 개념에 대해서는 스킵하고 특징되는 부분의 기술들에 대해서 정리하려고합니다. 주요 기능 사용자가 슬라이더 바를 통해 타이머를 설정 (최대 60분 타이머) 카운트 다운이 진행 될 동안 Ticking 사운드 재생 카운트 완료시 Belling 토마토 느낌의 백그라운드 주요 사용 기술 ConstraintLayout CountDownTimer SoundPool 오디오 사운드를 재생 및 관리 오디오 파일을 메모리에 로드하고 빠른 실행이 가능하게 한다. 1.1. 기본 레이아웃 (Main Activity) 메인 레이아웃은 토마토 꼭지..