개발새발 - IT 기술블로그
article thumbnail
[안드로이드] 단축키를 커스텀하여 개발속도 향상시키기⌨
Android 2023. 9. 1. 09:46

안녕하세요. 이번 포스팅에서는 안드로이드 스튜디오에서 자주쓰는 IDE 기능들의 단축키를 설정하여 개발 속도를 향상시키는 방법에 대해 소개드리려고 합니다. 자주 사용하는 기능들을 마우스 없이 한번의 키 입력으로 사용할 수 있다는건 개발자에게 있어서 생각 이상의 유용함이죠. 간단하지만 방법을 몰라서 사용하지 못하시는 분들도 많고, 크게 중요하지 않다고 생각해서 사용하지 않으시는 분들도 많아서 몇가지 추천드리려고 합니다. 방법은 생각보다 간단합니다. 단축키 변경 먼저 File > Settings에 들어갑니다. 검색창에 Keymap 이라고 입력하시면 안드로이드 스튜디오의 모든 기능들이 나열되어있습니다. 여기서 파란색으로 표시되는 항목들이 커스텀으로 재설정한 기능들이 포함되어 있는 항목입니다. 하위 경로로 들어가..

article thumbnail
[안드로이드] 눌러서 공유하기 구현🔗
Android 2023. 8. 24. 15:54

안녕하세요. 이번 글에선 공유하기 버튼을 클릭하면 해당 URL 혹은 데이터를 공유하는 기능에 대해 알아보겠습니다. 예제는 아래 개요의 순서대로 진행되며, 코드는 코틀린으로 작성되었습니다. 결과👀 개요 진행 순서는 아래와 같습니다. 1. 공유하기 버튼 생성 2. 인텐트 타입 및 타이틀 지정 3. 공유 할 데이터 지정 4. chooser로 사용자가 공유할 환경 선택 구현 공유하기 버튼 생성 저는 기본 버튼을 생성하여 공유하기 기능을 넣겠습니다. 용도에 맞게 아이콘이나 텍스트를 넣어서 사용하시면 되겠습니다. 인텐트 타입 및 타이틀 지정 버튼을 바인딩하고 클릭 이벤트에 공유하기를 진행 할 Intent를 생성해줍니다. ACTION_SEND_MULTIPLE 플래그로 공유 기능을 가진 인텐트를 생성하였고, 인텐트의 ..

article thumbnail
[안드로이드] Kotlin 커스텀 뷰 생성하기
Android 2023. 8. 23. 16:31

안녕하세요. 이번 포스팅에서는 같은 디자인 및 속성을 공유하는 커스텀 뷰를 생성하고 적용하는 방법에 대해 알아보겠습니다. 아래 사진은 버튼 3개에 커스텀 뷰를 적용한 화면입니다. 개요 프로젝트를 진행하면서 비슷한 기능에 비슷한 디자인의 뷰를 여러개 생성해야 하는 경우가 흔하게 발생합니다. 만약 뷰의 개수가 적다면 다행이지만 공통된 여러개의 뷰가 하나의 레이아웃을 이루고 있다면 골칫거리가 아닐 수 없죠. 그때 우리는 커스텀 뷰로 하나의 뷰 처럼 만들 수 있습니다. 아래 방식에 따라 예제를 진행하고 결과를 확인해 보겠습니다. 1. 커스텀 속성 파일 생성 및 정의 2. 커스텀 뷰 레이아웃 파일 생성 3. 커스텀 뷰 클래스 파일 생성 4. 메인 레이아웃 파일에 커스텀 뷰로 공통된 뷰 생성 본문 커스텀 속성 파일..

article thumbnail
[안드로이드] 앱 테마 모드 변경하기
Android 2023. 8. 22. 17:20

안녕하세요. 이번 포스팅에서는 앱의 테마 설정을 클래스에서 변경하는 방법에 대해 알아보겠습니다. 아래 예제는 코틀린으로 작성되었습니다. 개요 앱 테마를 시스템 테마로 설정하여 사용자의 기기에 동기화 시키는 방법도 있지만, 앱의 설정 페이지에 테마를 변경하는 기능을 추가하여 해당 앱에서 사용하는 테마를 정해 줄수도 있습니다. 이번 글에서 이벤트에 따라 테마를 변경하는 방법에 대해 소개드리겠습니다.   본문 예제 진행 순서메인 레이아웃 구성 (테마 변경 버튼 3개 + 테마 변경을 확인 할 텍스트 뷰 1개)뷰의 속성에 적용할 테마 별 옵션 생성테마를 변경하는 함수 구현각 버튼에 테마 변경 함수를 적용결과 확인  메인 레이아웃 구성 버튼은 라이트 모드, 다크 모드, 시스템 모드 총 3가지로 구성되어 있습니다. ..

