일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오르막수
- hilt
- 지능형 기차2
- BuildConfig
- Parcelable
- 백준 14501
- 시뮬레이션
- 백준
- 완전탐색
- 스카이라인 쉬운거
- 순열
- 약수 구하기
- java
- Android
- Parcelize
- 순수함수
- 최단경로
- 프로그래머스
- EditText
- EditorInfo
- 자바
- imeOptions
- 백준 퇴사
- 2501
- val
- dfs
- 조합
- Kotlin
- BFS
- SWEA
- Today
- Total
목록분류 전체보기 (95)
안드 공부를 해볼까?
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. 개요 개발을 하다가 TabLayout의 Tab을 디자인할 일이 생겼다. 프로젝트를 하면 많이 했다고 생각했는데 할 때마다 계속 전 프로젝트를 봐서 발전이 없는 것 같아 정리를 하고자 한다. 2. 목록 - TabLayout 설명 - Tab Custom * Indicator * Tab Text TabLayout의 설명을 자세히 하기보단 사용하는데 중점을 두고 포스팅을 했다. 설명은 개발자 문서를 보는 것을 추천한다. 3. 본문 1. TabLayout TabLayout은 말 그대로 Tab을 사용하는 레이아웃이다. Tab을 누르면 그 상황에 맞게 작동을 하고 주로 ViewPager를 연동해서 사용한다. 소스코드를 보면 TabLayout 내부에 TabItem이라고 만들어 놨다. 이것이 TabLayout을 선..
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로 다운 받고 싶다면 클릭을 해보자. 클릭 후 정보가 나오고 우측 ..
1. 문제 분석 기존 프린터처럼 들어온대로 출력하는 것이 아니라 우선순위에 따라 출력을 한다고 한다. 또한 우선순위는 주어지고 높은 순서부터 뽑는다고 한다. 나는 여기서 우선순위 큐가 바로 떠올랐다. 우선순위 대로 데이터를 뽑아주면 끝이니깐 매우 쉬운문제라고 생각했다. 하지만 정렬이 안된다.. 그리고 역순으로 정렬을 해야하는데 구현하는게 상당히 까다로웠다. 결국 마지막으로 생각한 것이 일반 큐에 데이터를 넣고 하나씩 비교를 하는 방법으로 구현했다. 만약 내가 뽑고자 하는 우선순위가 아니라면 다시 큐에 넣고 우선순위면 해당 위치를 주었다. 2. 구현 import java.io.*; import java.util.*; public class Main { public static void main(String..
1. 문제분석 괄호가 닫힌다면 레이저가 존재하는 것이고 자르게 된다. 여기서 봐야할 점은 스택을 하나씩 넣어보면서 계산한다는 점이다. 처음부터 다 넣고 pop을 해서 보는게 아니다. 만약 ')'라면 레이저거나 쇠막대기의 끝이거나가 된다. 먼저 레이저면 쇠막대기를 자르는 것이다. 그렇게 되면 위의 그림처럼 전체적인 쇠막대기를 자르는 것이다. 반대로 괄호가 전부 닫혀 마지막 쇠막대기가 된 상태를 보자. 마지막에 레이저가 존재하지 않지만 자르고 남은 쇠막대기가 1개 남는다. 이를 통해 문제를 해결 하면 된다. 2. 구현 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOE..
1. 개요 버튼에 커스텀 배경이 안되길래 구글링을 했다. 전에도 했는데 기억이 안나 정리를 해볼려고 한다. 2. 본문 버튼 디자인을 커스텀으로 만들어놨다. 이를 버튼의 background에 적용해보자. 딱 봐도 이상하다. 분명 hawkes_blue는 회색인데 보라색이 아직도 적용된 모습이여 구글링을 했다. Button -> android.widget.Button으로 변경하면 적용이 된다. 테마를 바꾸거나 backgroundTint = @null로 변경도 가능한데 이 방법이 확실하고 편하다. 이제 깔끔하게 커스텀한 버튼 배경이 적용된다. 3. 마무리 이번에 해커톤 참여하면서도 왜 디자인이 안먹지..? 라는 생각과 동시에 예전에 한 기억이 떠올랐다. 버튼에 커스텀 디자인은 많이 사용하니 기억해두자.
1. 개요 사이드 프로젝트를 진행하면서 Noto Sans kr 폰트를 사용중인데 폰트 자체에 여백이 있어 문제가 생겼다. 디자이너분에게 여쭤보기 전에 안드로이드에서 해결할 수 있는지 확인하다가 찾아서 정리를 한다. 2. 본문 위와 같이 폰트 자체에 있는 Padding으로 인해 문제가 발생한다. android:includeFontPadding="false" 위의 코드로 폰트 자체에 여백을 제거해주면 된다. 3. 마무리 모르는게 나오면 항상 구글링하는데 이참에 블로그에 정리하면서 해야겠다. 그러면 구글링 횟수를 줄일 수 있지 않을까..?