프로젝트구조Android 앱 모듈라이브러리 모듈Googla App Engine 모듈모든 빌드 파일은 최상위 Gradle Scripts에 표시manifests: AndroidManifest.xml파일을 포함Java: JUnit 테스트 코드를 피롯한 자바 및 Kotlin
1) xml마크업 언어(HTML)이 아닌 마크업 언어를 정의하기 위한 언어ConstraintLayout각 컴포넌트간의 제약조건에 따른 위치 배정디폴트 레이아웃LinearLayout한 쪽 방향으로만 배치하는 레이아웃RelativeLayout기준 컴포넌트에 대한 상대 위치
1) res/layout/activity_main.xml2) MainActivity.kt1) 버튼 클릭 이벤트 처리View.setOnClickListener(핸들러)로 버튼 클릭 시 실행할 코드 작성핸들러는 이벤트가 발생한 뷰 객체 참조를 매개변수로 가짐, it으로 접
Activity가 생성되서 운영되고, 종료될 때까지 각 상태 변경시 호출되는 콜백 메서드onCreate: Activity가 생성될 때, 최초로 1번만 실행onResume: Activity가 전체화면으로 보일 때 실행된다. onStart 다음으로 실행onStop: Act
dependence에 사용할 기능 implementation여기있는걸 그대로 사용하지말고 최신버전이 있는지 확인하고 쓰길 바란다.implementation 'com.google.firebase:firebase-auth:21.0.1'Firebase Realtime Dat
입력한 정보들 중, 이메일과 비밀번호를 제외한 정보들은 Firestore database에 저장합니다.cloud firestore을 초기화힙니다.회원가입 버튼을 누르면 사용자의 이름을 받아서 데이터베이스의 “user” 컬렉션에 추가
토큰 요청 및 획득서버에 토큰 저장토큰을 이용해 메시지 전송 요청메시지 전송리스너를 통해 메시지 수신google-services.json을 앱 모듈 루트 디렉토리에 설치
안드로이드 11이전과 이후가 다르므로 공식문서확인https://developer.android.com/training/location/permissions?hl=ko1) 위치 서비스 클라이언트 만들기2) 마지막으로 알려진 위치 가져오기3) 위치설정변경inter
개요findebyId()로 프로젝트를 진행 중에있는데 다른 팀에서 그거 옛날거야~ 쓰지마~ 해서 찾아보았다.3.6버전에 binging 기술이 추가되어 findByID()의 안전성과 속도가 보완되었다binding 사용법1) gradle 추가2) MainActivity\_
1. implementation 2. mqtt establish 3. publish 4. disconnect
okhttp와 retrofit은 안드로이드 앱에서 네트워크 요청을 처리하기 위해 있는 인기있는 라이브러리간단하고 가볍고 유연한 HTTP 클라이언트 라이브러리네트워크 요청을 보내고 응답을 받는 기능을 제공직접 요청을 작성하고 응답을 처리할 수 있으며, 커스터마이징 용이간
비동기적 네트워크 요청 Callback인터페이스 구현주의사항네트워크요청은 UI 스레드에서 직접 수행하면 안됨runOnUiThread나 다른방법 사용해야함JSON 데이터의 구조와 일치해야함
드롭다운에서 지역명을 클릭하면 이미지뷰에 이미지를 표시하려면 다음과 같이 작성할 수 있습니다위의 코드는 선택된 지역에 따라 해당하는 이미지를 설정하는 예시입니다. 실제로 사용하는 이미지 리소스 ID 및 이름에 맞게 코드를 수정해야 합니다. 또한, 이미지 리소스는 res
DrawerLayout에 추가된 자식이 Lauout 안에서 서랍과 같은 동작을 수행하는것layout_gravity속성값을 가진 자식만 Drawer로서 동작Drawer Navigatino이라고도 함창의 각 세로모서리에 대해 하나의 drawer View만 가질 수 있다.P
프로젝트 전체 ActionBar 없애기일부 Activity에만 적용하는 경우AppBarLayout: Toolbar를 포함하여 Toolbar이외에 액티비팉 상단을 조금 더 넓게 구성하거나 이미지를 포함하는 등 다양하게 구성할 수 있음
spinner_custom.xmlspinner layoutspinner_dropdown.item.xmladapter 설정
→ Device file explore에서 찾는다.값을 저장하는 코드
안드로이드 개발자를 준비하며 jetpack이란 키워드가 자주 보인다.Jetpack이란 무엇이고 이에대한 고찰을 해보고자한다.Jetpack은 개발자가 중요한 코드에 집중할 수 있도록 권장사항 준수, 상용구 코드 감소, 여러 Android 버전과 기기에서 일관되게 작동하는
안드로이드를 공부하며 Coroutine이란 키워드가 자주 발견되었다. 궁금해서 알아보기로 했다.일종의 가벼운 스레드로 동시성 작업을 간편하게 처리하게 해줄 수 있게 해주는 역할, 안드로이드 개발에서는 코틀린 코루틴을 통해 UI스레드가 중단되는 문제를 효율적으로 처리스레
구글에서 Jetpack Compose를 활용하여 UI 디자인하기를 적극 권장하고 있다고 한다.Android 개발자 꿈꾼다면, 성장하기 바란다면 알아보는 것이 좋겠다.Jetpack Compose는 안드로이드 앱의 UI를 쉽게 디자인하고 빌드하기 위한 라이브러리기존의 x
2023 08 14 08시 Amit Shekhar는 말했다. "Android Developer, please understand Dependency Injection really well before you jump into Dagger/Dagger-Hilt/Koin"
노트북과 데스크톱으로 Github로 Android Studio 개발환경을 공유하며 작업을 하던 중 노트북에선 Database Inspector가 되는데 데스크톱에선 Database Inspector가 안되는 문제에 봉착했다.시도 했던 것File -> Invalidate
Context는 앱의 현재 상태에 대한 글로벌 정보에 액세스할 수 있게 해주는 인터페이스이다. 기본적으로 애플리케이션 환경에 대한 전역 정보에 액세스하기 위해 사용되며, 앱 리소스 및 클래스에 액세스하거나 액티비티를 시작하거나 브로드캐스트를 보내거나 인텐트를 수신하기
activity와 fragment의 생명주기는 다르다 왜일까 activity와 fragment에 대해서 알아보고 이 둘의 생명주기의 대해 알아보자.정의: 'Activity'는 Android 앱에서 사용자와 상호작용하는 하나의 화면생명주기: 여러 상태(onCreate,
Retrofit: Rest API 통신을 위한 OkHttp라이브러리의 상위 구현체API: 프로그램들이 서로 통신하기 위한 매개체(함수, 데이터 등을 주고 받을 수 있다.)REST: 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것REST API란 보다 복
Android 개발을 하면서 Retrofit을 활용하여 Api를 호출하고이 Json데이터를 받았다. 이 media를 제어하기 위해서 S MVVM 패턴의 ViewModel에서 상태를 관리하기로 했다.이 단원은 미디어 파일 URL을 String으로 받는 것과 ApiServ
LiveData, MutableLiveData, obeservseAsState() 등을 사용하면서 Compose를 사용하여 구현한 UI에서 여러 상태를 관리할 수 있다. 이를 Composable 관찰자라고 부르며, 어떻게 구현되며 사용되는지 궁금해졋다. 같이 알아봅시다
Column을 사용하여 UI를 구현하여 대량의 데이터를 표시할 경우 성능 문제가 발생할 수 있다. 왜나하면 모든 데이터 아이템에 대해 해당 컴포저블이메모리에 생성되기 때문입니다.예시(시간별로 비율을 보여주는 리스트)'지연로딩' 또는 "뷰 재활용" 방식을 사용하여 보이는
Column을 사용하여 UI를 구현하여 대량의 데이터를 표시할 경우 성능 문제가 발생할 수 있다. 왜나하면 모든 데이터 아이템에 대해 해당 컴포저블이메모리에 생성되기 때문입니다.예시(시간별로 비율을 보여주는 리스트)'지연로딩' 또는 "뷰 재활용" 방식을 사용하여 보이는