목록분류 전체보기 (44)
개발여행일지~
enum 은 무엇인가요? enumerated type의 줄임말로 열거형이라고 부르기도 하는데 컴퓨터 프로그래밍에서 열거형(enumerated type, enumeration)은 요소, 멤버라 불리는 명명된 값의 집합을 이루는 자료형이다. 열거자 이름들은 일반적으로 해당 언어의 상수 역할을 하는 식별자이다. Retrofit이란 무엇인가요? 안드로이드 애플리케이션에서 통신 기능에 사용하는 코드를 사용하기 쉽게 만들어놓은 라이브러리이다. REST 기반의 웹 서비스를 통해 JSON 구조의 데이터를 쉽게 가져오고 업로드할 수 있다.
코틀린의 프로퍼티와 변수의 차이 프로퍼티(val)는 읽기전용이고, 한 번 값이 할당되면 이후에 변경할수없는 특성을 가지고있습니다. 변수(var)는 선언된 변수를 변경 가능한 값이고, 변수값은 선언 후에도 변경할 수 있습니다. 위와 같은 특성이 있기때문에 코틀린에서는 var와 val을 구분해서 사용합니다. AndroidManifest에 대해 설명해주세요 앱의 필수 구성 요소이며 정의되지 않은 권한이나 구성요소를 앱 구동 시 사용할 수는 없습니다. 쉽게 말해 안드로이드 프로젝트에서는 반드시 필요한 파일들이 있습니다. AndroidManifest.xml이란 파일이며 Manifest 파일은 앱에 대한 필수 적인 정보를 안드로이드 툴과, OS, Google Play 스토어에 제공됩니다. 해당 파일에는 여러 정보들..
코틀린의 장점 java와 상호 운용 가능, 간결함, null 안전, 향상된 유형 추론, 기능적 프로그래밍, 향상된 성능, 성장하는 커뮤니티가 코틀린의 장점입니다. Intent가 무엇인가요? Intent는 다른 앱 구성요소(Activity, Service, Broadcast Receiver) 로 부터 작업을 요청하는 메세지 객체입니다. 두가지 종류가 있는데, 명시적 인텐트는 수신하는 컴포넌트가 명시적으로 지정된 인텐트이며, 암시적 인텐트는 해당 작업을 수행 할 수 있는 컴포넌트를 찾아서 수행을 요청하는 인텐트입니다. 주로 액티비티, 서비스를 시작하거나 브로드 캐스트를 전달할 때 사용됩니다.
지금까지 완성한 코드의 개선을 위한 트러블 슈팅에 대해 고민하신 후, 가장 적합하다고 생각하는 트러블 슈팅을 팀원 별로 한 가지 작성해 주세요! 트러블 슈팅은 코드는 구현된 상태에서 ‘느린 것을 빠르게’ 와 같은 개선 시킨 경험을 말합니다. 아직 잘 모르겠다면, 고민 중인 내용을 작성하거나 고민이 필요한 키워드를 튜터님과 논의합니다. 팀원 개인별로 작성해주세요. 강아지 : 문제 - 모든 걸 처리하고 담당하는 액티비티 / 해결, 시도 - MVVM으로 코드 리팩토링(아직 못함) 토끼 : 문제 - 프로필 사진 변경 시 바로 적용이 안 되는 것 / 해결, 시도 - 앱이 실행될 때 불러오는 부분의 코드를 다르게 변경해보았지만 아직 고쳐지지 못함 (해결 안됨) 양 소 : 문제 - 좋아요를 할시에 파이어베이스와 앱과..
배열이 무엇일까요? 배열은 연관된 데이터를 모아서 관리하기 위해서 사용되는 데이터 타입입니다. 변수가 하나의 데이터를 저장하기 위한 것이라면 배열은 여러 개의 데이터를 저장하기 위한 것이라고 할 수 있습니다 dp와 sp, px 단위의 차이점은 무엇일까요? px: 픽셀은 화면을 구성하는 가장 작은 단위로, 디스플레이의 물리적인 한 점을 의미합니다. px를 사용하면 디바이스마다 화면 크기와 해상도가 다르기 때문에 동일한 px 값이더라도 실제로 보이는 크기가 다를 수 있습니다. dp: 픽셀 독립적인 단위로, 160dpi(dots per inch)의 화면에서 1dp는 1px와 동일합니다. 이것은 중간 밀도 화면(즉, mdpi)을 기준으로 합니다. 이 단위를 사용하면 다양한 화면 밀도에서도 동일한 크기로 보여질 ..
형 변환 (Type Casting) 이 뭔가요? 모든 변수와 리터럴에는 타입이 있다. 프로그램을 작성하다 보면 같은 타입뿐만 아니라 서로 다른 타입간의 연산을 수행해야 하는 경우도 있다. 이럴 때는 연산을 수행하기 전에 타입을 일치시켜야 하는데, 변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 ‘형변환(Casting)’ 이라고 한다. constraint layout을 설명해주세요, 다른 레이아웃과 비교해서 장점은 무엇이 있을까요? Android에서 제공하는 레이아웃 중 하나로, 복잡한 뷰 계층 구조를 단순화하고 성능을 향상시키기 위해 사용됩니다. 각 뷰를 화면에 배치하기 위해 상대적인 위치 관계를 정의하는 제약 조건을 기반으로 하며, 이 제약 조건은 부모 레이아웃 또는 다른 뷰에 대한 위치 정보를 제..
연산자란 무엇일까요? 일정한 규칙을 가지고 계산하는 것으로서, 우리가 일상생활에서 사용하고 있는 덧셈, 뺄샘, 곱셈, 나눗셈을 비롯하여 프로그램에서는 자동 증감, 동등 비교, 비교 연산 등 많은 연산자가 있다. 특정 컴포넌트나 액티비티가 명확하게 실행되어야할 경우에 사용됩니다. 암시적 인텐트와 명시적 인텐트를 설명해주세요. 명시적 인텐트는 인텐트에 클래스 객체나 컴포넌트 이름을 지정하여 호출할 대상을 확실히 알 수 있는 경우에 사용합니다. 주로 애플리케이션 내부에서 사용합니다. 암시적 인텐트는 인텐트의액션과 데이터를 지정하긴 했지만, 호출할 대상이 달라질 수 있는 경우에 사용합니다. 이미 기존에 지원하는 앱들이 있는 경우 암시적 인텐트를 사용해서 그 앱들을 사용하면 되는 것입니다.
객체와 클래스의 차이 클래스는 현실 세계의 객체의 속성과 동작을 필드와 메서드로 정의한 것으로 아직 메모리가 할당되지 않은 상태 객체는 클래스의 인스턴스이고 클래스를 기반으로 실제 메모리가 잡힌 것을 의미하며 이런 객체를 조합해 전체 프로그램을 완성해 나가는 것이 객체 지향 프로그래밍이다. 안드로이드 context는 무엇인가요? 컨텍스트는 안드로이드의 컴포넌트들이 동작하기 위해 필요한 정보를 담고 있는 객체를 말합니다. 각각의 컴포넌트들(액티비티, 서비스, 브로드캐스트 리시버 등)은 자신만의 컨텍스트를 가지고 있습니다. 컨텍스트 내에는 어플리케이션의 정보(패키지명 등), 컨텍스트가 실행되는데 필요한 정보(테마 등)를 얻거나 시스템 서비스(윈도우 매니저, 레이아웃 인플레이터 등)를 구동하는데 사용됩니다.