본문 바로가기

코틀린41

[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.
[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] BroadCast 이벤트 송신, 수신하기 안녕하세요. 이번 시간에는 안드로이드 4대 컴포넌트 가운데 하나인 BroadCast Receiver를 코틀린 언어로 간단히 사용하는 예제를 만들어 보도록 하겠습니다. BroadCast Receiver란? Android apps can send or receive broadcast messages from the Android system and other Android apps, similar to the publish-subscribe design pattern. 공식 홈페이지에서 'Broadcast Receiver'에 대한 설명을 인용해보았습니다. 즉 저희가 만들고 있는 앱이 안드로이드 시스템이나 다른 앱으로부터 메시지를 받을 수 있으며 그 방법은 '게시-구독' 디자인 패턴과 흡사하다고 합니다. 구체.. 2022. 2. 4.
[Kotlin][Android] Bottom Sheet 프래그먼트 크기 확장하기. 안녕하세요. 이번시간에는 Bottom Sheet 프래그먼트의 크기를 커스텀해보는 시간을 가져보도록 하겠습니다. 진행 방향은 다음과 같습니다. 1. Bottom Sheet이 무엇인가? - Bottom Sheet의 크기를 조절할려면? 2. Bottom Sheet 만들기 2-1) MainActivity 만들기 2-2) Fragment 만들기 1. Bottom Sheet이란 무엇인가? 우선 우리가 만들고자 하는 Bottom Sheet가 무엇인지 짚고 넘어가야겠죠? Bottom sheets are surfaces containing supplementary content that are anchored to the bottom of the screen. Material Design에서 정의한 Bottom Shee.. 2021. 12. 27.
[Kotlin][Android] 앨범 사진 이미지 뷰에 띄워주기 안녕하세요. 이번 시간에는 앨범 사진을 이미지 뷰에 띄워주는 것을 구현해보도록 하겠습니다. 저번에 카메라에서 찍은 사진을 이미지 뷰에 띄워준 포스팅의 연장선입니다. 아직 전 포스팅을 안 보신 분이 있다면 먼저 읽고 오면 좋겠네요 ^^ https://stickode.tistory.com/302 개발 순서는 다음과 같습니다. 1. XML 파일 수정하기 2. 권한 승인 요청하기 3. 권한 승인 시 앨범 실행 4. 앨범 선택 이미지 uri 값을 받아 이미지뷰에 띄워주기. 1. XML 파일 수정하기 2. 권한 승인 요청하기 권한을 요청하기 전에 필요한 권한을 Manifest에 추가해주도록 합시다. 앨범 버튼을 클릭했을 때 권한 요청을 하도록 아래와 같이 작성해줍시다. val PERMISSION_Album = 10.. 2021. 12. 13.
[Kotlin][Android] Logger 라이브러리 사용하기 안녕하세요. 이번 시간에는 코틀린에서 로거 라이브러리를 사용하는 방법을 알려드리겠습니다. 자바를 통해 로그 찍는 방법은 아래 링크를 통해 확인해 주세요. https://stickode.tistory.com/257 저는 로그 라이브러리를 자주 사용하는데요. 그 이유는 다음 세 가지가 있습니다. 1. 코드의 흐름을 파악하기 쉽다. - 다른 클래스에 있는 메서드를 이용한 로직 같은 경우 흐름 파악하기가 더 용이합니다. 2. JSON 형태의 데이터를 좀 더 쉽게 찍을 수 있다. 3. Logcat에 찍힌 로그를 클릭하면 스크립트 위치로 바로 이동할 수 있습니다. 로거를 이용할 수 있는 라이브러리는 아래 페이지에서 확인 할 수 있습니다. https://github.com/orhanobut/logger GitHub .. 2021. 11. 6.
[Kotlin][Android] 블루투스 On/Off 제어하기 오늘은 블루투스를 설정창에서 제어하는게 아닌 저희가 만든 앱 내에서 제어하는 기능을 만들어 보도록 하겠습니다. 너무 당연히 사용하던 블루투스가 어떤 기술인지 궁금하지 않으세요? 블루투스란 무엇일까요? 블루투스란 휴대폰, 노트북, 이어폰, 헤드폰등의 휴대기기를 서로 연결하여 정보를 교환하는 근거리 무선 기술(10M이내)의 표준을 뜻합니다. 블루투스의 무선 시스템은 ISM(Industrial Scientific and Medical) 주파수 대역인 2400~2483.5MHz를 사용 하고 있습니다. 이중에서 위 아래 주파수를 쓰는 다른 시스템의 간섭을 막기 위해서 2400MHz 이후 2MHz, 2483.5MHz 이전 3.5MHz까지의 범위를 제외한 2400MHz 이후 2483.5MHz 이전 3.5MHz까지의 .. 2021. 9. 5.
[Kotlin][Android] 자바 정규 표현식 (유효성 검사) 사용법 & 예제 안녕하세요 지난시간에 이어 이번시간에는 코틀린으로 사용할 수 있는 정규표현식에 대해 간편하게 만들어 보았어요 정규 표현식 관련한 문자를 표로 보여드리겠습니다.` 정규식은 자바때와 동일하게 Pattern.matches("정규식",String 변수이름) 으로 검사 할 수 있습니다. 그리고 자주 사용하는 정규 표현식의 예도 보여드릴게요 1) 숫자만 : ^[0-9]*$ 2) 영문자만 : ^[a-zA-Z]*$ 3) 한글만 : ^[가-힣]*$ 4) 영어 & 숫자만 : ^[a-zA-Z0-9]*$ 5) E-Mail : ^[a-zA-Z0-9]+@[a-zA-Z0-9]+$ 6) 휴대폰 : ^01(?:0|1|[6-9]) - (?:\d{3}|\d{4}) - \d{4}$ 7) 일반전화 : ^\d{2.3} - \d{3,4} - \.. 2021. 8. 19.
[Kotlin][Android] GIF ImageView에 넣기 안녕하세요. 이번에는 코틀린으로 ImageView에 Gif 그림을 넣어 보도록 하겠습니다. 우선 Gif 그림이란 GIF 파일 확장명 을 가진 파일 은 그래픽 교환 형식 파일입니다. GIF 파일에는 오디오 데이터가 포함되어 있지 않지만 비디오 클립을 공유하는 방법으로 온라인에서 자주 보입니다. 웹 사이트는 종종 GIF 파일도 사용하여 버튼이나 헤더 이미지와 같은 움직이는 객체를 표시합니다. 일반적으로 이미지를 넣듯이 Gif를 넣으면 아래 영상처럼 하나의 프레임만 보여주게 됩니다. 이런 문제를 피하기 위해서는 Glide를 사용해서 이미지를 불러와야 합니다. Glide란 구글에서 공개한 이미지 라이브러리로 가장 성능이 좋은 이미지 로딩 라이브러리로 알려져 있습니다. 사진뿐만 아니라 동영상까지 지원을 하고 있습.. 2021. 8. 17.