Baby Yoshi Blinking
[Android] Android Studio에서 Markdown Preview 보기
·
📚 공부/Android
프로젝트를 하면 README.md 파일을 작성해야할 때가 있다. Android Studio 내부에서 작성하면 Preview가 나오지 않아 불편했었는데, 생각보다 간단하게 Preview를 볼 수 있다는 사실을 알게 되어 포스팅을 하게 되었다. 1. Android Studio → Help → Find Action... Android Studio → Help → Find Action... 으로 들어가서 'Choose Boot Java Runtime for the IDE' 를 입력 후 클릭해준다. 2. Choose Boot Runtime for the IDE New에 'Select runtime' 부분을 클릭하면 여러 버전들이 나오게 되는데, 그 중에서 '~with JCEF'가 붙어있는 최신버전을 클릭하고, O..
[Android/Kotlin] DataBinding (데이터 바인딩)
·
📚 공부/Android
저번 포스팅에서 ViewBinding에 대해서 자세히 다뤄보았다. 프로젝트 하면서도 ViewBinding을 많이 사용해왔었는데, 최근 MVVM에 관심이 많아져 살펴보다보니 ViewBinding 보다 DataBinding을 더 많이 사용하는 것을 알게 되었다. 본격적으로 MVVM 공부를 하기 전에 DataBinding에 대해서 공부를 하고 넘어가는 것이 좋을 것 같아서 포스팅을 하게 되었다. 1. DataBinding의 장점 Android 공식 문서를 살펴보니 DataBinding의 장점을 3가지 정도 소개하고 있었다. ✏️ DataBinding의 장점 1. 많은 UI 프레임워크 호출을 삭제 → 파일을 더욱 단순화 시키고, 유지관리가 쉽다. 2. 앱 성능을 향상시킨다. 3. 메모리 누수 및 NullPoin..
[Android/Kotlin] ViewBinding (뷰 바인딩)
·
📚 공부/Android
1. ViewBinding 이란? viewBinding은 뷰와 상호 작용하는 코드를 더 쉽게 작성할 수 있게 해주는 기능으로, 기존에 사용하던 findViewById를 대체하기 위한 방법이다. (findViewById는 View의 Id를 R클래스에서 받아와서 사용하는 방법이다.) 🤔 "findViewById를 잘 쓰고 있었는데, 왜 viewBinding으로 대체되었을까?" ✏️ viewBinding의 장점 1. findViewById 보다 속도가 상대적으로 빠르다. 2. 정확한 view의 타입을 찾아 맵핑해준다. 3. NullPointerException을 방지 해준다. 1) findViewById 보다 속도가 상대적으로 빠르다. findViewById는 모든 View의 Id 값에 접근해서 확인하게 된다..
[Android/Kotlin] Kakao Maps API 연동하기
·
📚 공부/Android
1. Kakao Maps API 사이트 Kakao Map API 사이트 : https://apis.map.kakao.com/android/guide/ • SDK 다운로드 : Download SDK 버튼을 눌러준다. (최신 버전으로 다운로드) 2. Android_DaumMap_SDK_[다운로드한 버전]\libs 내부 파일들 • 안드로이드 스튜디오 (Android Studio) : app\src\main 경로에 jniLibs 폴더를 생성해서 클릭된 폴더 3개를 옮겨준다. : app\libs 경로에 libDaumMapAndroid.jar 파일을 옮겨준다. (Project 상태로 해야 libs 폴더가 보인다는데, 내 경우에는 안보여서 libs 폴더를 따로 생성해주었다.) 3. build.gradle(:app)에..
[Android] ConstraintLayout
·
📚 공부/Android
Wanted 안드로이드 프리온보딩 사전 과제를 진행하면서 조사했던 내용들에 대해서 정리해보고자 한다. 1. ConstraintLayout 개념 및 주요 특징 ConstraintLayout 개념 복잡한 레이아웃을 단순한 계층 구조를 이용하여 표현할 수 있는 ViewGroup이다. View들에 제약 조건(Constraint)을 주어서 배치할 수 있다. 다른 View나 부모 Layout과의 정렬 조건 및 연결 관계를 나타낸다. 레이아웃 에디터를 적극 활용하여 쉽고 빠르게 화면을 구성하기 위해 도입된 Layout이다. ConstraintLayout의 특징 LinearLayout을 써야만 했던 View 비율 조절을 간단히 할 수 있다. RelativeLayout과 비슷하지만, 더 유연하고 다양한 기능들을 제공한다..
[Android] dp와 sp 차이점
·
📚 공부/Android
1. 개념 Android 기기 별로 화면 크기 및 픽셀 밀도가 다양하다. - 화면 크기 : 애플리케이션을 표시하기 위한 물리적 공간의 양 - 픽셀 밀도 : 화면의 실제 영역 내에 있는 픽셀 수 (dpi = dots per inch = 1인치 안에 있는 dot의 개수) cf.) 여기서 밀도는 해상도랑 다른 개념이다. - 해상도 : 화면 상의 총 픽셀 수 cf.) 픽셀 밀도가 다른 기기에서 좋은 그래픽 품질을 제공하기 위해서 Android에서는 여러 개의 비트맵 버전을 제공하고 있다. - ldpi : 저밀도 화면 리소스 (120dpi) - mdpi : 중밀도 화면 리소스 [기본] (160dpi) - hdpi : 고밀도 화면 리소스 (240dpi) - xhdpi : 초고밀도 화면 리소스 (320dpi) - x..
[Git] Git 기초
·
📚 공부/Git, Github
1. Git Git : 여러 명이 효율적으로 협업하기 위한 툴 : 오픈 소스로 누구나 사용 가능 : 여러 버전 동시에 관리 가능 (데이터 안전성 보장) : 다른 백업 파일 필요 없이, 하나의 파일로 관리 가능 Git 특징 1. 가지치기와 병합 : 여러가지 작업 동시 진행 : 가지치기로 독립적으로 작업 가능 : 각자 개발 및 테스트 진행 후 → 병합으로 main코드에 반영 → main코드에서 배포 2. 가볍고 빠르다 : 서버와의 통신 없이 local에서 진행 cf.) SVN vs Git 차이 - SVN : 중앙 시스템에 여러 개발자가 접속하여 코드 공유 - Git : 다른 사람과 코드 공유할 때만 중앙 서비스에 접속하면 되기 때문에 네트워크 속도와 관련 없이 빠르게 작업 가능 3. 분산 작업 효율적 : 사..
[Kotlin] 조건문(if, when) / 반복문(for, while, forEach) / 연산자
·
📚 공부/Kotlin
조건문 💡 IF문 : if문의 조건문이 참일 때 따라오는 구문을 실행하는 기능 : 참과 거짓을 구분하기 위해서는 비교 연산을 통해 구할 수 있다 Example fun main() { var a = 7 if(a>10){ println("a는 10보다 크다.") } else{ println("a는 10보다 작거나 같다.") } } 결과 ▶︎ a는 10보다 작거나 같다. (조건에 대하여 거짓이므로 else문으로 간다.) 💡 비교연산자 : 부등호 → = != : 등호 → == : is 연산자, !is 연산자 (자료형이 맞는지 체크) → a is Int (형변환까지 한번에 진행시켜줌) 💡 WHEN (다중 조건문) : switch문을 좀 더 편리하게 바꾼 기능 : 하나의 변수를 여러 개의 값과 비교할 수 있다..
[Kotlin] 함수(fun, override fun) / 타입추론
·
📚 공부/Kotlin
타입 추론 💡 타입 추론 : 변수나 함수들을 선언할때나 연산이 이뤄질때 자료형을 명시하지 않아도 자료형을 추론해주는 기능 : 기본 자료형들도 선언 시 값만 할당해주면 대부분 자료형을 명시할 필요가 없다 💡 타입 종류 일반 정수형 리터럴 = Int L이 붙은 정수형 리터럴 = Long 일반 실수형 리터럴 = Double f가 붙은 실수형 리터럴 = Float 16진수와 2진수 = Int Boolean 과 Char cf.) 대부분은 코틀린의 타입추론 기능을 활용하여 코드를 줄일 수 있다! Example fun main() { var a = 1234 var b 1234L var c = 12.45 var d = 12.45f var e = 0xABCD var f = 0b0101010 var g = true var..
[Kotlin] 형변환 / 배열(ArrayList, MutableList)
·
📚 공부/Kotlin
형변환 💡 형변환 : 하나의 변수에 지정된 자료형을 호환되는 다른 자료형으로 변경하는 기능 : 논리형은 변환할 수 없다 💡 형변환 함수 : toByte() / toShort() / toInt() / toLong() / toFloat() / toDouble() / toChar() : 코틀린에서는 암시적 형변환을 지원X (형변환시 발생하는 오류를 없애기 위해서) cf.) 형변환의 종류 (2가지) - 명시적 형변환 : 변수를 할당할 시 자료형을 지정하는 방법 - 암시적 형변환 : 변수를 할당할 시 자료형을 지정하지 않아도 자동으로 형변환 된다. 배열 : 기존의 변수는 하나의 값만을 저장했다면, 배열은 여러 개의 값을 지정할 수 있는 데이터 타입이라고 보면 된다. : array (array 클래스로 제공된다 /..
[Kotlin] 변수와(var, val) 상수 / 기본 자료형
·
📚 공부/Kotlin
1. 코틀린 시작 전 💡 코틀린 시작 전 알아두면 좋은 것들! 코틀린은 함수형 언어 / 안드로이드는 객체지향 언어 이다. Class 밖에서 변수를 선언하는 것은 의미가 없기 때문에 변수는 Class 안에서 선언해주자! 프로그래밍 언어에는 ‘시작점(애플리케이션을 시작했을 때 가장 먼저 실행되는 코드)’이 있다. 안드로이드에서는 onCreate() 함수가 시작점이다. 코틀린에서는 구문 끝에 ;(세미클론)이 붙지 않는다. 클래스 이름: 파스칼 표기법 - ex. ClassName(회사마다 작성하는 방법이 다르기 때문에 선택적으로 사용해도 된다.) 변수 이름: 카멜 케이스 (가장 많이 사용) - ex. helloWolrd / 스네일 케이스 - ex. hello_world 변수의 선언 위치에 따라 이름이 다르다. ..
[Android] Palette 항목 (태그) - View, TextView, ImageView, WebView, VideoView, CalendarView, ProgressBar, SeekBar, RatingBar, SearchView, SurfaceView, Divider
·
📚 공부/Android
Widgets : 각종 다양한 위젯들이 존재 * 위젯은 뷰 중에서 일반적인 컨트롤의 역할을 하는 것 ** 위젯은 애플리케이션 내부에 있는 소형 애플리케이션 같은 느낌으로, 주기적으로 업데이터를 받는 장점이 있음 1) : View - 사용자 인터페이스 구성요소의 기본 빌딩 블록을 나타냄 - 일반적으로 컨트롤이나 위젯으로 불리는 UI 구성요소 (사용자 눈에 보이는 화면의 구성요소) - 그리기 및 이벤트 처리 담당 - 위젯의 기본 클래스 - 직접 서브 클래스 : TextView, ViewGroup, ProgressBar, ... - 간접 서브 클래스 : Button, CheckBox, CalendarView, ... 2) : ImageView - 이미지를 출력해주는 위젯 ** scaleType - androi..
// 코드 블럭 복사