본문 바로가기

Android87

[Android] Assets 폴더 만들기 app -> New -> Folder -> Assets Folder를 생성하시면 됩니다. 저는 폴더를 만들기 위해 Android Resource Directory, Sample Data Directory 등등 시도해봤는데 이 글을 보시는 분들은 한 번에 해결하세요! 2022. 6. 24.
[Firebase] Android에 Firebase 연동하기 구글에 Firebase입력하시면 아래와 같은 창이 뜨게 됩니다. 이제 시작하기와 프로젝트 만들기를 순서대로 눌러주시면 됩니다. Firebase는 총 3단계로 이루어져 있습니다. 순서대로 차근차근 입력하시면 됩니다. 프로젝트를 만들고난 다음엔 아래 그림과 같이 안드로이드 모양의 버튼을 클릭해주시면 됩니다. 이제 프로젝트와 안드로이드를 연결하는 과정으로 총 3가지 과정을 거쳐야 합니다. 1. Android 앱에 Firebase 추가 패키지 이름의 경우 manifest 파일 상단에 적혀있는 package를 복붙하시면 됩니다. SHA-1의 경우 아래의 글을 확인해주세요! [Android] SHA-1 key 쉽게 확인하기 예전에는 Gradle을 클릭해서 signingReport를 눌렀을 때 SHA-1의 정보를 확.. 2022. 6. 2.
[Android] SHA-1 key 쉽게 확인하기 예전에는 Gradle을 클릭해서 signingReport를 눌렀을 때 SHA-1의 정보를 확인할 수 있었습니다. 하지만 왜인지는 모르겠지만 안나오더라구요! 이럴 땐 terminal을 켜서 gradlew signingReport를 입력해주시면 됩니다. 22/07/20 이제 gradlew signingReport가 아닌 ./gradlew signingReport로 입력해주셔야 됩니다! 아마 전자로 입력하시면 터미널 자체에서도 ./를 붙여달라는 에러가 뜨게 됩니다 https://www.devopsschool.com/blog/how-to-get-sha-1-key-in-android-studio-for-firebase/ How to Get SHA-1 key in Android Studio for Firebase... 2022. 5. 31.
[Firebase] Android Gradle 연동 문제 - build gradle plugin id com.google.gms:google-services 이번에 제가 프로젝트에 Firebase를 연동하면서 gradle이 완전 바뀐걸 확인했습니다. plugins { id 'com.android.application' version '7.2' apply false id 'com.android.library' version '7.2' apply false id 'org.jetbrains.kotlin.android' version '1.5.31' apply false } 그래서 이게 뭘까.... 하면서 일단 해보자!! 라는 생각에 plugin id 'com.google.gms:google-services' is invalid: Plugin id contains invalid char ':' (only ASCII alphanumeric characters, '.'.. 2022. 5. 31.
[Android Module] 순환참조 (Circular Dependency)란? 순환 참조란 두 가지 이상의 객체가 서로에 대한 참조 상태를 가지고 있을 때 발생하며, 순환 참조가 발생하게 되면 서로에 대한 참조가 해제되지 않기 때문에 메모리에서 유지되며 이로 인한 메모리 leak이 발생하게 됩니다. 아래 그림과 같이 빨간 줄이 순환참조를 발생시키는 원인입니다. 코드로 한번 확인해볼까요? class A { val b = B() } class B { val a = A() } fun main() { val a = A() } A가 초기화할 때는 B가 할당되고, B가 초기화될 땐 A가 할당되도록 설정한 후 main에서 객체 A를 생성하였더니 아래와 같은 에러가 발생하게 됩니다. 이러한 문제가 바로 순환참조라고 합니다. 위와 같이 지속적으로 A와 B가 호출되기 때문에 메모리 누수가 발생하는 .. 2022. 5. 29.
[SWM Mobile] 모듈화 (Modularization, 5/26) 주제: 클린 아키텍처를 위한 모듈화 저희 프로젝트는 App -> domain/feature -> common -> foundation으로 기준으로 layer를 나눴으며 총 5개의 모듈을 잡았으며 아래와 같이 모듈화 하기로 결정하였습니다. (추후에 추가될 예정) 세팅 외에도 모듈화와 관련된 3가지를 배울 수 있었습니다. 1. 의존성의 역전과 순환참조 모듈화의 이유는 의존성을 낮추기 위함도 포함되어 있습니다. 예를 들어 foundation -> home 과 같이 의존성 역전이 일어난다면 어떻게 될까요? 바로 순환참조가 나타나게 됩니다. [Android Module] 순환참조 (Circular Dependency)란? 순환 참조란 두 가지 이상의 객체가 서로에 대한 참조 상태를 가지고 있을 때 발생하며, 순환.. 2022. 5. 28.
[Android Module] Android 모듈화 왜 하는 걸까? 모듈이란? 안드로이드 공식홈페이지에 따른 설명에 의하면 아래와 같습니다. 모듈은 소스 파일 및 빌드 설정으로 구성된 모음이며, 이를 통해 프로젝트를 별개의 기능 단위로 분할할 수 있습니다. 프로젝트에는 하나 이상의 모듈이 포함될 수 있으며, 하나의 모듈이 다른 모듈을 종속 항목으로 사용할 수 있습니다. 각 모듈을 독립적으로 빌드, 테스트, 디버그할 수 있습니다. 위의 설명처럼 모듈은 소스 파일과 빌드 설정으로 구성된 모음이며 저희가 처음 프로젝트를 생성 시 만들어지는 app 또한 모듈의 한 종류입니다. 안드로이드 스튜디오에서 [File -> New -> New Module] 또는 [app클릭 -> New -> Module] 로 모듈을 추가할 수 있습니다. 모듈을 생성할 때의 대표적인 3가지를 설명하겠습니.. 2022. 5. 28.
Software Maestro OSS 모바일 팀에 참여하다. 이번에 저는 소마에서 진행되는 OSS 모바일 팀 프로젝트에 참여하게 되었습니다! 참여하게 된 계기 여태까지 저는 안드로이드 개발공부를 해오면서 어떠한 목적을 가진 어플리케이션을 완성하기에 바빴던거 같습니다. 그래서 팀에 참여하는 것이 조금 걱정되고 제가 이 프로젝트에 참여하였을 때 도움이 될 수 있을까 라는 걱정을 많이 했지만 멘토님께서 걱정말라며 차근차근 하나씩 해보자고 격려해주셔서 이렇게 도전하는 마음에 참여하게 되었습니다. 모바일 프로젝트의 목표 앞으로 소마에 참여하는 미래의 연수생분들 중 Android, IOS 개발을 하는 분들이 저희 OSS 프로젝트를 참고하여 보다 쉽게 개발을 할 수 있도록 돕는 것이 최종 목표입니다. 다짐 아마 프로젝트를 하면서 제가 모르는 수 많은 내용들 공부하게 될텐데 이.. 2022. 5. 28.
Activity 생명주기(Lifecycle) Activity Lifecycle Activity의 생명주기는 총 7가지로 분류할 수 있습니다. 1. onCreate() 이 콜백은 시스템이 먼저 활동을 생성할 때 실행되는 것으로, 필수적으로 구현해야합니다. 활동의 전체 수명 주기 동안 한 번만 발생해야 하는 기본 애플리케이션 시작 로직을 실행합니다. ex) ViewModel 연결, 데이터 바인딩, 일부 클래스 범위 변수들을 인스턴스화 2. onStart() 활동이 사용자에게 표시되고, 앱은 활동을 foreground에 보내 상호작용할 수 있도록 준비합니다. ex) 앱이 UI를 관리하는 코드를 초기화합니다. 3. onResume() 앱이 사용자와 상호작용합니다. 어떤 이벤트가 발생하여 앱에서 포커스가 떠날 때까지 앱이 이 상태에 머무릅니다. 이 상태에서.. 2022. 5. 8.