Personal project/50Buttons
5번째 버튼 jetpack navigation 연습
버튼이 있는 액티비티를 여러개 만들면서 예제를 만들어보는 프로젝트중이다. 5번째 버튼으로 안드로이드 jetpack navigation 예제로 fragment를 2개 만들어서 이동하는 것을 만들어보았다. fragment A, B 두개를 만들고, A에 viewModel을 붙여서 liveData값을 하나 만들어줬다. (문제발생 : 네비게이션으로 이동시, 뷰모델의 라이브데이터 값 유지가 안되는 문제) A -> B -> A 로 이동했는데, ( findnavigaton.navigae()로 ) A의 viewModel에 있는 liveData의 값이 유지되지 않고, 새로 만들어지는 것 같았다. 그래서 오픈채팅방에 질문을 해보았는데, 단순히 navigate()를 하게 되면, A가 다시 새로 만들어지게 되는 것이라는 것을 ..
4번째 버튼을 만들면서.. fragment 생명주기..?
4번째 버튼으로, fragment에 뷰모델을 넣고, livedata를 사용해서 버튼을 만들어보았다. 기존에 activity생명주기는 익숙했지만, activity와 fragment 둘의 생명주기 관계가 무시무시했다. 실제로 코드에 로그를 다 찍어서 돌려보니 activity의 생명주기내에서도 super.(생명주기이벤트)의 위쪽에 쓰느냐 아래쪽에 코드를 쓰느냐에 따라 코드의 순서가 약간 다르게 될 수도 있다는 것을 알았다. 내가 궁시렁 쓰는거보다 내가 참고한 블로그와 문서들을 백링크로 걸어본다. // activity와 fragement의 생명주기의 그림이 있다. https://ciwhiz.tistory.com/280 // 라이브데이터의 값은 항상 최신이라는 언급 https://thdev.tech/android..
뷰바인딩에서 tools:viewBindingIgnore의 의미?
https://developer.android.com/topic/libraries/view-binding?hl=ko#setup 안드로이드 공식문서를 읽다가, tools:viewBindingIgnore이 옵션이 무슨 말인가 했는데, 뷰바인딩을 사용하게 되면, 원래 xml파일에 대해서 자동으로 바인딩 클래스가 생기는데, 해당 xml 파일에 대해서 바인딩 클래스를 생성하지 말라는 의미다. (하지만 직접 테스트 해보지는 않아서 맞는지는 모르겠다.) 아무튼, 아래 블로그를 보고 무슨 의미인지 알게 되었고, 뷰바인딩에 대해서 잘 정리가 되어있어서 참고하면 좋을 듯하다. https://todaycode.tistory.com/29
android .gitignore 파일을 수정해보자.
git을 사용 중에, 버전관리 되지 않을 파일을 .gitignore파일에 작성하여 버전관리 되지 않게 만들 수 있다. 안드로이드 스튜디오에서 새 프로젝트를 만들면, .gitignore파일이 새로 하나 만들어지는 것 같던데, 그 파일은 내용이 부실한 거 같다. (이게 내 프로그램에 설치된 git이 만들어내는 건지, 안스에서 만들어내는 건지도 궁금하다) 로컬에서 만들지 않고, 깃허브 remote저장소에서 새 저장소를 만들면서 바로 .gitignore파일을 추가하게 되면, 깃허브에서 제시하는 .gitignore파일이 들어오는 것 같은데 이 파일이 로컬에서 만들어지는 파일보다 더 쓸만한 거 같다. // 깃허브의 .gitignore파일 샘플은 아래 링크에서 볼 수 있다. https://github.com/gith..
String과 CharSequence의 차이점?이 궁금했다.
https://github.com/hhyeok1026/50Buttons GitHub - hhyeok1026/50Buttons: This is a development exercise project. This is a development exercise project. Contribute to hhyeok1026/50Buttons development by creating an account on GitHub. github.com 내 연습용 프로젝트에서 두 번째 버튼을 만들면서 궁금했던 점. xml뷰의 Button에서, setText, getText는 파라미터로 CharSequence라는 인터페이스를 가지고 있다. 보통은 String을 많이 쓰니까 CharSequence가 뭔지 궁금해졌다. 블로그를 좀 ..
프로젝트 개요
여러가지 버튼을 넣어둔 프로젝트 연습, 테스트 할 기능을 버튼에 이벤트로 처리하는 개발 연습용 프로젝트이다. 다양한 버튼을 만들면서, 개발의 자신감을 얻기 위함. ⇒ 아무거나 막 구현해 넣기 앞으로 할 것 저장소 생성 디펜던시 잡기 깃이그노어 파일 넣기 버튼 작성