본문 바로가기

전체 글

(99)
Android : 장면 전환 시 데이터 주고 받기 개요 접근 예를 들어서 어떤 화면에서 값을 입력받아 버튼을 누르면 다른 화면으로 이동해서 컨텐츠를 보여줘야 하는 경우가 있습니다. Fragment를 사용하지 않고 아예 다른 화면으로 넘어가서 이전 화면에서 입력받은 정보를 불러와 처리해야 한다면 가장 기본적으로 DB에 입력받은 데이터를 저장하고 다른 화면에서 DB에 들어간 정보를 다시 불러와서 처리해주는 방식을 떠올릴 수 있을 것입니다. 그러나 간단한 숫자나 문자열 등을 DB에 저장해서 다시 이를 불러오는 작업은 그렇게 효율적이라는 생각은 들지 않는 것 같습니다. Spring에서 Model이라는 객체를 사용하여 addAttribute로 전달해줄 값을 설정해주고 이를 불러올 곳에서 getAttribute로 값을 불러와 사용했습니다. 마찬가지로 안드로이드에서..
Android : JSON 파싱하기 개요 JSON이란? JSON은 JavaScript Object Notation의 약자로 자바스크립트의 객체 문법을 사용해 데이터를 전달하거나 받기 위해 사용하는 것입니다. "키 - 값"의 구조로 되어 있으며 RESTful API로 데이터를 전송하는데 큰 역할을 합니다. JSON 파일 Parsing JSON 파일 준비 main 디렉터리 하위에 assets 디렉터리를 만들어줍니다. [ { "id": "kotlin", "language": "코틀린" }, { "id": "java", "language": "자바" }, { "id": "swift", "language": "스위프트" } ] JSON 파일 읽어오기 import androidx.appcompat.app.AppCompatActivity import ..
Android : 파일 입출력 개요 파일 입출력이란? 파일 입출력은 말 그대로 디바이스에 파일로 저장하고 그 파일을 뷰에 출력해주는 일련의 과정을 말합니다. 파일 입출력 구현을 위한 레이아웃 레이아웃 우선 화면단에서 파일 입출력을 보여주기 위해 레이아웃을 만들어줍니다. 버튼 클릭 시 파일 읽고 쓰기, 뷰에 출력 코드를 뜯어가며 하나씩 살펴보겠습니다. import android.os.Bundle import android.provider.ContactsContract.Intents.Insert.NOTES import android.view.View import android.widget.Button import android.widget.EditText import android.widget.Toast import androidx.ap..
Android : DatePicker와 TimePicker DatePicker 개요 날짜를 선택할 수 있게 해주는 컴포넌트 입니다. html에서 type 속성이 date인 태그는 이와 같이 날짜를 선택할 수 있게 해줍니다. 안드로이드에서는 위와 같이 달력에서 날짜를 선택하게 해주는 calendar 형식과 목록에서 직접 날짜를 선택할 수 있게 해주는 spinner 형식을 제공합니다. calendar 타입의 DatePicker calendar 타입의 DatePicker는 아래와 같이 달력형식에서 날짜를 선택할 수 있게 해줍니다. 코드를 보면 datePickerMode가 calendar로 설정되어있음을 알 수 있습니다! spinner 타입의 DatePicker DatePicker를 스피너 타입으로 주었을 때는 스피너를 통해 사용자가 직접 날짜를 입력할 수 있게 해줍니..
Android : 이미지 버튼 개요 태그로 만들어지는 버튼은 그냥 보기에 다소 투박해 보입니다.. 멋있게 커스텀된 버튼을 사용하기 위해서는 버튼을 이미지로 제작하여 그 이미지를 버튼화할 수 있습니다. 이 때 사용하는 것이 입니다. activity_main.xml에 이미지 버튼 넣기 이미지버튼을 다음과 같이 넣어줍니다. 이 때, 의 app:srcCompat 속성에 이미지의 경로가 들어갑니다. MainActivity에서 이벤트 추가하기 버튼 클릭시 이벤트를 추가해주겠습니다. import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.ImageButton import android.wi..
Android : SeekBar와 RatingBar SeekBar 개요 A SeekBar is an extension of ProgressBar that adds a draggable thumb. The user can touch the thumb and drag left or right to set the current progress level or use the arrow keys. Placing focusable widgets to the left or right of a SeekBar is discouraged. - 안드로이드 개발자 문서 SeekBar는 손가락을 왼쪽이나 오른쪽으로 드래그해서 진행상황 등을 나타낼 수 있는 도구입니다. 이런 모양으로 생겼죠.. HTML에서는 에서 range타입을 주어 비슷한 것을 만들 수 있었습니다. 이 포스팅에..
Android : 프래그먼트 Fragment란? 웹에서 SPA라는 개념을 들어보셨을겁니다. Single Page Application의 약자인데, 페이지가 이동할 때마다 새로운 페이지를 불러오지 않고 현재의 페이지를 동적으로 다시 작성하는 기술을 말합니다. Fragment도 이와 유사합니다. 단어의 의미는 조각이라는 뜻이지요. 예를 들어 상단에 버튼 세개가 그 아래에 뷰가 있다고 가정할 때, 누르는 버튼에 따라 각각 다른 페이지를 보여주는 것입니다. 우리가 자주 사용하는 카카오톡, 인스타그램 등 다양한 애플리케이션이 프레그먼트를 지원합니다. 그럼 우선 상단에 버튼을 주고 버튼의 조작에 따라 다른 뷰를 보여주는 앱을 구성해보겠습니다. 상단에 버튼을 주고 조작에 따라 다른 뷰 표시하기 Button 메뉴 만들어주기 우선 layout 디렉..
Android : 비디오뷰와 웹뷰 VedioView 개요 비디오뷰는 비디오컨텐츠를 보여주기 위한 컴포넌트입니다. Displays a video file. The VideoView class can load images from various sources (such as resources or content providers), takes care of computing its measurement from the video so that it can be used in any layout manager, and provides various display options such as scaling and tinting. - 안드로이드 개발자 문서 우리는 소유한 영상을 화면에 표기해주는 간단한 예제 정도만 보겠습니다. 사용 예시 acti..