저번학기 android 앱을 만들었기 때문에 개발환경은 준비 돼 있기 때문에 Pass~1일차는 모르는 용어 정리 위주로 한다.앱 생성시 Package name : 앱의 식별값으로 패키지명이 같으면 스토어에 등록할 수 없고 기기에 설치도 할 수 없으므로 고유한 이름으로
공개 운영체제인 리눅스 기반자바나 코틀린 사용안드로이드 운영체제의 주요 부분과 라이브러리, 구글에서 만든 앱 등의 코드는 대부분 공개안드로이드 스마트폰은 구글뿐 아니라 여러 제조업체에서 생산가능플레이 스토어뿐 아니라 다양한 방법으로 배포 가능모든 응용 프로그램이 평등
표현력과 간결함안전한 코드 객체지향 프로그래밍에서 객체는 널 상태일 수 있으며 이때 런타임 오류인 널 포인트 예외가 발생할 수 있는데 코틀린은 변수를 널 허용과 널 불허용으로 구분해서 선언할 수 있다.상호 운용성 : 코틀린은 자바와 100%호환 되며 하나의 앱을 개발할
코틀린의 모든 변수는 객체이다. 정수를 표현하는 Int, Short, Long과 실수를 표현하는 Double, Float, 2진수를 표현하는 Byte 그리고 true나 false를 표현하는 Boolean 타입이 있다. 문자는 Char로 나타내며 문자를 ' ' 감싸소 표
Array - 배열 표현배열 선언 val data1 : Array<타입> = Array(크기,{초기값})예시또한 제네릭으로 명시하지 않고 기초 각 기초 타입의 배열을 나타내는 클래스 이용할 수 있다.ex) val data1 : IntArray = IntArray(
📝클래스 선언📝클래스 객체 생성 및 접근📝주 생성자코틀린 클래스는 생성자를 주 생성자와 보조 생성자로 구분함. 한 클래스 안에 주 생성자만 선언할 수도 있고 보조 생성자만 선언할 수도 있다. 주 생성자는 constructor키워드로 하며 주 생성자 선언은 필수는
접근 제한자란 클래스의 멤버를 외부의 어느 범위까지 이용하게 할 것인지 결정하는 키워드이다.데이터 클래스데이터 클래스는 data키워드로 선언하며 자주 사용하는 데이터를 객체로 묶어 준다.결과 : true데이터 클래스의 equals() 함수는 주 생성자의 멤버 변수가 같
널이란 객체가 선언되었지만 초기화되지 않은 상태이다. 만약 주솟값을 가지지 못하고 널인 상태의 객체를 이용하면 널 포인트 예외가 발생한다. 널 포인트 예외는 널인 객체를 이용할 수 없다는 오류이다. 이때 널 안정성이란 널 포인트 예외가 발생하지 않도록 코드를 작성하는
android:autoLink 속성TextView에 출력한 문자열을 분석해 특정 형태의 문자열에 자동 링크를 추가해 준다.autoLink 속성값으로는 web.phone.email 등을 사용할 수 있으며 여러 개를 함께 설정하려면 ||기호로 연결한다. android:m
앱의 화면에서 발생하는 사용자 이벤트는 터치이다. 앱의 화면에서 발생하는 사용자의 터치 이벤트를 처리하고 싶다면 액티비티 클래스에 터치 이벤트의 콜백 함수인 onTouchEvent()를 선언하면 된다. 콜백 함수란 어떤 이벤트가 발생하거나 시점에 도달했을 때 시스템에서
안드로이드폰은 다양한 크기가 있는데 폰 크기의 호환성은 안드로이드 시스템에서 도와주는 부분이 있고 개발자가 직접 코드에서 해결해야 하는 부분이 있다. 안드로이드 기기의 크기 구분|크기|설명||ldpi|저밀도 화면이며 ~ 120dpi||mdpi|중밀도 화면이며 ~ 160
구글에서 안드로이드 앱을 개발하는데 필요한 다양한 라이브러리 모음을 제트팩이라는 이름으로 제공한다.제트팩은 안드로이드 플랫폼이 기본으로 제공하는 플랫폼 API외에 따로 추가된 라이브러리이다.ART에서 제공하는 안드로이드 앱의 핵심 라이브러리로 대부분 android나 j
vue imageonCreate() : 앱 켤 때 딱 한 번만 실행됨,UI 그려줌, 액티비티 내 모든 요소들을 이 메소드에서 초기화 시킬 수 있음onStart() : UI 그려진걸 사용자에게 보여주기 위한 준비상태onResume() : 이벤트나 새로고침하는 단계, 기
구글의 머티리얼 디자인은 모바일과 데스크톱, 그리고 그 밖에 다양한 장치를 아우르는 일관된 애플리케이션 디자인 지침이다. 예를 들어 그림자 효과를 주어 사용자가 화면의 계층을 쉽게 파악하게 하거나 버튼을 터치했을 때 물결 모양의 효과를 주어 어느 부분을 터치했는지 직관
안드로이드 앱은 모두 4개의 컴포넌트로 개발하는데 이때 핵심 클래스가 Intent이다. 인텐트는 컴포넌트를 실행하려고 시스템에 전달하는 메시지이다.액티비티에서 다른 액티비티를 실행하며 데이터를 전달해야 할 때는 엑스트라 데이터를 이용해야 한다. 엑스트라 데이터란 인텐
브로드캐스트 리시버는 흔히 이벤트 모델로 실행되는 컴포넌트라고 정의한다. 여기서 이벤트란 액티비티를 다룰 때 살펴본 사용자 이벤트가 아니라 부팅이 완료되는 것과 같은 시스템의 특정한 상황을 의미한다. 시스템에 어떤 이벤트가 발생하면 브로드캐스트 리시버를 실행해 앱이 해
는 에러가 나온다. 그 이유는 컴퓨터가 num1과 num2가 정수라는 것을 보장받지 못하기 때문이다. 때문에 우리는 컴퓨터에게 우리가 정수를 보장해 준다는 것을 말해줄 필요가 있는데 그것을 하는 키워드가 !!이다.함수를 간단하게 선언하는 방법가변인자를 갖는 함수배열Co
어플리케이션이나 객체의 현재 상태를 나타내주는 역할을 합니다.방금 막 태어난 햇병아리같은 객체는 현재 자신이 위치한 환경(액티비티 / 어플리케이션)이 어떤 곳인지 대략적으로 알 필요가 있습니다. ("내가 지금 어디에 있고 난 다른 객체들과 어떻게 소통하지?") 이럴때
클래스의 내부 변수와 메소드를 하나로 패키징하는 것객체에 선언된 변수의 접근을 set/get 메소드로만 접근하게 하는 것(외부에 감춤)코드의 재사용성 높여주며 오류의 범위 최소화 가능코틀린은 변수를 선언하면 자동으로 get()/set() 내부생성val 변수는 값 변경
원래 ViewPager2 이전에 ViewPager가 있었는데 deprecated되고 새로운 버전이 새로 나왔다.차이점은 이름과 Adapter를 만들때 Adapter가 상속받는거 정도..?ViewPager2의 Adapter를 만들땐 보통 FragmentStateAdapt
📝 스타일 가이드의 필요성 프로젝트를 할 땐 혼자 하는 것이 아닌 다른 사람들과 협업을 해야한다. 하지만 자신의 방식대로 일관성 없이 코딩을 하게 된다면 다른 사람이 봤을 때 이해하는데 시간이 오래 걸릴뿐 아니라 시간이 지난 뒤 자신이 보더라도 이해하기 힘들다. 때문
함수가 반환하지 않을 때 암시적으로 Unit을 사용한다. 생략하면 Unit이 있는 것. 다른 언어에서 void와 같음함수 서명 : 함수의 이름, 입력(매개변수), 출력(return type)을 통칭매개변수 목록 : 쉼표로 구분되는 매개변수들 함수가 매개변수에 전달된 값
제네릭은 클래스와 같은 데이터 유형이 속성 및 메서드와 함께 사용할 수 있는 알 수 없는 자리표시자 데이터 유형을 지정하도록 허용합니다.제네릭 적용 X)제네릭 적용 O)✏️ 제네릭 적용 전에 매개변수 하나의 자료형이 달라 3개의 클래스를 만들어야했지만 제네릭을 사용해
예를들어위와같이 하나의 추상클래스를 3개의 클래스가 상속했다고 가정해봅시다.위와 같이 Item의 상태를 확인하는 함수를 사용하면 else branch를 만들라는 오류가 나옵니다.이러한 오류가 발생하는 이유는 컴파일러가 MenuItem를 상속받는 하위 클래스를 모르기 때
동기 코드에서는 한 번에 하나의 task만 진행합니다. 즉 하나의 코드가 끝나야 다음 코드가 실행됩니다.ex)동기 함수는 task가 완전히 완료된 경우에만 반환됩니다. 따라서 main()의 마지막 print 문이 실행된 후에 모든 작업이 완료됩니다. main() 함수가
비동기식으로 또는 동시에 작업을 실행할 때는 작업 실행 방법, 코루틴의 지속 시간, 취소되거나 오류로 인해 실패하는 경우 발생하는 현상 등에 대한 질문에 답해야 합니다. 코루틴은 구조화된 동시 실행의 원칙을 따르므로, 메커니즘의 조합을 사용하여 코드에서 코루틴을 사용할