최근 게시물
-
Android
👋Android CustomView
CustomView 또한 하나의 View이기 때문에 CustomView에 대해서 학습하기 전에 View와 View가 그려지는 과정에서 대해서 파악해보려고 합니다. 1️⃣ View란 View는 Activity에서 화면을 구성하는 최소 단위입니다.즉, 사용자들이 안드로이드 App을 사용할 때 마이페이지 등에서 프로필 사진, 사용자 명, 뒤로가기 등의 구성 요소들을 볼 수 있듯이 화면에 보이는 모든 것은 View 입니다. 정확히는 앞에서 말한 것들이 TextView, ImageView, Button을 통해 화면에 표시되는 것입니다. TextView, ImageView 뒤에 View가 붙는 것을 보고 유추할 수 있듯이 View 클래스를 상속받아 구현하고자 하는 View에 대하여 그리기 및 이벤트 처리 등의 작업..
-
Android의 모든 것
👋Android의 모든 것 : Activity란
1. 액티비티(Activity)와 태스크(Task) 그리고 백 스택(back stack) 애플리케이션이라면 반드시 하나 이상의 액티비티를 가져야할 만큼 안드로이드 개발에 기초가 되는 이 놈은 무엇일까? 안드로이드 4대 컴포넌트 중 하나인 액티비티는 사용자와 상호작용을 하는 UI(User Interface)가 그려지는 Window를 가지는 애플리케이션에서 독립적으로 활용되는 실행 단위입니다. 애플리케이션에선 다른 액티비티를 호출하거나 다른 애플리케이션의 액티비티도 호출할 수 있습니다. 아래 시나리오를 봅시다. --- 사용자가 상호작용하여 애플리케이션에서 A 액티비티에서 B 액티비티가 호출되었다가 백버튼에 의해 다시 A 액티비티로 돌아가게 되었다고 생각해봅시다. --- 여기서 태스크(task)와 백 스택(b..
-
Android의 모든 것
👋Android의 모든 것 : 1️⃣App Components
👋Android의 모든 것 목 차 예제 Android 1. Application Fundamentals Android Package 👋Android의 모든 것 : APK와 AAB란? Languages Kotlin Java C++(JNI) 2. Android Operation System Multi-User-Linux File Permissions Resource Isolations Process Management 3. Android Pla goni95.tistory.com 1️⃣App Components 1. Activity UI 화면을 담당하는 컴포넌트로 애플리케이션이라면 반드시 하나의 이상의 Activity를 가져야 하고 Acitivty class를 상속받아 Activity가 기본적으로 가지는 생명..
-
Android의 모든 것
👋Android의 모든 것
목 차 예제 Android 1. Application Fundamentals Android Package 👋Android의 모든 것 : APK와 AAB란? Languages Kotlin Java C++(JNI) 2. Android Operation System Multi-User-Linux File Permissions Resource Isolations Process Management 3. Android Platform Archtecture 👋Android의 모든 것 : 1️⃣Android, 2️⃣Android SDK, 3️⃣Platform Architecture 4. App Manifest, Context 👋Android의 모든 것 : 1️⃣App Manifest, 2️⃣Context 5. App ..
-
Android의 모든 것
👋Android의 모든 것 : APK와 AAB 및 앱 서명(AAB)
1. APK와 AAB란 무엇일까? 안드로이드 앱 개발자라면 사용자에게 서비스를 하기위해 안드로이드 App을 개발하고 스토어에 등록하는 배포 과정을 거치게 되는데 이 개발된 App을 배포하기 위한 파일 형식이 APK, AAB 입니다. 1-1. APK란 Andorid Application Package의 약자로 안드로이드에서 프로그램 형태로 배포되는 형식의 확장자입니다. iOS의 ipa 파일은 디바이스 해킹을 하지 않는 한 Apple App Store에서 지원하는 App 외에는 설치가 불가능하지만 APK 파일은 Google Play Store를 통해 다운로드 받지 않더라도 사용자가 다운로드 받아 사용이 가능하다는 차이점이 있습니다. App을 APK 파일로 직접 설치하는 일은 보안 관점에서 매우 위험한데, G..
-
그 외
🍅PomodoroTimer : 타이머 어플리케이션
🍅 PomodoroTimer º 프로젝트 인원 : 1명 º 프로젝트 기간 : 2022월 3월 17일 / 1일 🛠 개발환경 및 사용한 라이브러리 Development Environment Android Studio (version : Arctic Fox | 2020.3.1 Patch 4) Device Galaxy - S20 5G (OS : Android 10 / API Level : 29) Using Library CountDownTimer SoundPool 📜 Coding Convention Coding Convention Kotlin 공식 코딩 컨벤션 폴더구조 네이밍 Class : Pascal Case Variable 및 Method : Camel Case Resource File : Lower Sna..
-
Android
👋Android 인터뷰를 위한 간단 정리
1️⃣ Android Q) 안드로이드란 무엇일까? 안드로이드란 구글에서 제작한 스마트폰 모바일 운영체제로 운영체제, *미들웨어, 사용자 인터페이스, Web 브라우저 / 이메일 클라이언트 / SMS 등의 응용 프로그램을 하나로 묶어 제공하는 소프트웨어입니다. *미들웨어 : 운영체제와 해당 운영체제에서 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서비스 외 추가적인 서비스를 제공하는 소프트웨어(DB, WAS 등) Q) Android SDK란 무엇일까? 개발자들이 모바일 어플리케이션을 제작할 수 있도록 안드로이드 API, Debugger, Emulator, IDE, 라이브러리, 샘플 코드, 관련 문서 등을 제공하는 소프트웨어입니다. Q) Android APK란 무엇일까? 리소스 파일, 인증서, 매니페스..
-
Android의 모든 것
👋Android의 모든 것 : 1️⃣DialogFragment
DialogFragment란 생명주기 이벤트를 처리(화면 전환, LiveData 활용)하기 힘든 기존의 Dialog를 보완하기 위해 탄생한 대화상자를 보여주기 위한 프래그먼트로 Dialog 객체를 포함하고 있습니다. 공식문서에서는 DialogFragment를 사용하는 것을 권장합니다. Fragment의 생명주기를 가짐 Dialog 사용 시 Activity가 종료되어도 Dialog가 살아남아 발생하던 leaked window crash, IllegalStateException 방지 Fragment와 Dialog 중 하나로 사용이 가능
-
Android
👋Android Programming : SnackBar! 기본 사용법부터 커스텀까지
SnackBar란 SnackBar는 디바이스의 화면 하단에 작업에 대한 간단한 피드백 또는 메시지를 제공할 때 사용하며 화면의 가장 위에 나타나며 한 번에 하나씩 표시할 수 있습니다. SnackBar는 일반적으로 시간 초과 또는 화면의 다른 곳에서 사용자와 상호 작용 시 자동으로 사라지며 화면 밖으로 스와이프 할 수 있습니다. 우선 SnackBar를 화면에 표시하려면 make() 메서드를 사용하면 됩니다. make(view: View, text: CharSequence, duration: Int) SnackBar class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCrea..
-
Android의 모든 것
👋Android의 모든 것 : 1️⃣MVVM을 위한 Databinding, LiveData 개념과 예제
https://goni95.tistory.com/173 👋Android의 모든 것 | Droid Knights 2021 목 차 예제 Android 👋Android의 모든 것 : 1️⃣Android, 2️⃣Android SDK, 3️⃣Platform Architecture 👋Android의 모든 것 개념 : 1️⃣App Manifest, 2️⃣Android Context, 3️⃣App Components 1 O 👋An.. goni95.tistory.com Android에서 프로젝트를 MVVM 아키텍처 패턴으로 설계하기 위해 알아보면 ViewModel이 View에 대한 의존성을 갖지 않고 느슨하게 연결되도록 Databinding 라이브러리가 필수적으로 사용된다는 말과 함께 ViewModel이 데이터의 변경을..
-
Android의 모든 것
👋Android의 모든 것 : 1️⃣ AAC ViewModel과 MVVM ViewModel에 대하여
https://goni95.tistory.com/173 👋Android의 모든 것 | Droid Knights 2021 목 차 예제 Android 👋Android의 모든 것 : 1️⃣Android, 2️⃣Android SDK, 3️⃣Platform Architecture 👋Android의 모든 것 개념 : 1️⃣App Manifest, 2️⃣Android Context, 3️⃣App Components 1 O 👋An.. goni95.tistory.com 2017년 Google I/O에서 발표한 Android Architecture Components(AAC)는 안드로이드 개발자들에게 테스트와 유지보수가 편리한 어플리케이션을 만드는 것을 목적으로 출시된 라이브러리 모음입니다. 2018년 Google I/O..
-
Coroutine
📌Coroutine(코루틴) 실습 : viewModelScope, launch, suspend, join
코루틴에 대한 내용을 공부하고 Android에서 사용해오다 깔끔하게 정리해보려 합니다. 1. 모듈 수준의 build.gradle 파일에 ViewModel KTX 라이브러리 종속성 추가 def lifecycle_version = "2.4.1" // ViewModel implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" viewModelScope() 함수를 제공받기 위해서 ViewModel KTX 라이브러리를 추가합니다. 2. ViewModel 인스턴스 초기화 class MainActivity : AppCompatActivity() { private lateinit var mainViewModel: MainViewMode..
-
Git & Github
😃Git bash - Part 3 : Fast-foward merge와 3-way merge
👋 Git fast-foward merge 가장 기본적인 merge로 기존 branch에서 분기한 branch 둘 모두가 동일한 commit을 참조하고 있는 경우 Fast-foward 관계라고 합니다. feature branch는 master branch에서 분기되었으며, 두 branch가 공통으로 commit 1을 참조하고 있고 이를 base라고 합니다. 이때 feature branch에서 어떤 작업을 하며 commit 2, 3, 4를 한 상태에서 master branch에 merge 하면 master branch의 HEAD가 feature branch의 HEAD와 같은 commit 4를 가르키게 됩니다. 이러한 fast-foward 관계의 특징은 merge commit이 생성되기지 않는다는 것입니다...
-
Coroutine
👋Coroutine : 1. Coroutine이란
fun routine() { subRoutine() } fun subRoutine() { .... } Routine은 컴퓨터 프로그램의 일부이며 특정한 일을 실행하기 위한 일련의 명령입니다. 이러한 일련의 명령을 함수라고 합니다. Sub Routine은 함수 내부에 함수가 존재하는 경우 내부에 존재하는 함수를 의미합니다. 즉 sub routine은 routine에 의해 순차적으로 수행되게 됩니다. Coroutine이란 코루틴은 무엇일까? 위에서 확인했던 Routine과 Sub Routine은 순차적으로 수행되었지만 Coroutine은 함께 수행됩니다. 스레드는 선점형 멀티태스킹으로 실제로 멀티코어를 사용해 *병렬성을 가질 수 있지만 코루틴은 비선점형 멀티태스킹으로 CPU를 시간분할하여 사용하기 때문에 실..
-
Git & Github
😃Git bash - Part 2 : Git 자주 쓰이는 명령어와 설명
Part 2에서는 Git 사용 시 자주 쓰이거나, 사용할 수 있는 명령어들에 대해서 알아보겠습니다. 명령어를 알아보기 전에 HEAD가 무엇인지 꼭 확인하고 넘어가셔야 합니다. HEAD : branch의 마지막 커밋을 의미합니다. 👋 Git 기본 명령어 1. clone Part 1.에서 Git 초기 설정과 로컬 저장소와 원격 저장소를 생성해 둘을 연결하는 방법을 알아보았는데, clone 명령어를 이용하면 원격 저장소의 프로젝트를 로컬 저장소로 복사해오는 작업을 합니다. $ git clone https://github.com/GONI95/GitStudy.git $ git clone [Git Repository web URL] 아래는 clone 명령어의 옵션과 로컬 저장소의 작업 트리 명을 설정하는 방법에 대..