일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 프로그래머스
- val
- 완전탐색
- Kotlin
- 백준 퇴사
- 2501
- Parcelize
- 지능형 기차2
- Android
- SWEA
- 순수함수
- 백준
- 조합
- Parcelable
- BFS
- EditText
- EditorInfo
- 백준 14501
- 오르막수
- 최단경로
- 자바
- hilt
- 순열
- java
- 시뮬레이션
- 약수 구하기
- 스카이라인 쉬운거
- imeOptions
- dfs
- BuildConfig
- Today
- Total
목록Android (7)
안드 공부를 해볼까?
1. 개요 프로젝트를 할때마다 편하게 쓰는 Hilt를 더 배우고 싶어 DI부터 다시 정리할려고 합니다. 본 포스트는 드로이드나이츠 2020, 옥수환 님의 Hilt 강의를 보며 작성하였습니다. 2. 본문 2-1. DI란 무엇일까? DI(Dependency Injection)은 의존성 주입을 뜻합니다. /** DI가 없는 코드 */ class MemoRepository{ private val db = SQLiteDatabase() fun load(id : String){...} } /** DI를 한 코드 */ class MemoRepository(private val db : SQLiteDatabase){ fun load(id : String) {...} } 2가지 코드 모두 db를 사용할 수 있습니다. 그..
1. 개요 프로젝트 중 팀원이 오류를 해결하지 못해 같이 코드를 봤는데 Databinding을 처음 하는 사람이라면 헷갈릴만한 오류같았다. 쉽지만 확실하게 집고 가면 좋을 것 같아 정리를 한다. 2. 본문 지금하고 있는 프로젝트의 BaseFragment다. onCreateView를 보면 binding 초기화 부분이 DatabindngUtil.inflate로 해놨다. 하지만 xml은 Databinding 설정을 하지 않았다. 이러면 binding 객체를 초기화하지 못한다. 윈도우에서는 Alt + Enter를 누르면 바로 Databinding 셋팅을 해주는 명령어가 나온다. 반드시 Databinding을 사용한다면 설정해주자.
1. 개요 해커톤 때 갑자기 BuildConfig가 인식하지 못하는 경우가 생겼다. gradle에서 오류가 난건지 팀원이 굉장히 힘들어하며 고쳐서 건들지 말라고 했던 기억이 있다... 지금 하는 프로젝트에서도 똑같이 나오길래 적어보자 한다. 2. 본문 팀원이 작성한 코드인데 정확히 어떤것인지 모르고 디버깅할 때 사용하면 좋다고 한다.. if문에 있는 BuildConfig가 가끔 인식이 안되는 경우가 있는데 일단 순서대로 해보자. 2-1. import 잘 됐는지 확인하기 해당 BuildConfig는 자기 패키지 이외에 다른 것도 정말 많이 있다. 혹시 다른 것이 import 된건지 확인해보자 2-2. 만능 도구, Clean Project, Rebuild 사실 이건 안드로이드 개발하면서 많이 사용해보지 않았..
1. 개요 프로젝트 같이하는 형이 Parcleable의 메소드를 전부 구현해둔 것을 보았다. 사실 저 메소드들이 정확이 뭘 하는지는 모르겠지만 간단하게 사용할 수 있는 방법이 있어서 사용해보도록 하자 2. 본문 다음과 같은 Parcelable 처리해준 data class가 있다고 하자. 분명 어노테이션으로 처리해줬는데 가끔 오류가 난다. 그럴때는 모듈단위 gradle에 들어가서 3개를 추가해준다. id 'kotlin-android' id 'kotlin-kapt' id 'kotlin-parcelize' 필자는 kotlin-parcelize가 없어서 어노테이션을 해줘도 인터페이스에 있는 메소드를 전부 구현했어야 했다. 해당 코드를 추가하니 바로 인식이 됐다.
1. 개요 안드로이드를 개발하며 아키텍처 패턴을 처음 적용한 것이 MVC 패턴이였습니다. 간단하면서도 개발하기 쉬워 자주 사용했는데 MVVM을 처음 사용해보고 이제는 바꿔야 한다고 생각했습니다. 정리도 하면서 개발에 더 도움이 되기 위해 글을 작성해보려 합니다. 2. 목차 1. MVC 2. MVP 3. MVVM 4. 정리 각자의 설명과 동작 순서, 장단점을 위주로 작성하였습니다. 마무리로 총 정리를 하고 어떤 패턴을 사용해야하는지 분류했습니다. 3. 본문 본문에 들어가기 전에 MVC, MVP, MVVM 이 단어들의 공통된 부분이 존재합니다. 바로 'M', 'V'입니다. M = Model(표현하고자 하는 데이터) V = View(UI, 화면에 표시되는 요소) 이 2가지는 반드시 필요한 존재입니다. 2개가 ..
1. 개요 사이드 프로젝트를 같이 하는 형이 검색을 어떻게 할까? 라는 질문에 답은 바로 했지만 내가 구현할려고 하니 막상 막막했다. 그래서 이번에도 기억하기 위해 정리해 본다. 2. 본문 구현은 생각보다 간단하다. 기존 EditText에서 2줄만 추가해주자. iemOptions = "actionSearch" 이 코드가 키보드 입력창을 검색으로 만들 것 인지 정해준다. actionSearch 외에도 많이 사용할 수 있으니 나중에 시간되면 찾아보자. 주의할 점은 inputType을 반드시 정의하자. 정의하지 않으면 위의 그림처럼 iemOptions가 작동되지 않는다. 2개다 반드시 정의를 해주고 사용하자. 2-1. 검색 버튼 감지하는 방법 이제 검색버튼을 생성했으니 검색을 눌렀을 때 이벤트를 구현해보자. ..
1. 개요 사이드 프로젝트를 진행할 때 Zeplin을 통해서 디자인을 받았었다. 하지만 요즘은 Figma가 대세인지 다들 Figma를 사용해서 SVG파일을 사용하는 방법까지 새로 배워 정리하고자 한다. 추가로 해커톤 때 어버버해서 정리도 해둘려고 한다. 2. 목록 1. Figma를 통해 svg를 가져오는 방법 2. Android Studio에서 svg 파일을 적용하는 방법 3. 본문 1. Figma를 통해 svg를 가져오는 방법 현재 진행중인 사이드 프로젝트의 디자인이다. 여기에서 클릭 후 png와 svg 둘 다 가능하지만 우리는 svg를 사용 할 것 이다. (svg가 벡터 이미지여서 사이즈가 늘어나도 안깨진다.) 내가 저 화살표를 svg로 다운 받고 싶다면 클릭을 해보자. 클릭 후 정보가 나오고 우측 ..