안드로이드 코틀린179 [Kotlin] 알림 구현 - Action Button & Broadcast Receiver 안녕하세요. 오늘은 알림 내에서 Broadcast Receiver로 Action Button을 구현하는 방법을 알아보겠습니다. 더보기 왜 Broadcast Receiver를 사용하는가? Action Button을 클릭할 때 앱이 닫혀있을 수 있기 때문입니다. 알림에서 Action Button을 클릭할 때마다 브로드캐스트를 수신하고 특정 코드를 실행하도록 설정하겠습니다. https://developer.android.com/guide/components/broadcasts 브로드캐스트 개요 | Android 개발자 | Android Developers 브로드캐스트 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 앱은 Android 시스템 및 기타 Andro.. 2022. 10. 9. [Kotlin][Android] Jetpack Compose로 system bar 색 변경하기 안녕하세요. 오늘은 XML 파일을 수정하지 않고 Compose를 사용하여 상태 표시줄과 탐색 표시줄 색상을 변경하는 방법을 알아보겠습니다. Jetpack Compose 이전에는 system bar색상을 지정하기 위해 일반적으로 다음 themes.xml과 같이 파일을 수정했습니다. android:statusBarColor및 android:navigationBarColor속성은 각각 상태 표시줄 색상과 탐색 표시줄 색상에 영향을 줍니다. android:windowLightStatusBar (상태 표시줄의 아이콘을 어둡게 만들기 위해) 또는 android:windowLightNavigationBar(탐색 표시줄과 유사하게 ) 지정할 수 있습니다. (후자는 API 레벨 27이 필요 합니다.) 폴더 themes... 2022. 9. 27. [Kotlin][Android] PhotoView 라이브러리 사용법(사진 줌인&줌아웃&드래그 이동) 안녕하세요 오늘은 PhotoView 라이브러리 사용법에 대해 알아보겠습니다. * 사진을 전체 화면으로 볼 때 확대, 축소, 이동의 구현을 쉽게 도와주는 라이브러리 입니다. 1. build.gradle(project) 에 아래 코드가 없다면 추가해줍니다. allprojects { repositories { maven { url "https://www.jitpack.io" } } } buildscript { repositories { maven { url "https://www.jitpack.io" } } } 2. build.gradle(module)에 아래 코드를 추가해줍니다. dependencies { implementation 'com.github.chrisbanes:PhotoView:2.3.0' } .. 2022. 9. 12. [Kotlin][Android] 사용한 오픈소스 라이선스 표시하기 이번 시간에는 앱을 만들면서 사용한 오픈소스의 라이선스(Open-source license)를 일일히 적지 않고 자동으로 표시해주는 방법에 대해 알아보겠습니다. * 오픈소스란? 오픈소스 소프트웨어(Open Source Software, OSS)를 뜻하는 용어입니다. 오픈소스 소프트웨어는 공개적으로 액세스할 수 있게 설계되어 누구나 자유롭게 확인, 수정, 배포할 수 있는 코드입니다. 그러나 오픈소스도 사용하기 위해서는 해당 오픈소스의 라이선스를 반드시 준수해야 합니다. 이를 위반할 경우 사용 권리가 박탈되고, 이를 제품화 한 경우 제품을 판매할 수 없습니다. 라이선스에 따라 사용한 오픈 소스 라이브러리를 표시해야 하는 경우가 있습니다. 이 때 구글에서 제공하는 플러그인을 사용해 간단하게 구현해 보겠습니다... 2022. 8. 28. [Kotlin][Android] 터치 제스처 감지 (Gesture Detector) 안드로이드에서 터치 제스처를 감지하는 기능을 코틀린으로 구현하는 방법에 대해 알아보겠습니다. * 터치 제스처 종류 - onDown (터치) - onShowPress (onDown 보다 길게 터치) - onSingleTapUp (터치가 끝날 때) - onLongPress (onShowPress보다 길게 터치) - onScroll(스크롤) - onFling (스크롤과 비슷하지만 손가락으로 튕길 때) 1. activity_main.xml 상단 부분의 뷰는 터치를 감지하는 영역이고 하단의 텍스트뷰는 어떤 터치인지 출력해주는 뷰입니다. 2. MainActivity.java import android.annotation.SuppressLint import android.os.Bundle import android... 2022. 8. 13. [Kotlin][Android] 안드로이드 시간 표현하기 안녕하세요. 안드로이드에서 시간을 표현해야 할 다양한 경우가 있습니다. 그 중 유투브 댓글에서 시간을 표현하는 방법인 'x분 전', 'x시간 전', 'x일 전', 'x주 전' 등과 같은 포맷으로 변경하는 방법을 알아보겠습니다. 1. string to millisecond @SuppressLint("SimpleDateFormat") fun dateTimeToMillSec(dateTime: String): Long{ var timeInMilliseconds: Long = 0 val sdf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") try { val mDate = sdf.parse(dateTime) timeInMilliseconds = mDate.time } catch (e: .. 2022. 8. 6. [Android][Kotlin] Animation으로 Lottie를 사용해보기 1. build.gradle에 Lottie 를 추가합니다. // 로티 implementation 'com.airbnb.android:lottie:3.7.0' 2. asset folder를 생성합니다. > 사용할 Lottie Anmation 찾기 : https://lottiefiles.com/search?q=space&category=animations Free Lottie Animation Files, Tools & Plugins - LottieFiles The world’s largest online platform for the world’s smallest animation format for designers, developers, and more. Access Lottie animation to.. 2022. 7. 28. [Kotlin][Android] 안드로이드 연속 클릭 막기 안녕하세요. 종종 특정 뷰에 대한 연속 클릭을 일정시간 동안 막고 싶을 때가 있죠. (ex. 클릭 될 뷰에 한 번만 실행되어야 하는 로직이 연결되어 있거나 뷰를 클릭해서 새 창을 띄울때 실수로 두번 눌러도 하나만 띄우고 싶을때) 그 때 사용할 수 있는 코드에 대해 알아보겠습니다. 1. OnClickListener를 상속받은 클래스를 하나 만들어줍니다. import android.util.Log import android.view.View class OnSingleClickListener(private val clickListener: View.OnClickListener) : View.OnClickListener { companion object { const val CLICK_INTERVAL: Long.. 2022. 7. 22. [Kotlin][Android] 파일 쓰고 불러오기 이번시간에는 텍스트 파일을 만들고 불러오겠습니다. 먼저 activity_main 레이아웃입니다. 다음으로는 MainActivity 입니다. package com.rai.LineProject import androidx.appcompat.app.AppCompatActivity import android.os.Bundle override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.layout); val textBox = findViewById(R.id.textbox) val btnSave = findViewById(R.id.btn_save) val btnLoad = f.. 2022. 7. 13. 이전 1 ··· 4 5 6 7 8 9 10 ··· 20 다음