전체 글(110)
-
android Insta app clone coding 3편 - 다시 처음부터
인스타 앱 클론 코딩을 위해 앞서 2편을 작성했었습니다. 결론은 2편까지 만든거 다 버리고 다시 만들기로 결심하였고 그렇게 결심하게 된 이유 몇가지 중에 가장 큰 이유는 너무 모놀리틱한 앱으로 만들고있었습니다. 아키텍쳐 , 멀티모듈 등 그동안 많이 몰랐던 부분들을 하나하나 공부를 했고(여전히 부족하다 생각하지만), 앞으로 만들면서 겪은 과정과 문제들을 기록하고 어떻게 해결했는지 공유하고 싶었습니다. 이번에 만들면서 써볼 기술 스택은 1. Multi Module + build gradle kts 2. clean Architecture 3. Compose 4. Room 5. Retrofit2 6. DI Hilt 7. mockito 이렇게 생각하고 시작하였습니다. 더 필요한건 중간에 다시 수정하여 만들어보겠습..
2022.06.13 -
gradle kotlin dsl migration - 2. Gradle 에서 kts 로 migration
1편에 이어 두 번째 시간입니다. 여기서는 기존의 Gradle 파일을 바꾸는 작업을 하겠습니다. groovy에서 kotlin으로 변경할 때는 몇 가지 규칙이 있습니다. https://developer.android.com/studio/build/migrate-to-kts?hl=ko Groovy에서 KTS로 빌드 구성 이전 | Android 개발자 | Android Developers Gradle 구성 파일을 Groovy에서 KTS로 이전합니다. developer.android.com 규칙의 내용은 공식 홈페이지에서 확인이 가능합니다. But 저것만 보면 조금 이해하기 어렵더라구요. 저랑 같이 한번 실습을 통해 무엇을 어떻게 바꾸는지 한번 확인해보도록 하겠습니다!! 여기서 먼저 settings.gradle..
2022.05.24 -
gradle kotlin dsl migration - 1.BuildSrc 폴더 생성하고 그 안에 build.gradle.kts 생성
android의 multi module, modularization을 통한 이점으로 android clone coding에 차별화를 두고 싶었습니다. 시작은 좋았지만...모듈화를 할 때 build gradle 관리를 kts 를 이용해서 하는 걸 보고 migration 하다가 삽질한 게 최근 업데이트된 걸로 그나마 알려드리고 싶어 글을 적습니다. 그래서 kotlin dsl? kts? 그게 뭐야?? 먹는건가?? DSL이란 Domain Specific Language의 약자로 특정 분야에 최적화된 프로그래밍 언어를 뜻한다. 상용구 코드를 최소화하기 위해 명령형 코드 대신 선언적 코드 형식을 따르고, Kotlin DSL은 코틀린의 언어적인 특징으로 가독성이 좋고 간략한 코드를 사용하여 Gradle 스크립팅을 하..
2022.04.27 -
android fragment lifecycle adapter 위치 정리
insta clone coding을 하는 도중 궁금한 게 생겨 정리해보려고 한다. fragment에 Recyclerview adapter를 연결해야 했는데 어느 시점에 만들어야 할지 정확히 몰랐다. onCreateView와 onViewcreated 둘 중에 어디로 보낼지 헷갈렸다. 그래서 Fragment의 LifeCycle에 대해 검색하였고 공홈에서 알게 되었다. 일단 Fragment의 생명주기에 대해 사진으로 보면 view를 만들 때 Activity 랑 비슷하지만 조금 길다. 그럼 여기 중에 내가 Adapter를 넣어야 하는 곳은 어디일까?? 검색해 보니 공식 홈에 onCreateView()에서 작업하라고 나와있다. LiveData, RecyclerView, ViewPager2 adpater 등을 이곳..
2022.04.25 -
Instagram App clone coding(2)
대략적인 틀은 일단 이렇게 하려고 한다. 그림처럼 앞서 만들었던 bottomNavigation 을 이용해 5개의 fragment 를 연결하고 처음 나오는 Home 화면에 ViewPager2 를 이용하여 3개의 fragment를 만들었다. 두번째로 돋보기를 누르면 나오는 View인데 여기에는 Appbar collapstingToolbar를 이용하여 사라지게 하고 밑에 RecyclerView Layoutmanager로 GridLayout span 열당 3개씩 오게 설정하자. 3번째 4번째 fragment는 릴스와 샵 인데 좀 더 생각해보려고 한다. 일단. 릴스는 recyclerview 달고 Recyclerview item 에 버튼이랑 영상들어가는 view 좋아요 팔로우 이런 버튼 달아서 어뎁터에서 Data ..
2022.04.25 -
Instagram App clone coding (1)
Instagram clone coding을 시작했다. 인터넷에 인프런 강의로 이미 많은 사람들이 따라한 결과와 흔적이 있었다. 시간이 지나 달라지기도 했고 참고는 하지만 나는 내 나름대로 만들어보고 싶었다. 각 과정을 기록하고 어렵거나 몰랐던것 위주로 정리를 하고, 나름의 과정을 공유하여 나중에 혹시 이 글을 읽어보는 분들에게 조금이나마 미약한 실력이지만 도움이 되었으면 좋겠다. 그럼 시작해보자. 먼저, 인스타의 사진을 보자. > Image credit : Instagram 대략적인 틀을 먼저 생각해보았다. 밑에 5개의 버튼이 있고 각 버튼을 누르면 화면이 나온다. BottomNavigation으로 만들면 될 것 같다. 아래의 사진처럼 5개의 프래그먼트를 만들고 BottomNavigation을 Graph..
2022.04.25