•App/안드로이드 with Kotlin
[안드로이드&코틀린] 유튜브#1, 모션레이아웃(MotionLayout)을 통해 스와이프 구현, 레이아웃 스와이프, 유튜브 플레이어, 프래그먼트, 프레임레이아웃
# 미리보기 우리가 많이 보는 유튜브에서는, 현재 재생중인 동영상이 밑에 작게 나오고 막대를 끌어올리면 전체화면으로 전환이 되는 모션이 보인다. 볼때마다 어떻게 구현하는건가 싶은 생각이 들었는데, 해답은 MotionLayout을 사용하면 됐다. 레이아웃하나 구성하는데 생각보다 어려웠다. 처음 해보는 거기 때문에 자세히 기록해 두어야 할 것 같다. 동영상을 끌어 스와이프 하면 바텀 내비게이션 바가 아래로 내려가는 것에 주목하자. # 레이아웃 구성 레이아웃은 위처럼 구성된다. [영상+제목+버튼]이 담기는 뷰는 frameLayout으로 안에 프래그먼트를 넣어준다. 스크롤에 반응하는건 모션레이아웃을 사용하면 된다. 1부터 100을 만드는 느낌은 아니고, 모션에 따른 크기 지정을 모션레이아웃을 활용하면 쉽게 할 ..
[안드로이드&코틀린] 에어비앤비#3, 공유하기 기능, 마커 클릭시 viewPager전환, viewPager전환시 마커 표시, locationButton, 위치 권한 받기
[안드로이드&코틀린] 에어비앤비#2, Mocky로 임시 API 만들기, Glide에서 CenterCrop사용하기, Glide로 corne [안드로이드&코틀린] 에어비앤비#1, 네이버 mapAPI 사용하기, 코디네이터(CoordinatorLayout)레이아웃, bo 에어비앤비와 유사한 앱을 만들어보았다. BottomSheetDialog 역할을 하는 view와 네이버 mapAPI, viewpag.. devforyou.tistory.com # 공유하기 기능 private val housePageApdater = HouseViewPagerAdapter(pageClickedCallback = { val intent = Intent().apply { action = Intent.ACTION_SEND putExtra..
[안드로이드&코틀린] 에어비앤비#2, Mocky로 임시 API 만들기, Glide에서 CenterCrop사용하기, Glide로 corner radius주기 ,dp값 px로 바꾸기
[안드로이드&코틀린] 에어비앤비#1, 네이버 mapAPI 사용하기, 코디네이터(CoordinatorLayout)레이아웃, bo 에어비앤비와 유사한 앱을 만들어보았다. BottomSheetDialog 역할을 하는 view와 네이버 mapAPI, viewpager2등을 사용했다. 무엇보다 안드로이드 실제 디바이스를 당근마켓에서 구입해서 하고있는데, 빠릿 devforyou.tistory.com 이번에는 간단하게 테스트용 API를 Json형식으로 만든 후 사용하는 방법과, 글라이드와 레트로핏을 사용하여 받아오는걸 해보도록 하겠다. # Mocky 아래 페이지에 들어간다. Mocky: The world's easiest & fastest tool to mock your APIs designer.mocky.io NE..
[안드로이드&코틀린] 에어비앤비#1, 네이버 mapAPI 사용하기, 코디네이터(CoordinatorLayout)레이아웃, bottomSheet레이아웃 만들기
에어비앤비와 유사한 앱을 만들어보았다. BottomSheetDialog 역할을 하는 view와 네이버 mapAPI, viewpager2등을 사용했다. 무엇보다 안드로이드 실제 디바이스를 당근마켓에서 구입해서 하고있는데, 빠릿빠릿하니 왠지 공부하는게 더 재밌어졌다. 버벅이는게 없어서 그런가.. 돈이 좋다! 구현 기능은, 임시로 구현한 mock서버에서 api통신을 통해 데이터를 가져와 map위에 마커를 찍어주고, 공유하기 기능, viewpager전환 또는 마커 클릭시 서로과 상호작용을 하도록 했다. # 공부내용 정리 1. 네이버 API 연동 및 현재위치 마커찍기 2. 코디네이터레이아웃, 레이아웃 include 3. bottomSheet layout 만들기 4. Mock으로 임시 데이터 API만들기 5. Gl..
[에러/안드로이드] 액티비티간 주고받은 uri 권한 연장하기, Permission Denial: opening provider com.android.providers.media.MediaDocumentProvider
# 시작하며 학교에서 진행하는 프로젝트에서 필요한 메인기능에 디자인을 입히기전 간단한 프로토 타입을 만들었다. # 원인 분석 A액티비티 : 리사이클러뷰에서 사진 선택 새로운 액티비티(B)가 열림( 진짜 구현해야할 앱에서는 여기서 추가적인 기능이 수행 됨) B액티비티에서 SAF을 이용해서 갤러리 접근 및 사진 uri를 가져옴 B액티비티에서 이미지 uri가 잘 가져왔는지 이미지 뷰에 set시켜 확인 A액티비티의 각각의 리사이클러뷰까지 이미지가 잘 넘어와짐 A액티비티에서 저장하기를 누르면 파이어베이스 스토리지에 이미지가 저장되고 저장된 이미지 리소스 URL값을 가져와야함 but ERROR # 에러 발생 이미지 저장을 누르는 시점에서 위와 같은 에러가 발생한다. Permission Denial: opening ..
[안드로이드&코틀린] 앨범 만들기#5, 파이어베이스 스토리지 사용하기, 코틀린 콜백함수, 이미지 업로드하기, 이미지 불러오기, 프로그레스 바, 안드로이드 화면 터치 막기
[안드로이드&코틀린] 중고거래앱 만들기#4, 파일 접근 권한 얻기, 갤러리에서 이미지 가져오기, fl [안드로이드&코틀린] 중고거래앱 만들기#3, 프래그먼트에서 파이어베이스 연결하기, 파이어베이 [안드로이드&코틀린] 중고거래앱 만들기#2, 중고 물품 정보 리사이클러 뷰 만들기, 프래그먼트에 devforyou.tistory.com # 결과물 미리보기 파이어베이스 스토리지에 이미지를 업로드시키고, 리얼타임 데이터베이스에서 다시 가져와서 리사이클러뷰에 뿌려준다. 이미지 업로드시 프로그레스바가 돌게 했으며, 다른 뷰(버튼)들이 터치되지 않도록 막는 기능까지 구현했다. # 구현 요구 사항 - 이미지파일을 파이어베이스에 스토리지에 업로드하기 - 파이어베이스 스토리지에 있는 이미지파일 url 가져오기 - 콜백함수 이..