전체 글 29

[Kotlin] Companion object

Companion object는 싱글턴 객체를 이용할 때 사용됩니다. 코틀린에서 Companion object는 클래스 내부에 정의되는 싱글턴 객체입니다. 이 객체는 클래스의 인스턴스와는 별개로 존재하며, 클래스 내부에서 정의된 메서드나 프로퍼티에 접근할 수 있습니다. class MyClass { companion object { const val CONSTANT_VALUE = "Hello, world!" fun myFunction() { println("This is a function inside the companion object.") } } } 위 코드에서 `companion object`를 사용하여 `MyClass` 내부에 싱글턴 객체를 정의하고 있습니다. 이 객체는 `CONSTANT_VALU..

언어/코틀린 2023.05.09

GitFlow

요즘 깃허브를 돌아다니면서 여러 사람들의 코드를 보고 포크해서 사용해보고 있다가 깃에 대한 부분들도 공부해서 올려야겠다라는 생각이 들어서 오늘은 GitFlow에 대해서 작성을 하고자합니다. 1. GitFlow의 용도 GitFlow는 소프트웨어를 개발하기 위해서 Git을 사용하는 방법 중 하나입니다. GitFlow를 사용하면 여러명의 개발자가 함께 작업할 때, 충돌을 최소화하고 효율적으로 협업할 수 있습니다. 2. GitFlow 개요 GitFlow는master develop feature release hotfix 이렇게 5가지의 브랜치가 존재합니다. 1. `master` 브랜치에서는 항상 배포 가능한 상태의 코드만을 유지합니다. 2. `develop` 브랜치에서는 다음 릴리즈를 위한 개발을 진행합니다. ..

GIT/Git 공부 2023.05.09

[Android] 앱 시작 Activity 변경

1. 개요 2. 방법 1. 개요 Android 개발을 하면, 보통 가장 먼저 시작되는 Activity는 Main액티비티로 기본 설정됩니다. 하지만, 만약 우리가 개발하는 앱이 로그인 기능을 지원하고, 그 로그인 기능을 위한 Activity가 있다면(LoginActivity) MainActivity가 아닌 LoginActivity가 가장 먼저 실행되는 것이 개발에 유리할 것입니다. 그렇다면 어떻게 시작Activity를 변경 할 수 있을까요? 2. 방법 Activity는 AndroidManifest에서 관리됩니다. 시작 Activity도 매니페스트에서 변경할 수 있습니다. 보통 매니페스트는 기본적으로 위와 비슷한 형태로 되어있을 것입니다. 저기서 MainAcitivity와 LoginActivity의 위치만 ..

[Android] ViewPager2, Fragment

(개발중에 쓸일이 있어서 썼다가 간단히 메모하고 싶어서 올리는 글... 코드 대충 손보고 쓰는거라 오류 있을 수 있음) 목차 1. 개요 2. 뷰페이저 3. 사용법 1. 개요 https://developer.android.com/jetpack/androidx/releases/viewpager2?hl=ko#androidx-deps ViewPager2 | Android 개발자 | Android Developers 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 스와이프할 수 있는 형식으로 뷰 또는 프래그먼트를 표시합니다. 최근 업데이트 공개 버전 출시 후보 베타 developer.android.com 뷰페이저는 리스트뷰나 리사이클러뷰와는 달리 리스트로 항목들을 보여주는 것이 아닌..

[Android] Intent (인텐트)

목차 1. 인텐트 개요 2. 인텐트 구조 2.1. 카테고리 2.2. 타입 2.3. 컴포넌트 2.4. 엑스트라 3. 명시적/암시적 인텐트 3.1. 명시적 인텐트 3.2. 암시적 인텐트 항상 공식문서를 참조하는 습관을 들이도록 노력합시다. https://developer.android.com/reference/android/content/Intent?hl=ko Intent | Android Developers developer.android.com https://developer.android.com/guide/components/intents-filters?hl=ko 인텐트 및 인텐트 필터 | Android 개발자 | Android Developers An Intent is a messaging objec..

[Kotlin] 코틀린 기초 - 변수, 데이터 타입

변수와 데이터 타입에 대해서 다루어 보겠습니다. 목차 1. 변수선언 2. 타입지정 3. 초기값 4. 데이터 타입 5. null 허용과 불허용 1. 변수 선언 val은 상수를 선언할 때 쓰입니다. var은 변수를 선언할 때 쓰입니다. 2. 타입지정 변수의 타입은 변수 명 뒤에 :를 추가해서 지정합니다. ex) var data : Int = 10 3. 초기값 최상위에 선언하거나 클래스의 멤버 변수는 초기값을 꼭 할당해야합니다. 함수에 선언 한 변수는 초기값을 할당하지 않아도 됩니다 -> 초기화를 미룰 수 있습니다. 1) lateinit 이후에 초기값을 할당할 것을 명시적으로 선언합니다. var 키워드로 선언한 변수에만 사용할 수 있습니다. lateinit var data: String 2) lazy 변수가 ..

언어/코틀린 2023.01.17

[Firebase] 2. Firebase Authentication 시작하기 (+구글로그인)

https://bravenessofdonut.tistory.com/2 [Firebase] 1. Firebase 시작 (SDK설치) 파이어베이스 SDK설치를 중점으로 정리해보았습니다. 1. 프로젝트 만들기 2. Android앱에 Firebase 추가 gradlew signingReport을 안드로이드 스튜디오의 터미널에서 이용하면(Ctrl+Enter이용) SHA-1 구할 수 있 bravenessofdonut.tistory.com 위의 내용을 이미 했다는 가정 하에 작성하였습니다. 1. 좌측의 빌드에서 Authentication 선택 2. Sign-in method로 들어가기 3. 이메일/비밀번호, Google (필요한거 선택하세요) 선택하고 사용설정 선택 4. build.gradle 1) 일반 로그인 기능..

[Firebase] 1. Firebase 시작 (SDK설치)

파이어베이스 SDK설치를 중점으로 정리해보았습니다. 1. 프로젝트 만들기 2. Android앱에 Firebase 추가 gradlew signingReport을 안드로이드 스튜디오의 터미널에서 이용하면(Ctrl+Enter이용) SHA-1 구할 수 있음 3. google-services.json 다운로드 후 App 폴더로 옮기기 google-services.json파일을 다운로드 하고 그 파일을 해당 프로젝트 폴더의 app폴더에 옮깁니다. (파일탐색기가 가장 편했음) 4. SDK 혼돈이 왔던 부분이었습니다. 그 이유는 안드로이드 스튜디오의 그래들 파일 코드와 파이어베이스에서 추가하라고 하는 파이어베이스 코드는 동떨어져 보이기 때문입니다. buildscript { repositories { // Make su..