본문 바로가기

안드로이드 코틀린168

[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.
[kotlin][Android] 안드로이드에서 긴 글 가져오기 안녕하세요. 오늘은 안드로이드에서 줄바꿈이 적용된 긴 글을 텍스트뷰에 위치시켜야 할 때 사용할 수 있는 방법에 대해 알아보겠습니다. 1. 필요한 텍스트 파일을 만들어서 assets 폴더에 넣어줍니다. * 만약 assets 폴더가 없다면 [app 우클릭] -> [New] -> [Forder] -> [Asset Folder]를 만드시면 됩니다. 2. 아래와 같은 메서드를 만들어줍니다. fun getAssetsTextString(mContext: Context, fileName: String): String{ val termsString = StringBuilder() val reader: BufferedReader try { reader = BufferedReader( InputStreamReader(mCo.. 2022. 7. 7.
[kotlin][Android] Activity 한번에 종료하기 이번 시간에는 activity를 여러개 쌓은 후, 마지막 것을 기준으로 한번에 종료하는 기능을 만들어보겠습니다. 해당 기능을 구현하는 방법은 여러가지가 있습니다. 하지만 그것들 중에서 ActivityResultLauncher 를 사용할 것 입니다. 원리는 간단합니다. launcher을 통해 activity를 실행시킨후, 던진 데이터가 finish이면 종료시킵니다. 이를 위해선 매 activity launcher가 필요하므로 BaseLauncherActivity를 만들어 상속해줍시다. open class BaseLauncherActivity : AppCompatActivity() { protected lateinit var launcher: ActivityResultLauncher override fun .. 2022. 6. 28.