728x90

전체 글 160

[Android] SMS / 문자 메시지 앱 연결 / 문자 메시지 전송

내 앱에서 SMS 문자 메시지를 전송하는 방법을 알아보자.당연히 안드로이드 시스템 기본 앱을 통해 메시지를 전송하는 방식이다.      지난 '전화 앱 연결하기' 포스팅과 동일하게 2가지 방법을 소개한다. - 앱에서 입력받은 데이터를 (전화번호, 메시지 내용) 가지고 문자 앱으로 이동- 앱에서 직접 문자 메시지 전송     ✅ 문자 메시지 앱으로 이동 메시지를 보낼 상대의 전화번호와 메시지 내용을 가지고문자 메시지 앱으로 이동하는 방법이다. 문자 메시지가 전송까지 한 번에 실행되지는 않지만,전송하기 전에 한 번 더 체크할 수 있다는 장점이 있다.   MainActivity.ktbutton.setOnClickListener { val phoneNumber = "smsto:01012345678" val ..

[Android] 전화 앱 연결하기 / 내 앱에서 전화걸기

이번 포스팅에서는 내가 개발하는 앱에서안드로이드 시스템 기본 앱인 전화 앱을 이용하여 전화 연결하는 방법을 알아본다.       2가지 방법을 소개한다. 첫 번째는 입력 받은 전화 번호를 가지고 전화 앱으로 이동하는 방법이고,두 번째는 입력 받은 전화 번호로 직접 전화 연결하는 방법이다.      ✅ 전화 앱으로 이동 앱에서 전화를 직접 연결하지 않고, 상대방의 전화번호 데이터를 가지고 전화 앱으로 이동한다.사용자가 직접 통화 버튼을 눌러야지만 전화를 걸 수 있다. 직접 전화를 걸지 못해서 불편한 감도 있지만,전화하기 전에 한 번 더 체크하는 용도를 생각하면 나름 수요 있는 방법이라고 생각한다.   MainActivity.ktbutton.setOnClickListener { val phoneNumber..

[Android] DrawerLayout / 서랍장 화면

이번 포스팅에서는 안드로이드 위젯 중 하나인 DrawerLayout에 대해 알아보자.      ✅ DrawerLayout ?  *Drawer : 서랍, 서랍장 많은 앱에서 찾아볼 수 있는 화면의 왼쪽 · 오른쪽에서 튀어나와 열리고 닫히는 느낌의 화면이다.  대표적인 예시로는, 카카오톡 채팅방 내 서랍장을 떠올릴 수 있다.   DrawerLayout이 화면의 최상위 영역에 위치하여야 하고,자식 요소로 DrawerView를 선언하여 열고(open) 닫는(close) 느낌으로 활용한다. *여기서 말하는 DrawerView는 서랍장으로 사용할 임의의 View를 뜻한다.예제에서는 LinearLayout을 DrawerView로 사용할 예정이다.   그 외의 특징을 간단히 설명하자면, ● DrawerView는 화면의..

[Android] Snackbar / 스낵바 사용해보기

이번 포스팅에서는 Snackbar에 대해 알아보고 직접 사용해본다.      ✅ Snackbar ?   화면 하단에 표시되는 간단한 알림 역할의 위젯이다.사용자 환경을 중단하지 않고 새로운 작업을 제공할 수 있다.   Toast와 상당히 유사하지만, 차이점 또한 존재한다.- Snackbar에 포함된 액션 버튼을 통해 상호작용을 할 수 있다.- Material Design을 기반으로 하여 비교적 깔끔한 사용자 경험을 제공할 수 있다.- Service 등 UI가 존재하지 않는 환경에서는 사용할 수 없다.   공식 문서에서는 다음과 같은 사례에서 스낵바를 사용할 것을 권장한다.- 작업 확인: 사용자가 실행한 어떠한 작업 직후에 '실행 취소'를 제공하는 스낵바 표시- 네트워크 상태: 인터넷 연결이 끊어지면 현재..

[Android] Context / Application Context / Activity Context

이번 포스팅에서는 Context에 대해 정리해본다.     ✅ Context 란? 사전적 의미로는 맥락, 문맥 등이다. 안드로이드에서의 Context 또한 비슷한 의미로 사용된다고 느낄 수 있다.앱이 흘러가는 맥락으로 볼 수도 있고, 앱의 현재 상태로 볼 수도 있다.    ● Context 사용처 - 시스템 서비스에서 제공하는 API를 사용하기 위해- 시스템 입장에서는 앱의 정보 또는 액티비티의 정보를 얻기 위해    ● Context 종류 - Application Context- Activity Context *Application, Activity 2개의 클래스 모두 Context 클래스를 상속한다.    Context가 필요한 상황에서,위 2개의 Context 중 어떤 것을 사용해도 무방한 경우가 ..

[Android] DownloadManager / HTTP 통신으로 파일 다운로드하기

DownloadManager 클래스를 활용하여 인터넷 상의 파일을 앱에서 다운로드해 본다.      ✅ DownloadManager ? DownloadManager는 HTTP 다운로드를 처리하는 시스템 서비스다.엄밀히 말하면 장기적인 HTTP 다운로드를 처리한다. 클라이언트는 다운로드할 파일의 경로, 즉 URI만 알고 있다면 다운로드를 요청할 수 있다. DownloadManager는 기본적으로 백그라운드에서 작업을 수행하도록 설계되어 있어서,개발자가 별도로 백그라운드 작업 처리를 해주지 않아도 된다. 또한, 다운로드가 진행 중일 때는 알림 드로어에 진행 상황이 자동으로 표시된다.      ✅ 샘플 파일 경로 먼저, 다운로드해 볼 파일의 경로는 다음과 같다.// 이미지"http://commondatasto..

[Android] View에 Ripple 효과 적용하기 / 버튼 눌리는 애니메이션

안드로이드에서 기본 버튼을 만들면 버튼을 누를 때 자동으로 애니메이션 효과가 적용되는데,이를 Ripple 효과라고 한다. 꼭 Button이 아니더라도 TextView, ImageView, Layout 등웬만한 View에는 OnClickListener를 장착하여 클릭 이벤트를 만들어 줄 수 있다. 하지만 Button이 아닌 일반적인 View에는 Ripple 효과가 자동으로 적용되지 않는다.Ripple 효과를 직접 설정하여 일반적인 View에 적용해본다.       ✅ 기본 UI Ripple 효과를 적용해볼 View는 다음과 같은 UI다.  흔히 볼 수 있는 설정 화면을 간단하게 구현해 보았다.   ' > ' 아이콘에만 클릭 이벤트를 장착하면 많은 사용자가 불편함을 느끼기에,시중 대부분의 앱들은 다음과 같은..

[Android] 텍스트 ... 표시 / 텍스트 말줄임 표시

화면에 너무 긴 텍스트가 담길 때 종종 말줄임 표시가 필요하곤 하다.오늘은 텍스트에 말줄임 표시(...)를 적용해본다.       ✅ 글자 수를 지정할 때 정해진 글자 수를 넘어가면 말줄임 표시를 적용하는 방법이다.  위와 같은 10개의 텍스트가 존재한다고 가정했을 때,5까지만 표시하고 그 뒤의 텍스트는 ... 표시해보자. bind.textview.apply { text = text.substring(0, 5) + "..."} substring() 뿐만 아니라 take(), split(), charAt() 등 방법은 다양하다.문자열을 자르는 방법은 각자 취향껏 적용하면 된다.      결과적으로는 말줄임(...) 적용에 성공했다. 하지만 위 방법으로는 글자 수가 고정적이지 않고 변동되는 상황 등,조건문..

728x90