분류 전체보기


💡 개요 오늘은 Android에서 RecyclerView를 어떻게 사용할 수 있는지에 대해 예제를 통해 공부해보려 한다. RecyclerView는 ListView에 비해 가로/세로/그리드 등 다양하게 리스트를 구현할 수 있고, 아이템을 생성할 때 바인딩된 뷰 객체를 재활용하기 때문에 Performance 측면에서 이점이 있다. 그렇기 때문에 다양하게 사용되고 있어 사용법을 익히고 넘어가고자 한다. 💡 STEP 1 : Layout에 추가하기 가장 처음으로 RecyclerView를 사용하고자 하는 Layout에 RecyclerView를 추가해줘야 한다. 나는 activity_main에서 사용하기 위해 다음과 같이 추가했다. [activity_main.xml] 💡 STEP 2 : RecyclerView에 들어..


💡 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15StKqAQkCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡 문제 [설명] 당신은 인도네시아 내의 N개의 섬들을 연결하는 교통시스템 설계 프로젝트인 ‘하나로’를 진행하게 되었습니다. 하나로 프로젝트는 천해의 자연을 가진 인도네시아의 각 섬 간 교통이 원활하지 않아 관광 산업의 발전을 저해하는 요소를 줄이고 부가 가치를 창출하고자 진행하는 프로젝트입니다. 본 프로젝트에서는 인도네시아 내의 모든 섬을 해저터널로 연결하는 것을 목표로 합니다. 해저터널..


💡 개요 Android 앱을 제작하다 보면 Activity를 이동할 때 값을 전달해줘야 하는 경우가 있다. 그럴 경우 어떻게 하면 값을 전달할 수 있는지 예제를 통해 알아보고자 한다. 💡 방법 일단은 보내고자 하는 Activity에서 Intent를 먼저 생성해야 한다. 그 후 putExtra()를 통해 해당하는 Intent로 데이터를 전달할 수 있다. // Intent 생성 val intent = Intent(this, SubActivity::class.java) // "str"은 key값, str은 value intent.putExtra("str", str) 데이터를 받는 Activity에선 별도의 Intent를 생성하지 않아도 getStringExtra()를 이용해 데이터를 받을 수 있다. // In..


💡 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡 문제 [설명] 전투가 진행 중인 지역은 대규모 폭격과 시가전 등으로 인해 도로 곳곳이 파손된 상태이다. 그림 1(a)에서와 같이 도로들은 전투로 인해 트럭이나 탱크와 같은 차량들이 지날 갈 수 없다. 전투에서 승리하기 위해서는 기갑사단과 보급부대가 신속하게 이동하기 위한 도로가 있어야 한다. 공병대는 출발지(S)에서 도착지(G)까지 가기 위한 도로 복구 작업을 빠른 시간 내에 수행하려고..


💡 개요 Kotlin은 Java와 호환이 가능하다. 그렇기 때문에 Java에서 사용하던 반복문을 그대로 사용할 수 있다. 하지만 Kotlin에서만 사용되는 방법이 따로 있기 때문에 오늘은 Kotlin에서 반복문 사용법에 대해 알아보고자 한다. 💡 in을 이용한 반복문 Kotlin에서는 in을 이용해 다양하게 반복문을 사용할 수 있다. [Example 1] val list = arrayOf(1, 2, 3, 4, 5) for(i in list){ println(i) } [Example 2] for(i in 1..5){ println(i) } [Example 3] for(i in 0..10 step 2){ println(i) } [Example 4] downTo의 경우 감소하는 반복문을 구현할 때 사용할 수 ..


💡 개요 Kotlin을 처음 접하다 보면 var, val를 통해 변수를 선언하는 것을 볼 수 있다. 처음 Kotlin을 사용하면 이 2개가 항상 헷갈리는데 나 역시 그랬기 때문에 var와 val의 차이에 대해 정리해보려 한다. 💡 var (variable)란? var은 우리가 흔히 사용하는 변수의 형태라고 생각할 수 있다. 한 번 선언한 이후에도 값을 수정할 수 있고, 마음대로 조작할 수 있다. 즉, 아래 코드와 같이 사용해도 아무 문제가 발생하지 않는 것이 var로 선언한 변수이다. 단, Type을 지정했다면 그에 맞게 값을 할당해야 한다. 그렇지 않으면 에러가 발생할 수 있다. var num: Int = 1 num = 2 💡 val (value)란? val은 Java에서의 final과 비슷하다고 생각..


💡 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15PTkqAPYCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡 문제 [설명] 이진트리에서 임의의 두 정점의 공통 조상 중 가장 가까운 것을 찾으려 한다. 예를 들어, 아래의 이진트리에서 정점 8과 13의 공통 조상은 정점 3과 1 두 개가 있다. 이 중 8, 13에 가장 가까운 것은 정점 3이다. 정점 3을 루트로 하는 서브 트리의 크기(서브 트리에 포함된 정점의 수)는 8이다. 임의의 이진트리가 주어지고, 두 정점이 명시될 때 이들의 공통 조상 ..


💡 STEP 1 : DB 준비 REST API에서 사용할 DB를 먼저 생성한다. 💡 STEP 2 : 프로젝트 생성 File > New > Spring Starter Project를 클릭 후 아래 이미지와 같이 입력 후 Finish를 누르면 프로젝트가 생성된다. 💡 STEP 3 : Dependency 추가 pom.xml에 다음 3개의 Dependency를 추가해준다. org.aspectj aspectjrt org.aspectj aspectjweaver org.apache.commons commons-dbcp2 참고로 원하는 Dependency는 아래의 사이트에서 편하게 찾을 수 있다. https://mvnrepository.com/ 💡 STEP 4 : application.properties 수정 src/..


💡 Android 구조 Linux Kernel 보안, 메모리 관리, 프로세스 관리, 파일 시스템 관리, 파워 관리, 네트워크 스택, 하드웨어 드라이브 등 하드웨어를 지원한다. HAL(Hardware Abstraction Layer, 하드웨어 추상화 계층) 상위 수준의 Java API 프레임워크에 기기 하드웨어 기능을 노출하는 표준 인터페이스를 제공한다. HAL은 여러 라이브러리 모듈로 구성되어 있으며, 카메라 또는 블루투스 모듈과 같은 특정 유형의 하드웨어 구성 요소를 위한 인터페이스를 구현한다. 프레임워크 API가 기기 하드웨어에 액세스 하기 위해 호출을 수행하면 Android 시스템이 해당 하드웨어 구성 요소에 대한 라이브러리 모듈을 로드한다. Native C/C++ Libraries 안드로이드 프레..