전체 글
-
[Android] counter(계수기, 숫자 세기) 앱 (feat. 화면 회전 시 초기화, 화면 회전 시 UI 가려지기, weight)IT Study/Android 2024. 1. 21. 15:09
안드로이드에서 counter를 만드는 것은 아주 간단합니다. 계수기를 생각하면 더 쉽게 느껴지죠. 계수기 1. + 버튼을 클릭할 경우, 숫자 1이 증가한다. 2. 초기화 버튼 클릭할 경우, 숫자 0으로 초기화된다. 🧮 Counter 코드, UI는 아래의 내용을 통해 확인하시죠. 저의 계수기는 아래와 같이 생겼습니다. (1) MainActivity.kt import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.widget.Button import android.widget.TextView class MainActivity : AppCompatActivity() { ..
-
[Android] View 그려지는 과정 (뷰가 그려지는 순서)IT Study/Android 2024. 1. 20. 16:08
안녕하세요. 이번 글에서는 View가 그려지는 과정에 대해 다뤄보려고 합니다. 안드로이드에서 View는 전위순회 (부모 → 자식 순으로, 위 → 아래, 왼쪽 → 오른쪽) 방식으로 그려집니다. 이렇게 전위순회 방식으로 그려지는 View는 depth가 깊어질수록 확인해야 할 내용이 많아지므로 안드로이드는 flat한 구조로 작성하는 것이 좋습니다. View가 그려지는 순서를 보도록 하겠습니다. 1. measure 모든 뷰는 자신의 width, height (크기)를 계산합니다. measure(측정) 과정에서는 부모 - 자식 간의 뷰 크기에 대한 정보를 전달하기 위해 2가지 클래스를 사용하는데요. ViewGroup.LayoutParams 자식 View가 부모 View에 알리는 내용 (자신이 어떻게 측정되고, ..
-
[Android] 액티비티의 라이프 사이클 (생명주기, Life cycle)IT Study/Android 2024. 1. 20. 14:47
안녕하세요. 이번 블로그 글에서는 Android 개발 시 주로 사용되는 Activity의 생명주기에 대해 알아보도록 하겠습니다. 먼저, Activity의 Life Cycle을 확인하기 위해 아래와 같은 테스트 시나리오를 작성하였습니다. 📊 테스트 시나리오 1. Activity 실행, 종료 시의 Life cycle 2. 다른 App 실행 시 (= 홈 버튼 클릭 시)의 Life cycle 3. 다른 Activity 실행 시의 Life cycle 또한 Activity의 Life Cycle을 확인하기 위해 아래와 같은 테스트 코드를 작성하였습니다. MainActivity.kt package fastcampus.part0.kotlin import android.content.Intent import android..
-
[CS] 신입 개발자 기술면접 질문 - 안드로이드 편 (feat. 진행 중 ing)IT Study/컴퓨터 기초 2024. 1. 15. 20:37
안드로이드 OS에 대해 설명해주세요. 안드로이드 OS는 구글이 개발한 오픈 소스 기반의 모바일 운영체제입니다. 스마트폰 뿐만 아니라, TV나 자동차와 같은 다양한 플랫폼에서 동작할 수 있다는 특징을 가지고 있습니다. 자바와 코틀린의 차이에 대해 설명해주세요. 코틀린은 null 안정성을 제공합니다. 코틀린에서는 변수를 선언할 때, null을 가질 수 있는지 여부를 명시해야 하는데, 이를 통해 Java에서 자주 일어나는 Null pointer exception과 같은 에러를 피할 수 있습니다. 또 코틀린은 간결하고 표현력이 높은 문법을 가지고 있습니다. 타입 추론을 통해 변수의 데이터 타입을 명시하지 않거나 데이터 클래스를 통해 게터/세터/이퀄/해시코드와 같은 메서드를 자동으로 만들어줍니다. 또한 코틀린에는..
-
[Kotlin] 코틀린 중급 (feat. 람다, 확장함수, Scope function, 초기화 지연 등...)IT Study/Android 2024. 1. 15. 15:37
람다 package fastcampus.part0.kotlin fun main() { // 1. 람다 // 익명 함수 (일회용 함수) // 변수처럼 사용할 수 있다. (함수의 argument, return으로 사용) val a = fun() { println("hi") } val b: (Int) -> Int = { it * 10 } // (input) -> return = { 함수 구현부 } val c = { i: Int, j: Int -> i * j } // { input -> 함수 구현부 } val d: (Int, String, Boolean) -> String = { _, string, _ -> string } // _ : 미사용 파라미터 a() println(b(10)) println(c(2, 5..
-
함수의 Parameter와 Argument (feat. 매개변수? 전달인자?)IT Study/컴퓨터 기초 2024. 1. 14. 23:09
안녕하세요, 오늘은 프로그래밍에서 자주 접하게 되는 개념인 Parameter(매개변수)와 Argument(전달인자)에 대해 알아보려고 합니다. 이 두 용어는 코드의 특정 부분을 가리키는 말로, 종종 혼용되어 사용되지만 실제로는 약간 다른 의미를 가지고 있습니다. 정리를 통해 확실히 잡고가도록 하죠. Parameter (매개변수) Parameter, 즉 매개변수는 함수의 입력으로 사용되는 변수를 의미합니다. 함수를 선언하거나 정의할 때, 함수 괄호 안에 선언되는 변수들이 바로 매개변수입니다. fun add(a: Int, b: Int): Int { return a + b } 위의 코드에서 a와 b는 매개변수입니다. 이들은 add라는 함수에서 사용되는 입력값들을 대표하는 변수로, 함수의 동작에 필요한 데이터를..
-
[Kotlin] 코틀린 기초 (feat. 함수, 클래스, Null 등...)IT Study/Android 2024. 1. 14. 22:53
함수 1. 유닛 반환 타입(Unit Return Type): 반환값 없는 함수에 대한 타입 표현, 생략 가능 2. 기본 인수(Default Arguments): 함수 매개변수에 기본값 설정으로 함수 오버로딩 필요성 감소 3. 명명된 인수(Named Arguments): 매개변수 이름을 통한 인수 전달로 인수 순서 자유로움 4. 단일 표현식 함수(Single Expression Functions): 함수 본문 축약 표현으로 코드 간결성 향상 package fastcampus.part0.kotlin fun main() { println("Hello") test1(1, 2) test1(1, 3) test2(1) test2(l = 1, n = 3) // 2-3. 함수 안에서 선언 값에 대해 작성 가능 (순서 무..
-
[백준 알고리즘/Kotlin] 2751번 수 정렬하기2 (feat. 코드 비교하기)IT Study/백준 알고리즘 2024. 1. 6. 15:44
문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 5 5 4 3 2 1 예제 출력 1 1 2 3 4 5 제출한 2개의 코드를 확인해보며, 두 코드를 비교하도록 하겠습니다. 최초 제출 코드 (1번) import java.lang.StringBuilder import java.util.PriorityQueue fun main() = System.`in`.bufferedReade..