article thumbnail
[안드로이드] 로그 색상과 길이 변경으로 가시성 올리기
Android 2023. 8. 18. 14:47

안녕하세요. 이번 포스팅에서 안드로이드 스튜디오에서 로그의 색상을 변경하는 방법과 길이를 간소화 하는 방법에 대해 알아보려고 합니다. 출력되는 로그에 대한 정보는 이전 포스팅인 Logger 라이브러리에서 사용했던 코드를 재사용 하였습니다. 로그 색상 변경 경로 : File > Setting > Editor > Color Scheme > Android Logcat 변경을 원하는 IDE 테마를 선택하고 각각의 항목들에 해당하는 색상을 입력하여 주시면 됩니다. ① IDE 테마 선택 : 테마마다 다른 로그의 색상을 적용 할 수 있습니다. ② 로그 종류 선택 : 변경을 원하는 로그의 태그를 선택합니다. ③ 변경 내용 선택 : 변경 할 종류를 선택하고 내용을 입력합니다. ※ 변경 내용에 대한 설명입니다. Foreg..

article thumbnail
[안드로이드] Logger - 간단하고 예쁜 로그 출력
Android 2023. 8. 16. 15:29

안녕하세요. 이번 포스팅에서는 안드로이드 로그를 가시성이 높고 예쁘게 출력하는 방법에 대해서 알아보겠습니다.   로그 출력 결과는 아래 사진과 같습니다.    개요프로그램을 개발하다 보면 내가 원하는 결과를 로그캣에 담아서 확인해야 하는 일이 매우 빈번하게 발생합니다.  그때 우리는 보통 안드로이드 기본 라이브리러인 Log를 사용합니다.  보통 이런 식으로 쓰시는 경우가 많습니다.Log.d("TAG_LOG", "기본 로그 라이브러리")  결과물은 아래와 같습니다.   하지만 이런 로그가 여러개가 반복되고 여러개의 태그를 동시에 봐야하는 일이 발생한다면 가시성이 떨어지기 십상이죠.  그래서 이번에 소개드릴 제품은라이브러리는 Logger입니다.  Logger는 orhanobut이 개발한 라이브러리로, 기본 ..

article thumbnail
[안드로이드] 중복 클릭 방지하는 방법
Android 2023. 8. 9. 09:46

안녕하세요. 이번 포스팅에선 뷰의 클릭 이벤트가 여러번 중복 발생해서 생기는 에러들을 해결하기 위한 방법을 소개드리려고 합니다. 방식은 뷰의 클릭 리스너를 상속받는 클래스를 생성하고, 클릭 이벤트가 발생했을 때의 시간과 현재 시간을 비교하여 일정시간이 지나기 전까지 클릭을 막는 형태입니다. 전체 예제 코드를 보여드린 후 설명드리겠습니다 👀 시연 저는 버튼 하나와 텍스트뷰 하나를 생성해 버튼을 클릭하면 텍스트의 숫자가 하나씩 증가하는 예제를 만들었습니다. 아래 코드와 같이 중복 클릭 방지시간은 1초로 설정하였고, 중복클릭이 발생했을 경우엔 아무런 처리를 하지 않았습니다. 코드 import android.os.SystemClock import android.view.View import android.wid..

article thumbnail
[안드로이드] 시간 객체 LocalDataTime ↔ Long 파싱하기
Android 2023. 7. 5. 10:41

안녕하세요. 이번 포스팅에서는 날짜 객체인 LocalDataTime과 TimeStamp 객체인 Long을 서로 파싱하는 방법에 대해 알아보겠습니다. 개요 보통 안드로이드에서 System.currentTimeMillis(), Date 객체의 매개변수, Calendar 객체의 timeInMillis() 등 자주 사용하는 데이터 타입들은 Long 타입으로 제공됩니다. 하지만 Long은 타임스탬프이기 때문에 실제 날짜나 시간 데이터와는 형태가 다릅니다. 따라서 우리가 사용하기 좋은 구조로 데이터를 파싱하는 과정이 필요한데, 이때 자주 사용되는 객체가 LocalDateTime입니다. LocalDateTime은 시간을 년,월,일,시,분,초 등으로 쪼개어 받아올 수 있고, 세계시간을 기준으로 해당하는 지역의 시간으로..