분류 전체보기
-
[Android] DP vs SP안드로이드 2022. 5. 7. 16:34
안드로이드 UI 레이아웃을 정의할 때 주로 사용되는 DP와 SP에 대해서 알아보고자 합니다.👇🏻 PX이란?🤷🏻 PX이란 화면을 구성하는 최소 단위로 화면의 전체 화면 크기와 상관없이 지정한 수치만큼 표시되는 절대적 표시 단위입니다. 그러므로 전체적인 화면 크기에 대응하기 위해서 사용되는 단위가 DP입니다. DPI란?🤷🏻♂️ DPI는 Dots Per Inch로 1인치에 들어가는 픽셀을 나타내는 단위입니다. 예를 들어 100dpi는 1인치당 픽셀이 100개가 포함된다는 것을 의미합니다. 개수가 많을수록 고밀도이며 안드로이드에서는 주요 DPI는 아래와 같습니다. ldpi : 120dpi mdpi : 160dpi (기본) hdpi : 240dpi xhdpi : 320dpi xxhdpi : 480dpi xxxh..
-
[Android] Timber로 Debug 상태에서 로그 찍어내기안드로이드 2022. 4. 30. 22:30
Timber? 🐞 Timber는 Android의 Log 클래스 위에 구축된 로깅 유틸리티 클래스입니다. Debug 상태에서 Log를 남기고, Release 상태에서 Log를 출력하고 싶지 않을 때 주로 사용합니다. 사용법🤷🏻♂️ 1. app 수준의 build.gradle에 Timber 의존성 추가 (22.04.30일 기준 라이브러리 버전) implementation 'com.jakewharton.timber:timber:5.0.1' 2. Debug 상태에서만 로그를 출력하기 위해 앱 시작 시 Timber 초기화해주어야 합니다. class Application: Application() { override fun onCreate() { super.onCreate() if(BuildConfig.DEBUG)..
-
[Android] ADB wifi 디버깅 방법(무선 디버깅)안드로이드 2022. 3. 26. 13:11
안드로이드 ADB와 WIFI를 사용해 무선으로 디버깅을 할 수 있습니다. ADB란🤔 Android Debug Bridge의 약자로 Android Device와 통신하며 Debugging 등의 작업을 진행할 수 있는 Command Line Tool입니다. Android SDK에도 포함되어 있으며 애플리케이션 설치, Device 접속 및 관리, 파일 업/다운로드, 시스템 log 출럭, shell 접속 등이 가능합니다. 무선 디버깅 방법🔍 1. USB디버깅 활성화 먼저 개발자 옵션을 활성화시켜줍니다. (설정) -> (휴대전화 정보) -> (소프트웨어 정보) -> (빌드번호) 연속 클릭하여 개발자 모드 활성화 개발자 옵션에 들어가 USB 디버깅을 활성화해줍니다. 2. Wifi를 연결한 안드로이드 기기와 PC 연..
-
[Android] LayoutInflater란안드로이드 2022. 3. 22. 20:32
LayoutInflater란?🤔 XML에 미리 정의해둔 틀을 실제 메모리에 올려주는 역할을 합니다. Inflater 단어의 뜻은 부풀리다는 의미로 LayoutInflater 이 단어에서도 역할을 유추할 수 있습니다. 즉 LayoutInflater는 XMl에 정의된 Resource를 View 객체로 반환해 주는 역할을 합니다. 우리가 매번 사용하는 onCreate() 메서드에 있는 setContentView(R.layout.activity_main) 또한 Inflater 역할을 합니다. LayoutInflater 생성 방법👀 getSystemService : 가장 기본적인 방법으로 context에서 LayoutInflater를 가져오는 방법입니다. val inflater: LayoutInflater = c..
-
[Android] 아키텍처 패턴(MVC,MVP,MVVM)에 대하여안드로이드 2022. 3. 20. 20:29
아키텍처 패턴이란🤔 아키텍처를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미합니다. 소프트웨어 시스템의 구조를 구성하기 위한 기본적인 윤곽을 제시합니다. 아키텍처 패턴에는 서브 시스템들과 그 역할이 정의되어 있으며, 서브 시스템 사이의 관계와 여러 규칙, 지침 등이 포함되어 있습니다. 아키텍처 패턴의 장점👍🏻 시행착오를 줄여 개발 시간을 단축시키고, 고품질의 소프트웨어를 생산할 수 있습니다. 검증된 구조로 개발하기 때문에 안정적인 개발이 가능합니다. 이해관계자들이 공통된 아키텍처를 공유할 수 있어 의사소통이 간편해집니다. 시스템의 구조를 이해하는 것이 쉬워 개발에 참여하지 않은 사람도 손쉽게 유지보수를 수행할 수 있습니다. 시스템이 특성을 개발 전에 예측하는 것이 가능해집니다. 그럼 이..
-
[Android] ConstraintLayout안드로이드 2022. 3. 19. 21:51
ConstraintLayout은 RelativeLayout과 비슷하게 레이아웃 사이의 관계에 따라 모든 보기의 레이아웃이 결정되지만, RelativeLayout보다 유연하고 Android 스튜디오의 Layout Editor와 함께 사용하기 수월합니다. ConstraintLayout을 사용해야 하는 이유🚀 ConstraintLayout를 사용해야 하는 이유를 알기 이전에 먼저 뷰가 그려지는 과정을 이해할 필요가 있습니다. 뷰가 그려지는 과정은 3가지 단계를 거쳐 view가 화면에 나타납니다. Measure 단계 : view의 크기를 결정하는 단계입니다. 이 단계는 root 노드에서 시작해 반복적으로 호출되며, 각각의 호출은 부모로부터 전달된 인자들과 함께 발생합니다. 이 인자들은 widthMeasureSp..
-
[Android] Fragment에서 Google Map Api 사용하기안드로이드 2022. 3. 18. 17:44
Android Fragment에서 Google Map API를 사용법을 정리해보았습니다. 1. 프로젝트 생성 Google Api Console에서 프로젝트를 생성해 줍니다. 프로젝트 생성 후 API 라이브러리로 이동하여 API 사용 등록합니다. Maps SDK for Android 텝을 들어가 해당 API 사용을 클릭합니다. 2. API 키 생성 및 설정 Google API 대시보드 화면에서 사용자 인증 정보 텝으로 이동. 사용자 인증 정보 텝에서 사용자 인증정보 만들기 클릭. 그러면 위와 같이 API 키가 생성됩니다. 그런 다음 우측에 있는 API 키 수정 버튼을 클릭하여 애플리케이션 제한사항을 설정해줍니다. Google Map API를 적용할 Android 앱의 패키지 명을 적어주고 SHA-1 키를 ..
-
[Android] SharedPreferences안드로이드 2022. 3. 17. 17:00
SharedPreferences란 안드로이드 앱은 SharedPreferences를 통해 Integer, String 타입의 간단한 데이터를 저장할 수 있습니다. 단순히 숫자 몇 개, 문자열 몇 개를 저장하기 위해 SQLite나 서버 DB를 이용하기에 부담스럽기 때문에 SharedPreferences를 사용하는 것이 적합합니다. 특징👍🏻 SharedPreferences는 간단한 데이터를 앱의 개별 저장소에 xml파일로 저장 앱이 삭제되기 전까지 저장한 데이터가 보존 SharedPreferences 객체를 생성할 때 파일 이름을 인자로 전달하여, 그 이름으로 xml파일이 생성 데이터를 저장할 때는 key/value 형태로 저장 SharedPreferences는 put/get메소드를 제공하여 데이터를 저장하..