1. 안드로이드 에어비앤비 앱 비슷하게 만들어 보기 네이버 맵 api 를 이용해서 에어비앤비와 비슷한 안드로이드 앱을 만들어보았습니다. 네이버 지도를 메인으로 숙소 목록을 서버(mocky 사용)에서 받아와 지도상에 마커로 나타내주고 하단에 좌우로 스크롤 가능한 페이져를 둬서 숙소를 살필 수 있습니다. 주요 기능 네이버 지도 api 를 사용해서 지도를 보여줌 Mock api 를 사용하여 예약가능한 숙소 목록을 지도에 표시 하단 시트뷰를 통한 숙소목록을 인터렉션하게 표현 현재 보고 있는 숙소의 위치를 지도에서 중앙으로 연동 숙소를 눌러 외부로 공유할 수 있음 사용 기술 Naver map api mocky ViewPager2 CoordinatorLayout BottomSheetBehavior retrofit ..
1. 안드로이드 중고 거래 앱 만들기 (With kotlin) 코틀린으로 안드로이드 중고 거래 앱을 만들어 보았습니다. 사용자는 이메일과 비밀번호로 회원가입 및 로그인 하게 되며 이후 물건과 가격 물건 사진으로 게시글을 등록할 수 있으며 제품마다 상품 게시자와 채팅할 수 있는 채팅방 목록과 채팅 또한 구현합니다. 프래그먼트뷰를 사용해서 하단의 메뉴바를 통해서 fragment 를 전환하는 방식으로 앱을 동작합니다. 파이어베이스 storage 기능을 사용하여 이미지를 업로드하고 실제로 받아와서 게시글 목록에 뿌려주는 작업 또한 실습해 보았습니다. 또 사용자는 중고 판매 게시글을 올릴때 플로팅 액션 버튼을 사용해서 제품 게시글을 올릴 수 있습니다. 주요 기능 이메일로 회원가입 및 로그인/로그아웃 사진 포함 중..
1. 안드로이드 커스텀뷰 엑티비티 종료 시키기 커스텀 뷰를 정의하고 이를 메인 엑티비티 등에 넣거나 붙여서 사용할 때 해당 엑티비티를 종료해야하는 경우에 아래와 같은 코드를 사용할 수 있습니다. 사용 예시로 버튼을 클릭해서 앱을 종료하는 경우가 있습니다. private fun finishFunction() { val activity = context as Activity activity.finish() } binding.btnPositive.setOnClickListener { finishFunction() } 2021.06.22 - [Android] - [Android] 코루틴으로 url 이미지 불러오기 (String 👉 Bitmap) 2021.06.21 - [Android] - [Android] we..
1. 안드로이드 코틀린으로 이미지 url 에서 이미지뷰에 띄우기 코루틴을 사용해서 이미지 url 을 통해 인터넷 스트림을 열어서 Bitmap 으로 가져와 ImageView에 띄워주는 코드를 작성해봅시다. 코루틴을 몰랐을 때에는 쓰레드 오류, 여러 예외들이 터지면서 이미지 로드가 제대로 안되었고, 구글링 하여 찾는 코드는 asyncTask 를 사용하는 (레거시)코드 였는데 이미지는 불러와졌는데 그래도 시원하게 뻥 뚤리는 느낌이 아니었는데 답은 코루틴에 있었습니다. 이번에 프로그래머스에서 진행하는 데브 매칭 앱 개발자 과제 또한 이미지를 불러오는 부분이 있었는데 이부분이 코루틴을 사용할 수 있냐를 넌지시 제시해 놓은 것을 이제서야 깨닫고는 왜 내가 코루틴을 공부하지 않고 테스트를 봤는지 후회가 되더라고요. ..
1. 코틀린의 코루틴(Coroutine) 이란? 안드로이드 프로그래밍을 코틀린으로 할 때 코루틴 이라는 것을 사용할 수 있는데요? 코틀린의 '코'를 따서 'Ko'루틴 인줄 알았지만 사실 코루틴의 코는 co(함께, 동시에) 라는 의미를 가지고 있습니다. 즉, 동시성 프로그래밍 개념을 코틀린에 도입한 것이 코루틴 이라고 합니다. 내용추가 21.08.24) 코루틴은 코루틴이 시작된 스레드를 중단하지 않으면서 비동기적으로 실행되는 코드입니다. 기존의 복잡한 AsyncTask 또는 다수 스레드 관리를 직접 해주지 않아도되며, 기존 다중 스레드 보다 훨씬 더 효율적으로 동작합니다. 코루틴의 특징으로는 코루틴은 스레드 위에서 실행되는데 여러가지 코루틴이 존재한다고 할때 코루틴1,2,3 이 있다고 칠 때 코루틴1 을 ..
1. 안드로이드 웹뷰 html 문자열 데이터 넣어서 불러오기 안드로이드 웹뷰에 주소(url)이 아니라 html 그 자체를 가지는 문자열 데이터로 내용을 로드하는 방법을 알아보겠습니다. 이번에 프로그래머스에서 실시한 대브 매칭 상반기에서 요구 했던 기능 중으로 서버에서 받아온 json 데이터로 html 문자열을 받아와서 띄워야 했던 것이 있었습니다. 이것을 모르고 저는 내부로 오는 url 을 받아서 loadUrl로 열려고 하였지만 인증오류때문에 열 수가 없었습니다. 해결하지못한 기능에 대해서 살펴보던 중에 발견한 것이 바로 overview 를 키로 갖는 데이터가 html 데이터임을 알았습니다. 이것이 왜 정작 과제 테스트 할때는 보이지 않았었는지.. 의문입니다. 아무튼 바로 알아보겠습니다. //data =..
1. 안드로이드 코드상에서 컴포넌트(textView) 속성 변경하기 drawble 자원 등을 가져와 텍스트뷰의 속성 백그라운드 등을 지정할 때 ContextCompat.getDrawable 으로 콘텍스트를 전달하며 해당 자원을 넘겨서 속성을 지정할 수 있습니다. (해당 코드는 코틀린으로 작성되었습니다.) textView.background = ContextCompat.getDrawable(this, R.drawable.circle_blue) 2021.06.18 - [Android] - [Android] Intent 에 데이터(값) 넣어서 엑티비티 전환하기
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..