728x90
반응형
- [ Android/Android ][Android] 커스텀뷰 만들기2023-10-04 22:38:31커스텀뷰 xml (view)에서의 모듈화는 CustomView로 해결이 가능하다. 이렇게 생긴 버튼이 있다. 이런 화면을 만들어야 한다고 할때, 저 버튼 네개를 복붙해서 만들면 되겠지? 라고 생각할 수 있다. 그렇지만 만약 어떤 수정사항이 생긴다면? 네번 수정을 해주어야 한다. 그러다 보면 그 과정에서 생기는 오류나 실수는 아주 자연스러운 수순이 된다. (경험담 이를 방지하고자 style을 사용했지만..좀 더 쌈빡한 방법은 없을까? 라고 생각이 되어질 때 쯤에서야 CustomView를 알게 되었다…….늦었다고 생각할 때가 가장 빠른 법 얼른 알아보자. 만들기 1. xml 작업하기 생성할 커스텀 뷰의 xml 작업을 먼저 진행해준다. 나의 경우 앞에 아이콘이 붙은 버튼을 하나 만들었다. 이제 여기서 아이콘과..
- [ pinslog/Log.daily() ][Android] 제약조건 프로그래밍 방식으로 변경하기 | How to move constraint programmatically2023-10-03 22:43:02제약조건 프로그래밍 방식으로 변경하기 updateLayoutParams를 이용한다. yourView.updateLayoutParams { topToBottom = targetViewId startToEnd = targetViewId bottomToTop = targetViewId // ... } 예시를 위해 텍스트 뷰 하나를 만들고, 제약조건을 아래와 같이 두었다. 현재는 화면 바깥에 존재하도록 되어 있다. 아무 버튼이나 클릭하면 해당 텍스트 뷰의 제약조건이 변경되도록 해주었다. private fun buttonClick() = View.OnClickListener { binding.testTextView.updateLayoutParams { topToBottom = binding.mediumJoinTe..
- [ pinslog/Log.daily() ][Android] Databinding Format Character2023-10-02 19:20:09데이터바인딩에서도 형식 문자를 이용해 값을 나타낼 수 있다. string.xml %s시 layout.xml android:text="@{String.format(@string/forecast_time, hourlyForecast.time)}" 공부하며 작성된 글이라 잘못된 정보가 있을 수 있습니다. 말씀해주시면 수정하겠습니다. 감사합니다. References
- [ pinslog/Log.daily() ][Android] 프로젝트 셋팅을 하며 생긴 오류 해결하기2023-10-01 11:57:18집단지성의 방 해커톤을 진행하기 위해 프로젝트 셋팅을 먼저 했다. (해커톤에 대한 것이 궁금하다면 아래 링크 참고) 집단지성의 방 : 1st Hackathon - Deep Into the Code 작년에 왔던 집단지성의 방(이하 집지방), 죽지도 않고 올해 또 왔습니다. 😂 사실 작년에 비해 올해는 활발한 활동을 이어나가진 못했습니다. 혈기왕성 열정만땅이었던 신입에서 어딘가 한풀 www.pinslog.com 프로젝트를 셋팅하면서 만난 오류와 해결 방법에 대해 간략하게 기록하려고 한다. 프로젝트 셋팅 안스 업데이트 이후 (지라프) 프로젝트를 생성하려고 하니 몇가지 눈에 띄는 점들이 있다. Activity를 선택할 때는 컴포즈가 가장 상단에 위치해있고, 선택지가 많이 간소화되었다고 느껴졌다. 그리고 Buil..
- [ Android/Android ][Android] Jetpack Compose? true!2023-09-30 13:19:52컴포즈를 향한 나의 끝없는 구애(?)는 작년부터 계속 되었다. 비록 실무에서는 아직 적용해볼 기회가 없었지만... 틈날때마다 씹고 뜯고 맛보려고 노력했다는 얘기다. 그 흔적들을 하나씩 기록해보려고 하는데, 첫번째는 지난해 진행했던 집단지성의 방의 첫번째 컨퍼런스인 '집단지성의 날' 에서 발표했던 Jetpack Compose 의 자료이다. 집단지성의 날에 관한 건 아래를 참고하면 된다. 집단지성의 방 : 컨퍼런스 개최한 후기 안녕하세요. 핀수입니다. (이런 인사 해보고 싶었어요.) 오늘은 지난 9월 1일 개최된 컨퍼런스인 집단지성의 날의 후기를 들고 왔습니다. 처음 듣는 컨퍼런스라고요? 당연함. 저희가 만들었음 그 www.pinslog.com 그리고 첫번째로 Jetpack Compose를 살펴보았던 겉핥기..
- [ Android ][Android] Hilt와 Room2023-09-29 12:07:10의존성 주입도구인 Hilt를 사용중이었기 때문에 Room 또한 Hilt를 통해 생성하고 사용할 수 있도록 셋팅하는 시간을 가져보았다. Hilt에 관한 자세한 것은 아래 링크를 참고하면 된다. [Android] Hilt 적용해보기 들어가며 DI (Dependecy Injection)에 대해서는 어느정도 들어보거나 또는 알 것이라고 생각한다. 한번 더 짚고 넘어가자면 의존 관계에 있는 클래스의 객체를 외부로부터 생성하여 주입받는 것을 의 www.pinslog.com Hilt를 통해 Database 생성 @InstallIn(SingletonComponent::class) @Module class DatabaseModule { @Provides @Singleton fun provideAppDatabase(@Ap..
- [ Android/Android ][Android] Room 살펴보기2023-09-28 14:17:12이번에 (나름) 해커톤을 진행하면서 만들었던 서비스에 적용하기 위해 Room을 공부하는 시간을 가졌었다. 이를 기록해보려고 한다! Room SQLite에 추상화 계층을 제공하여 SQLite를 완벽히 활용하면서 더 견고한 데이터베이스 액세스를 가능하게 한다. 기존 안드로이드 로컬데이터베이스인 SQLite..에서 좀 더 개선된 라이브러리라고 생각이 되는데 SQLite를 사용할 때보다 Room을 사용했을 때의 이점은 무엇이 있을까? 왜 더 개선된 것이 나왔을까? Room을 사용하면 좋은 점 SQLite API를 직접 사용하는 것보다 여러 가지 이점이 있다고 한다. SQL 쿼리의 컴파일 시간 확인 반복적이고 오류가 발생하기 쉬운 상용구 코드를 최소화하는 편의 주석 간소화된 데이터베이스 이전 경로 Room의 구성..
- [ Android/Android ][Android] DataBinding 적용하기 - 032023-09-27 22:18:50지난 글에서는 개인 프로젝트인 WW에 DataBinding을 적용하며 알게 된 것들을 기술해보았다. 이번 글에서는 RecyclerView에 DataBinding을 적용하는 방법에 대해 알아볼 것이다. RecyclerView에 DataBinding 적용하기 데이터바인딩도 좋고 다 좋지만 아이템 갯수가 0개이면 onCreateViewHolder 호출 안되는거 명심하고....(to me from me...) 데이터가 변경 됐으면 됐다고 알려주는 거 잊지 말자고...^^ 이번 글에서 적용해줄 레이아웃 친구를 소개한다(?) 1. BindingAdapter 만들기 @SuppressLint("NotifyDataSetChanged") @BindingAdapter("app:items") fun setForecastLis..
728x90
반응형