본문 바로가기
728x90

Android19

Android ViewModel Test - Junit4 단위 테스트가 무엇인지 이해하고, 적용해 본 경험이 있는 사람을 대상으로 설명하겠습니다. 이 글을 읽고 ViewModel 테스트와 친해지길 바랍니다! 화이팅! Android ViewModel Test AAC ViewModel은 사전 준비 없이 테스트하게 된다면 테스트에 실패합니다. 여기에는 크게 두 가지 경우가 있습니다. LiveData value 변경에 대한 테스트, Coroutine과 같은 비동기 작업에 대한 테스트입니다. 두 경우에 대한 실패 원인은 같습니다. 이는 테스트가 MainThread에서 작동하지 않는다는 것입니다. WorkerThread 테스트는 WorkerThread에서 작동합니다. 테스트는 MainThread에서 수행되지 않고, WorkerThread에서 작동합니다. 이것이 왜 Liv.. 2023. 9. 6.
Intent 알아보기 Intent란? 영어 단어적 의미: 목표, 목적, 의지 안드로이드 공식 문서: 메시징 객체. 다른 Component로 작업을 요청하는 데 사용. 인텐트가 Component 간 통신을 촉진하는 데는 여러 방식이 있지만 기본적인 사용 사례는 크게 세 가지로 나눌 수 있습니다. (액티비티/서비스 시작, 브로드캐스트 전달 등) 즉, Component를 실행하기 위해 시스템에 넘기는 정보. Component(Content provider 제외) 간의 작업 수행을 위한 정보를 전달하는 역할. Intent의 유형과 그에 따른 실행 과정 Explicit intents (명시적 인텐트) 실행하고자 하는 컴포넌트의 클래스명을 Intent에 담아 명시하는 방법. 주로 동일 앱에서 다른 Component를 실행시킬 때 사용.. 2023. 6. 15.
[android] Context를 가지는 객체를 singleton으로 관리하기 아래의 코드들을 실행시키기 위한 MainActivity.kt와 activity_main.xml 더보기 class MainActivity : AppCompatActivity() { private val settingSwitch: SwitchCompat by lazy { findViewById(R.id.notification_setting_switch) } private val settingTv: TextView by lazy { findViewById(R.id.textView) } private val alarmSetting: NotificationSetting by lazy { NotificationSetting.getInstance(this) } override fun onCreate(savedInst.. 2023. 5. 22.
[android] [kotlin] Notification사용하기 (단순한 상단바 알림 만들기) 다양한 앱에서 흔히 볼 수 있는 상단바에 떠있는 알람을 구현해보겠습니다. 아주 간단하고 단순한 예제이며, 화면상의 알림이 없고 상단바에만 생성되는 예제입니다. 화면의 알람, 알림의 구성, 알림에서 빠른 입력 등을 이용하거나 커스텀 해주고 싶다면 아래의 참고란을 확인해주세요. dependencies 추가적으로 스타일을 주거나할 때 dependencies를 주기도 하지만 우선 정말 단순한 예제이기때문에 필요없습니다. 1. 알림을 위한 채널 생성 private fun createNotificationChannel(channelId: String, name: String, channelDescription: String) { // Create the NotificationChannel, but only on A.. 2022. 2. 22.
[android][firebase] playstore에 출시 후 로그인이 안되는 현상 문제 컴퓨터와 빌드폰을 직접 연결하여 실행할 때는 아무 문제 없던 google 로그인 기능이 playstore에 출시 후 playstore에서 다운받아 실행할 때에는 로그인이 되지 않았다. 이전에도 처음으로 로그인 기능을 사용할 때 sha1 인증서 키 문제로 로그인이 안된 것이 생각나 인증 키의 문제일 것이라 생각하고 찾아보았고, play console의 인증 키가 따로 있다는 것을 알았다. 해결 이전에도 처음으로 로그인 기능을 사용할 때 sha1 인증서 키 문제로 로그인이 안된 것이 생각나 인증 키의 문제일 것이라 생각하고 찾아보았고, play console의 인증 키가 따로 있다는 것을 알았다. play console의 설정>앱 무결성에서 인증키를 복사해 firebase의 프로젝트 SHA인증서에 추가.. 2021. 9. 24.
[android] play console 버전 코드 에러 문제 1 버전 코드는 이미 사용되었습니다. 다른 버전 코드를 사용해 보세요. play console에 출시한 앱을 수정하여 새로운 버전으로 올리려고 하였으나 문제가 발생하였다. 이는 수정하기 전과 후의 안드로이드 앱 버전이 동일하기 때문에 play console에 올릴 수 없는 것임을 의미한다. 해결 build.gradle (:app)에서 안드로이드 앱의 버전을 수정해주어야 한다. 2021. 9. 24.
[android] Activity Lifecycle https://developer.android.com/guide/components/activities/activity-lifecycle 활동 수명 주기에 관한 이해 | Android 개발자 | Android Developers 활동은 사용자가 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기와 같은 작업을 하기 위해 상호작용할 수 있는 화면을 제공하는 애플리케이션 구성요소입니다. 각 활동에는 사용자 인터페 developer.android.com Acvitity 생명 주기란? 액티비티의 생성부터 소멸까지의 주기이다. 안드로이드 응용프로그램은 화면이 작아 동시에 여러 개의 액티비티가 나올 수 없어서 앞에 나오는 화면 하나만 활성화된 상태이고 나머지는 모두 비활성화된 상태로 남게 된다. 그에 따른 액티.. 2021. 6. 8.
[android][kotlin] ViewFlipper 사용하기 자세히(android developer) 페이지 자동넘김을 할 때 사용하는 ViewFlipper를 사용해봅시다! 자동 넘기기를 시작해줄 버튼과 자동 넘기기를 멈춰줄 버튼, 사용할 뷰들을 ViewFlipper에 담아줍시다. activity_main.xml xml 더보기 MainActivity.kt package com.example.myapplication import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Button import android.widget.ViewFlipper class MainActivity : AppCompatActivit.. 2021. 5. 18.
[android][kotlin] 달력, 시계, 타이머 사용하기 타이머와 달력 시계를 사용하는 방법을 알아봅시다~ 타이머(Chronometer), 달력(CalendarView), 시계(TimePicker) 우선 xml을 대충 구성해준 후 activity_main.xml 소스코드 더보기 MainActivity.kt package com.example.myapplication import android.graphics.Color import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.SystemClock import android.widget.* class MainActivity : AppCompatActivity() { lateinit var chrono: Chr.. 2021. 5. 10.
728x90