API(Application Programming Interface)프로그램과 프로그램 사이에서 데이터를 주고받을 수 있도록 만들어진 인터페이스이다. 비유하자면 모양이 다른 케이블을 연결할 때 쓰는 젠더처럼 프로그램과 프로그램을 연결해주는 커넥터(인터페이스) 역할을 한
용어 정리 안드로이드는 상황에 맞춰서 컴파일을 두 번 한다. AOT 컴파일(Ahead Of Time Compilation) AOT 컴파일을 하면 설치 시 모두 컴파일되므로 사용할 때 속도는 빠르지만, 컴파일된 파일만큼 디스크의 용량을 차지하여 많은 앱을 설치할 수 없
안드로이드 스튜디오는 편집을 편하게 해주는 도구일 뿐, 실제 컴파일러와 같은 개발 환경은 모두 SDK에 있다. 안드로이드 스튜디오는 이 SDK를 사용해서 최종 설치 파일을 만들어준다.Android Studio -> Settings -> Languages & Framew
레이아웃이나 사용자에게 보이는 것들을 통칭해서 뷰(View)라고 한다.뷰 바인딩으로 뷰와 코드를 연결해 보자.build.gradle(Module: app) 파일에 viewBinding 설정을 추가한다.파일 상단에 나타나는 Sync Now를 클릭해서 설정을 적용한다.ac
👀타입추론 변수나 함수들을 선얼할 때나 연산이 이루어 질 때 자료형을 코드에 명시하지 않아도 코틀린이 자동으로 자료형을 추론해주는 기능. 변수가 선언될 때 할당된 값의 형태로 해당 변수가 어떤 자료형을 가지는지 추론이 가능하기 때문에 아래와 같이 자료형을 생략할
조건문
제어문은 조건문과 반복문이 있는데, 반복문을 이해하려면 반복문에서 필수적으로 다루는 데이터 타입 배열과 컬렉션을 알아야 한다.Int와 Double과 같은 기본 타입은 하나의 변수에 하나의 값만 저장할 수 있는데 하나의 변수에 여러 개의 값을 저장해야 할 때가 있을 것이
🔥증감 연산자 ▶️ 증가 연산자(increment operators) ++a a++ 변수 앞이나 뒤에 +를 2개 붙여 사용하는 연산자로 변수의 값을 '1' 증가시켜주는 역할 ▶️ 감소 연산자(decrement operators) --a a-- 변수 앞이나 뒤에 -
형변환에 대해 공부해보자.아직 함수를 공부하지 않았으니 일단 함수를 호출하면 특정한 동작을 하거나, 원하는 결괏값을 받을 수 있다는 것을 기억하고 시작하자.형변환은 하나의 변수에 지정된 자료형을 호환되는 다른 자료형으로 변경하는 기능이다.기본 자료형숫자형 : Byte,
풀이
💻 Android Studio 유용한 단축키 라인 지우기 Command + delete 주석 처리 (주석 : 프로그램의 동작에 영향을 주지 않고 설명을 추가할 수 있는 문법) Command + / 자동 포커싱 ESC 전체 찾기 Command + Shift + F 문
연산자 1. 산술 연산자 덧셈, 뺄셈, 곱셈, 나눗셈, 그리고 나머지 연산을 가능하게 하는 연산자 2. 대입 연산자 변수나 상수를 만들 때 사용한 '=' =을 기준으로 오른쪽에 있는 값을 왼쪽의 변수명 또는 상수명에 대입한다고 한다. 3. 복합대입 연산자 산술연산자
🍪 메소드 설계 ▶️ 메소드란? 소스코드에 이름을 붙이는 것 특정한 로직을 가지는 소스코드에 별명(이름)을 붙일 수 있고, 이 이름이 붙은 로직을 메소드라고 부를 수 있다. ▶️ Kotlin의 메소드 구조 ▶️ 메소드는 어디에 쓰일까? 로직을 추상화해놓고 상황에
🤔 생성자 "클래스(설계도)를 실체화할때 최초로 실행할 로직을 작성" 클래스는 결국 '어떻게 만들 것이다'하는 종잇장 같은 것 이어서 실체화해야만(메모리에 올려 놔야만) 접근(예를 들어, 머리 색상, 키, 이름 등을 설정하거나 가져오기)할 수 있다. 그러므로 클래스를
😇 상속 '클래스 간의 상속' 클래스(설계도) 간의 관계를 더욱 끈끈하게 만들 수 있다. 공통적인 요소들이 있다면 부모/자식 클래스를 구분해서 상속 관계를 만들 수 있다. 코틀린은 무분별한 상속으로 예상치 못한 흐름을 방지하기 위해 다른 언어들과 달리 생략된 fin
pwd(print working directory) : 현재 내가 작업하고 있는 디렉토리(폴더)를 보여줌참고 : ~는 root라는 경로이며, 현재 보고 있는 폴더보다 더 상위의 폴더를 말함ls(list) : 내 폴더 안에 있는 폴더 & 파일 내역을 보여줌(하위 폴더 리
브랜치는 복사본 같은 것!git branch 브랜치이름 -> enter : 브랜치(복사본) 생성 명령어(enter 쳐도 아무 변화가 없음)git branch : 브랜치 확인 명령어login : 새로 생성은 됐는데 현재 위치해 있진 않음\* main : 내가 현재 위치해
🍰 오버라이딩(Overriding) 1. 오버라이딩이란? 상속받은 부모 클래스의 정보(프로퍼티)나 행위(메소드)를 재설계는 것을 오버라이딩이라고 한다. 주로 부모 클래스의 행위(메소드)를 재설계한다. 2. 오바라이딩을 사용하는 이유 공통적인 내용을 부모 클래스에서
🍫 인터페이스(interface) 1. 인터페이스란? 공통적으로 필요한 기능을 외부에서 추가해줄 수 있는 기능 상속으로 닭, 참새, 비둘기와 부모 클래스인 Bird의 관계를 만들 수 있다. 하지만 새에도 많은 종류가 있고, 고유한 행동도 다른데 코틀린은 반드시 부
프로그램을 실행하기전에 알 수 있는 컴파일 에러를 <span style="color:- 프로그램을 실행하는 도중에 발생하는 런타임 에러는 <span style="color:- 실행도중에 예외가 발생하면 프로그램이 비정상적으로 종료되니 적절한 처리가 필요하다.
변수나 상수의 값을 나중에 초기화할 수 있다.코틀린은 클래스를 설계할 때 안정성을 위해 반드시 변수의 값을 초기화할것을 권장한다. (클래스 만들 때 = ""나, = 0과 같이 공백이라도 넣어준 것이 바로 초기화했던 것!)클래스를 설계할 때 초기의 값을 정의하기 난처해서
일반적으로 변수를 선언하면 코틀린은 메모리에 띄엄띄엄 랜덤으로 생성해서 변수의 위치정보가 연속적이지 않기 때문에 순서가 없다.<span style="color:- 코틀린은 배열을 사용하기 위해 <span style="color:- 크기가 정해져 있어서 처음에
유용한 기능 1. 자료형의 변환 ▶️ 일반 자료형간의 변환 예시 숫자 자료형끼리는 to자료형() 메소드를 활용할 수 있다. ex) toInt(), toDouble() 문자열을 숫자로 변경할때에는 별도의 메소드가 필요하다. ▶️ 객체 자료형간의 변환 예시 객체 자료형간
확장함수 기존 클래스에 쉽게 메소드를 추가할 수 있는 확장함수 코틀린에서는 자바와 달리 외부에서 클래스의 필요한 메소드를 추가할 수 있다. 과도하게 사용하면 코드의 가독성을 해칠 수 있지만 장점도 존재한다. 원하는 메소드가 있지만 내가 설계한 클래스가 아닐때 외부에서
비동기 프로그래밍이란 여러가지의 로직들이 완료 여부에 관계없이 실행되는 방식을 의미한다.작업을 하나씩 순서대로 수행하는 행위를 동기적 프로그래밍이라고 한다.동기적 프로그래밍은 순차적으로 수행하기 때문에 앞선 작업에 영향을 받는데, 이렇게 되면 앞선 작업이 끝나지 않으면
🍠 조건문 & 반복문 연습 1. 1부터 1000까지의 정수 중 짝수들의 합을 출력하기 2. 주어진 정수 배열에서 최댓값을 찾아 출력하기 3. 평균 이상의 숫자 개수를 출력하기 4. 문자열 뒤집기
🍻 Android UI(UserInteface) 1. Android UI 기본 뷰(View): 안드로이드 앱의 UI를 구성하는 기본 단위 뷰의 구성 : 위젯(Widget), 레이아웃(Layout) AndroidStudio에서의 UI 설계는 XML을 사용한다. Layo
ViewGroup의 파생 클래스로서, 포함 된 View를 정렬하는 기능컨테이너에 포함 된 뷰들을 수평 또는 수직으로 일렬 배치하는 레이아웃자식 뷰를 수평,수직으로 일렬 배치하는 레이아웃으로, 가장 단순하고 직관적이며 사용빈도가 높다.LinearLayout의 자식(Ch
xml파일의 EditText의 입력 내용이 가려지게 하기 버튼이 눌렸을 때의 처리
조건문을 만들다가 else if를 if로 바꾸어 if를 2번 써도 구현이 잘 되길래 if - else if를 쓰는 것과 if - if를 쓰는 것에 어떤 차이가 있는지 찾아보았다.if - else if : 총 조건문이 100개 있을때 첫 if문 조건에 만족하면 뒤에 99
코틀린에서는 readLine(), readln()으로 입력받을 수 있다.코틀린의 물음표(?) 는 null을 허용해준다.readLine()은 null을 허용해서 입력받아 반환형이 String?이고, readln()은 null을 허용하지 않고 입력받으므로 반환형이 Stri
dd
https://flow9.net/bbs/board.php?botable=kotlin&wrid=14&page=3
구체적인 개발기한 디테일하게 정해두기(~까지 ~구현하기)string, manifest, layout, 유저 정보 관리 부분 등 무조건 충돌 할 것 -> 소통 많이, merge 시간정해두기, reject 메세지 카피해서 구글링해보기 다양한 위젯 사용해보기테마 : prim
다이얼로그 참고 영상 https://www.youtube.com/watch?v=7On8eSX1pGk
git remote update모든 원격 브랜치를 업데이트하여 최신 상태로 갱신한다. 하지만, 로컬에서 변동 사항을 병합하지는 않는다.git fetch현재 위치하고 있는 원격 브랜치만 업데이트한다. 하지만, 로컬에서 변동 사항을 병합하지는 않는다.\-all 옵션을 주면
발표회를 끝으로 팀 프로젝트가 끝이 나서 팀별 KPTF 회고를 작성해 보았다.소통비대면으로 프로젝트를 진행했지만 자리에 있을 때는 캠을 켰다. 모르는 개념이 있을 때 서로 질문하는 것에 거리낌 없었다.항상 소통이 잘 되는 편이었고, 모르는 부분은 서로 적극적으로 도왔다
🐉 팀 프로젝트 피드백 배운 범위 벗어나지 않는 선에서 기능 잘 써서 만들었다. 하지만 디자인 때문에 기능이 묻히는 느낌이 든다. 레이아웃에서 include하는 것 잘 했다. 회원가입쪽에서 날짜 집어넣을때 date picker 같은 ui 썼으면 좋았을 것 같다. 버튼
뷰 바인딩(View Binding) 지금까지는 1. 뷰 바인딩이란? 뷰 바인딩 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있다. 모듈에서 사용 설정된 뷰 바인딩은 모듈에 있는 각 XML 레이아웃 파일의 결합 클래스를 생성한다. 바인딩 클래스의 인스턴스에
어댑터 뷰는 여러 개의 항목을 다양한 형식(다양한 이미지뷰, 텍스트뷰, 컬러 등)으로 나열하고 선택할 수 있는 기능을 제공하는 뷰이다.예를 들어, 리스트 형식으로 이미지뷰 한 개와 텍스트뷰 두 개를 써야한다고 하자. 리스트가 10개라면 열심히 만들 수 있겠지만, 100
🍪 ListView ListView는 어댑터 뷰의 대표 위젯으로서, 복수 개의 항목을 수직으로 표시한다. 1. ListView 설정 방법 * 메인화면 레이아웃에 ListView 위젯 정의(XML 코드)* 메인 화면 레이아웃 (예,activity_main.xml)에 L
⭐️ RecyclerView 실무에서 가장 많이 쓰는 AdapterView는 RecyclerView! 반드시 완벽하게 숙지하자! 1. RecyclerView란? RecyclerView는 안드로이드 앱에서 리스트 형태의 데이터를 표시하는데 사용되는 위젯이다. 여러 아이
상품 이름은 최대 두 줄이고, 그래도 넘어가면 뒷부분에 …으로 처리 ListView는 xml 코드에서 자체적으로 하단 구분선을 그리는 기능이 있지만, RecyclerView는 ItemDecoration을 사용해서 그려줘야 한다. 처음에는 xml의 View로 그렸는데
프로젝트 만들고 각자 clone을 하기 전 gitignore 파일을 먼저 작성하여 미연에 혼선을 방지할 수 있었다.이전 프로젝트 경험을 회고하여 프로젝트 시작전 개선점을 찾아 반영한 점이슈가 있을 때마다 노션에 기록해 문제점을 잘 파악할 수 있었다.이슈가 생겼을 때 혼
안드로이드의 데이터를 영구적으로 저장하는 방법은 크게 3가지가 있다. 1. SharedPreferences 2. 데이터베이스로 저장 3. 파일 형태로 저장 데이터를 영구적으로 저장한다는 것은 앱 내에서 데이터를 사용하고 앱을 종료하거나 폰을 껐다 켜도 날아가는 게 아
1. 위치 접근 권한 사용자의 위치를 추적하기 위한 3가지 권한이 있다. android.permission.ACCESSCOARSELOCATION: 와이파이나 모바일 데이터(또는 둘 다)를 사용해 기기의 위치에 접근하는 권한이다. 도시에서 1블록 정도의 오차 수준이다
Miseya (미세먼지 앱) 특정 지역의 미세 먼지 수치, 등급을 알려준다. 데이터는 공공데이터포털(https://www.data.go.kr)을 이용한다. 수신된 JSON 데이터를 가공한다. 미세먼지 등급에 따라 아이콘/배경색이 변경된다. 1. 공공데이터 포털 htt