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..
[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..
[Android] EditText 밑줄 없애기
·
📚 공부/Android
기본적으로 EditText를 사용할 경우, 밑줄이 포함되어 나타나지게 된다. 경우에 따라, EditText의 밑줄을 없애야 하는 경우도 있다. 이 때 밑줄을 없애는 방법으로는 2가지가 있다. 1. android:background="@android:color/transparent" 2. androiod:background="@null" 둘 다 XML 파일 상에서 제거가 가능하며, background 속성을 사용하여 없앨 수 있다. 생각보다 간단하게 EditText 밑줄이 제거되는 것을 확인할 수 있다.
[Android] 오류 해결 - Manifest merger failed : Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported`...
·
📚 공부/Android
1. 오류 발생 Execution failed for task ':app:processDebugMainManifest'. > Manifest merger failed : Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details. 새로 프로젝트를 만들면서 빌드를 했는데, 위와 같은 오류가 발생하면서 빌드에 ..
[Android] Palette 항목 (태그) - Button, ImageButton, ChipGroup, Chip, CheckBox, RadioGroup, RadioButton, Toggle Button, Switch, FloatingActionButton
·
📚 공부/Android
Buttons : 각종 다양한 버튼들이 존재 1) : Button 2) : ImageButton - tools:srcCompat("@tools: ~") : 이미지 선택 (jpg 파일 이용 불가능 / 롤리팝 버전 미만) - android:src("@drawable/ ~") : 이미지 선택 (롤리팝 버전 이상) 3) : ChipGroup - 다수의 칩을 관리할 수 있는 레이아웃 / ChipGroup 안에 Chip을 집어 넣어 관리 - HorizontalScrollView 와 singleLine 속성을 이용해 좌우 스크롤이 가능한 ChipGroup 제작 가능 4) : Chip - 어떤 카테고리나 요소, 타입 등을 표현할 때 타원형의 background에 텍스트 표현 - Material Design에서 이를 구..
[Android] Palette 항목 (태그) - TextView / EditText
·
📚 공부/Android
Text : 각종 다양한 텍스트 상자들이 존재 : TextView : PlainText / Password / Password(Numeric) / E-mail / Phone / Postal Address / Multiline Text / Time / Date / Number / Number(Signed) : AutoCompleteTextView : MultiAutoCompleteTextView : CheckedTextView : TextInputLayout ▶︎ 속성 - autoLink : autoLink로 지정한 형식의 링크가 text 안에 존재한다면, 하이퍼링크로 누를 수 있도록 변경 (email / map / phone / web / all) - capitalize : 알파벳 소문자를 입력했을 경우..
[Android] 매니페스트 (Manifest) 조사
·
📚 공부/Android
매니페스트(Manifest) 란? 📍 Manifest 정의 : Android 빌드 툴, Android OS, Google Play에 관한 필수 정보(정의 및 용도)를 설명한다. : 모든 앱은 AndroidManifest.xml 파일이 필수적으로 필요하다. 📍 Manifest 용도 : 패키지의 다른 파일을 읽거나, 응용 프로그램을 실행하지 않고도 앱에 대한 정보를 사용할 수 있다. : 모든 앱은 AndroidManifest.xml 파일이 필수적으로 필요하다. 📍 Manifest에 선언해야 하는 것 앱의 패키지(Package) 이름 앱의 구성요소(Activity / Service / Broadcast Receiver / Content Provider) 시스템, 보호된 부분에 액세스를 하기 위한 권한 앱에 필..
// 코드 블럭 복사