728x90

Android (안드로이드) 89

[Android] 9-Patch Image / 이미지 부분 확장 / 채팅 말풍선 이미지

안드로이드에서 채팅 기능을 구현하던 중, 사용자의 채팅을 담는 말풍선 이미지를 처리하였던 과정을 기록한다. 기존에는 본인과 상대방을 구분하는데만 중점을 맞추어 흰색, 노란색으로 구분 정도만 해 주었다. 말풍선다운 느낌이 필요하다는 피드백을 받고, 말풍선 이미지를 만들어 배경으로 입히는 계획을 세웠는데.. 다음과 같은 문제를 맞이하였다. 채팅 내용이 많아지면 자연스레 말풍선 크기가 늘어나는데, 이미지 전체가 늘어나면서 위 그림처럼 부자연스러워지는 것이다. 본인이 원하는 말풍선 확장은 다음과 같았다. 위 그림처럼 말풍선 본체는 늘어나면서 말풍선 꼬리의 크기는 유지되는 이미지에 대해 알아보던 중, 9-Patch Image (나인 패치 이미지) 에 대해 알게 되었다. 9-Patch Image (나인 패치 이미지..

[Android] 지도 API 종류와 선택 - 구글 맵, 카카오 맵, 네이버 맵

안드로이드 개발 중, 지도 API가 필요한 시점에 어떤 지도를 사용해야 할지 고민했던 과정을 포스팅한다. ● 대표적인 지도 API의 선택지는 다음과 같다. · 구글 맵 · 카카오 맵 · 네이버 맵 ● API 선택 기준은 아래와 같은 사항들을 고려했다. · 지도가 제공하는 정보 · 사용량 제한 · 업데이트 주기와 영향 - API 사용 정보 접근성 지도가 제공하는 기능과 정보의 개요 ● 본인이 제작할 앱에는 비교적 간단한 기능과 정보만을 필요로 했다. 1. 지도에 마커 표시 가능 2. 마커 커스텀 가능 3. 마커 주변에 있는 장소 한 눈에 둘러보기 1,2번의 경우, 3가지 API가 모두 지원하는 기능이었다. 3번의 경우, 지도에 표시되는 장소에 대한 정보들이 비교적 정확할수록 좋다는 기준을 적용했다. ▶ 구..

[Android] SharedPreferences (2) - 사용 예제, 응용 / 데이터 저장 / 데이터 불러오기 / 데이터 삭제 / split() 메서드

지난 포스팅에서는 SharedPreferences 에 대해 알아보았다. 이번 포스팅에서는 SharedPreferences 를 직접 사용해보자. SharedPreferences 사용 예제 테스트해 볼 예제의 내용을 간단히 설명하겠다. ● EditText 에 데이터를 입력하고 버튼을 누른다. ● TextView 에 데이터가 표시되고, SharedPreferences 에 저장된다. ● SharedPreferences 파일을 찾아서 저장된 내용을 확인한다. ● 앱이 시작되면 데이터를 불러와서 표시되게끔 한다. ● 앱을 종료 & 재시작하고 데이터가 표시되는지 확인한다. 각각 3개의 TextView 와 EditText 를 세팅한 레이아웃이다. 레이아웃 xml 코드는 따로 첨부하지 않겠다. 이제 java 코드도 기본..

[Android] SharedPreferences (1) - 특징, 사용처 / 데이터 저장 / 데이터 불러오기

지난 포스팅에서 Intent 를 사용하여 데이터를 전달해 보았다. 데이터를 전달하고 전달 받은 데이터를 액티비티에 띄웠지만 역시 가장 큰 문제는, 데이터를 저장할 수 없었다는 것이다. 데이터 전달 후, 앱을 종료하고 다시 실행했을 때 전달했던 데이터가 사라져있다면 무슨 의미가 있을까. 그래서 이번 포스팅에서는 데이터를 저장하는 방법에 대해 알아보겠다. 데이터를 저장하는 대표적인 방법은 약 3가지로 볼 수 있다. 1. SharedPreferences 데이터를 앱 내 폴더에 파일 형태로 저장한다. 주로 간단한 데이터를 다룰 때 사용한다. 2. Files 데이터를 기기의 내/외부 저장소에 파일 형태로 저장한다. 주로 이미지, 영상 등의 대용량 객체를 다룰 때 사용한다. 3. DataBase 데이터를 기기가 아..

[Android] 애니메이션 효과 / animation / View 움직임, 이동 / 트윈 애니메이션

이번 포스팅에서는 View 에 애니메이션 효과를 부여함으로써, 앱에 생동감을 불어 넣어주는 작업을 해볼 것이다. 안드로이드에서 애니메이션을 적용할 수 있는 방법은 다양하다. 비트맵 애니메이션 UI 가시성 및 모션 애니메이션 물리학 기반 모션 레이아웃 및 액티비티 변경 애니메이션 등등 공식 문서에서 소개하는 종류만 해도 정말 많다. 우리는 그중에서도, 가장 보편적으로 사용할 수 있는 '트윈 애니메이션' 에 대해 알아보겠다. 트윈 애니메이션이란? 회전 (rotate) 규모 (scale) 이동 (translate) 투명도 (alpha) 위 4가지 방식을 xml 파일로 정의하여 View 에 적용하는 애니메이션 방식이다. 구현이 간단하기 때문에, 초보자들도 쉽게 사용할 수 있다. 애니메이션 디렉토리 및 파일 생성..

[Android] visibility 속성 / visible, invisible, gone / 표시, 숨김

이번 포스팅에서는 View 클래스의 visibility 속성에 대해 알아보겠다. visibility 속성이란? *visibility : 가시성 앱을 만들다보면 사용자와의 상호 작용을 통해 어떤 View 를 숨기거나, 표시하고 싶을 때가 있다. 우리는 visibility 속성을 이용하여 해결할 수 있다. visibility 는 View 클래스에 정의되어 있으며 즉, 모든 View 를 대상으로 사용할 수 있다. visibility 속성의 종류 다음과 같이 3가지로 분류한다. · visible 해당 View 가 보이는(표시되는) 상태이다. · invisible 해당 View 가 보이지 않는(숨겨진) 상태이다. 숨겨진 상태이지만, 해당하는 공간을 차지하고 있다. · gone 해당 View 가 보이지 않는(숨겨진..

[Android] 토스트 메시지 / 커스텀 토스트 / Toast

이번 포스팅에서는 안드로이드 토스트 메시지에 대해 알아보겠다. 토스트 (Toast) 토스트 메시지는 일종의 알림이라고 생각하면 쉽다. 공식 문서에서는 다음과 같이 설명한다. 토스트 메시지는 작업에 관한 간단한 피드백을 작은 팝업 형태로 제공한다. 진행 중인 활동과 상호 작용은 그대로 유지된 채, 메시지에 필요한 공간만 차지한다. 앱이 Android 12(API 수준 31) 이상을 타겟팅 한다면, 토스트 텍스트는 두 줄로 제한되고 텍스트 옆에 애플리케이션 아이콘이 표시된다. 토스트 사용법 토스트 메시지의 사용 문법은 다음과 같다. Toast.makeText(context,text,duration).show(); Toast 클래스의 makeText(context, text, duration) 메서드와 sho..

[Android] 이벤트 리스너 / onClick / onLongClick Listener 사용 예제

모든 앱은 사용자와 상호 작용이 가능해야 한다. 가장 기본적으로 생각해볼 수 있는 것은, 사용자가 앱 내 요소를 터치하는 것부터 시작된다. 사용자와의 상호 작용을 통해 앱에서는 다양한 효과를 낼 수 있다. 이번 포스팅에서는 안드로이드의 이벤트 리스너에 대해 알아보자. 이벤트 리스너 이벤트 리스너는 사용자와의 상호 작용을 보다 쉽게 도와주는 인터페이스이다. 공식문서에서는 다음과 같이 설명한다. 이벤트 리스너란 View 클래스 내에 있는 인터페이스이며, 콜백 메서드를 가지고 있다. 이러한 메서드는 리스너가 등록된 뷰가 사용자 상호작용으로 인해 UI 내 항목과 함께 트리거되었을 때 Android 프레임워크에 의해 호출된다. 콜백 메서드의 종류는 다음과 같다. · onClick() · onLongClick() ..

728x90