Home
won983212
Cancel

[Java] Autoboxing과 Unboxing

컴파일러가 primitive 타입을 wrapper 클래스 타입으로 변환해주는 것을 autoboxing이라고 합니다. 예를 들어 int타입을 Integer로, double을 Double로 바꾸는 경우입니다. 아래는 autoboxing이 발생하는 경우를 예시로 든 것입니다. Integer sum = 0; // int -> Integer Charac...

[Java] String Literal에 관하여...

String Literal이란? 큰따옴표(“)로 감싸여져 있는 문자열을 의미합니다. 예를 들어 아래의 코드에서 “Hello, world!”가 String Literal입니다. String str = "Hello, world!"; 위의 코드에서 볼 수 있듯이, String Literal은 String 타입입니다. 그래서 아래와 같이 작성할 수도 ...

[Android] NestedScrollView 내부에 RecyclerView를 사용했을 때 스크롤이 제대로 안되는 문제

발견한 문제 NestedScrollView안에 RecyclerView를 두면 스크롤이 안되는 문제가 있습니다. 저는 RecyclerView를 Horizontal로 사용했습니다. 이렇게 사용하면 RecyclerView는 가로로 스크롤되고, 세로로 스크롤하면 NestedScrollView가 움직여야합니다. 하지만 실제로는 가로로 스크롤은 잘 되지만, 세로...

[Android] Handler Deprecated 문제

Handler자체가 deprecated된 것은 아닙니다. Handler의 생성자인 Handler()가 deprecated되었습니다. 암시적으로 Looper가 결정되는 Handler() 생성자는 사용할 경우 문제가 생길 여지가 있다고 합니다. 일부 작업이 유실될 수 있는 버그 Looper가 없는 쓰레드에서 생성될 경우 에러(crash) R...

[Android] Activity Lifecycle

Activity는 사용자나 시스템의 요청에 따라 다양한 상태로 전환될 수 있습니다. 앱을 실행하는 도중에 잠깐 다른 앱으로 이동, 다른 Activity로 이동, 앱을 종료하는 등의 전환이 발생했을 때 Activity에서 이를 알아차리고 적절한 처리를 하도록 콜백을 구현할 수 있습니다. Android 공식 문서에서는 Lifecycle 콜백을 통해 아래...

[Kotlin] ::class vs ::class.java

Kotlin에서는 클래스 표기 방법을 두 가지 제공합니다. ::class와 ::class.java입니다. 이 두 표기방법은 각각 Kotlin의 Class, Java의 Class를 표현하는데 사용됩니다. 두 표기법은 어떤 차이가 있는가? ::class ::class.java ...

[Android] Chronometer

Chronometer는 타이머 기능이 포함된 TextView입니다. 이 뷰를 쓰면 간단하게 시각적인 타이머 기능을 넣을 수 있습니다. Base 이 View에는 base라는 속성이 있습니다. base는 언제를 기준으로 타이머를 셀 것인지 정합니다. 단위는 milliseconds입니다. chronometer는 base부터~ 기기를 부팅한 뒤로 몇 m...

[Android] 크기 단위 (DP, SP, PX, ...)

안드로이드는 많은 기기에서 사용되고 있습니다. 스마트폰, TV, 테블릿, 등… 정말 다양한 기기에서 사용하는 만큼 화면 크기도 제각각입니다. 안드로이드는 이 문제를 해결하기 위해 화면 크기 별 자동으로 사이즈를 변환해주는 크기 단위를 도입합니다. 이 크기 단위에 대해서 언급하기 전에 몇 가지 필요한 지식들을 먼저 보고 가겠습니다. DPI 1인치당 ...

[BOJ 16235] 나무 재테크 (C++)

문제 https://www.acmicpc.net/problem/16235 풀이 이 문제는 나무를 저장할 자료구조를 잘 선택해야합니다. 저는 결국 deque를 선택했고, 각 칸마다의 나무들을 각각 저장하는 deque를 만들었습니다. (100개의 deque) 나무들의 위치는 deque의 위치로 알 수 있으므로 나이만 저장하면 됩니다. 이때 나이순으로 ...

[Android] 이벤트 처리

이벤트 처리는 사용자와 상호작용하기 위해 반드시 필요합니다. 모든 GUI Framework가 그렇듯이 안드로이드에서도 고유의 이벤트 처리 방법을 제공합니다. 크게 두 가지 방식으로 이벤트를 처리할 수 있습니다. 이벤트 종류에 따라 두 방식중 하나를 선택해야합니다. 이벤트 콜백 함수를 오버라이딩해서 처리하기 처리 로직을 담은 이벤트 리스너 ...