전체 글: 247개의 글
안드로이드의 Switch 위젯은 두 가지 옵션 중 하나를 선택할 수 있는 두 개의 상태 Toggle Switch입니다. 사용자는 두 가지 옵션 중 하나를 선택하기 위해 간단한 터치 동작이나 thumb을 앞 뒤로 드래그하여 선택할 수 있습니다. 1. Switch 주요 속성 속성명 설명 android : showText on/off (설정/해제) Text가 보일지 안보일지를 결정하는 속성. android : thumbTextPadding Switch Caption과 Thumb 사이의 간격 android : switchMinWidth 스위치의 너비 최소 크기 android : switchPadding Switch Caption과 스위치 사이의 간격 androiid : switchAppearance on/off..
RatingBar는 SeekBar와 ProgressBar의 확장 버전으로 별 모양을 통해 평점이나 점수 또는 등급을 매길 때 사용하는 뷰 위젯입니다. 1. RatingBar의 주요속성 4가지 속성 설명 android : isIndicator false 일때 사용자가 별표를 터치 또는 드래그를 통해 변경가능 android:numStars 화면에 표시되는 별의 개수 android:stepSize 평점 변경 단위 android:rating 최초 평점 ▼ Xml 레이아웃 리소스를 통해 RatingBar 한 개를 배치한 형태입니다. isIndicator 속성값은 default로 false이기 때문에 사용자와의 터치 또는 드래그와 같은 상호작용을 통해 별 점수를 변경하는 것이 가능합니다. 또한 stepSize가 3..
안드로이드 앱에서 데이터를 저장할 때는 파일(File)이나 데이터베이스(Databaese)를 사용합니다. 하지만 비교적 소규모의 키(Key) - 값(Value)의 자료구조의 데이터는 SharedPreferences API를 사용하여 데이터를 저장합니다. SharedPreferences 사용하여 저장되는 데이터는 파일 형식으로 저장이 되며 앱이 삭제되기 전까지 보존이 됩니다. 데이터베이스를 사용하는 것처럼 key-value 쌍의 데이터를 저장하고 불러오고 삭제가 가능합니다. SharedPreferences에는 수치 값이나 간단한 텍스트 또는 자동 로그인 여부와 같은 간단한 사용자 설정값들을 저장하는 용도로 사용됩니다. 저장 가능한 데이터 타입으로는 boolean, int, float, long, Strin..
ViewPager는 데이터를 페이지 단위로 표시하고 화면을 쓸어 넘기는 동작인 스와이프(Swipe)를 통해 페이지 전환을 할 수 있는 컨테이너(Container)입니다. 자체적으로 그리는 기능이 있지 않고 위젯을 배치하여 ViewPager의 각 페이지를 구성합니다. 1. 메인 UI 레이아웃 리소스에 ViewPager 추가 2. ViewPager 페이지 구성을 위한 레이아웃 리소스 ▼ ViewPager에서 컨텐츠를 표현하기 위한 각 페이지의 UI 구성을 위한 레이아웃 리소스입니다. 상단에 LinearLayout을 배치하고 그 아래에 ImageView를 배치하여 ViewPager의 각 페이지에 이미지를 표현하도록 구현하였습니다. 3. Adapter 구현 ViewPager도 결국 RecyclerView와 같이..
이번 포스팅에서는 리사이클러뷰(RecyclerView) 안에 리사이클러뷰(RecyclerView)를 배치하여 중첩 리사이클러뷰(RecyclerView)를 구현하는 방법에 대해 알아보겠습니다. ▼ 위 그림처럼 영화정보를 보여주는 간단한 앱을 구현할 것입니다. 기본적인 레이아웃 구조를 설명하자면 메인 화면이 되는 영역에 기본적으로 Item 요소를 수직으로 배치하는 RecyclerView가 배치됩니다. 여기서 Item 요소란 한 row에 표현이 되는 MovieList를 의미합니다. 수평 방향으로 표현되는 MoviewList의 각각의 Movie를 표현하기 위해 수평 방향으로 배치되는 RecyclerView가 배치되는 형태입니다. 1. 수평방향으로 배치되는 RecyclerView 구현 1.1 영화 정보를 포함하는..
json은 JavaScript Object Notation의 약자로 데이터를 구조적으로 표현하기 위한 일종의 포맷(Format)으로 네트워크를 통해 데이터를 주고받을 때 사용되는 경량의 데이터 형식을 의미합니다. 안드로이드에서 Json을 파싱 하기 이전에 먼저 json이 어떤 형식의 데이터 포맷인지 알아보고 가겠습니다. 1. json 기본 개념 { "Movies" : [ { "title" : "미션임파서블", "grade" : "15세 관람가", "category" : "액션" }, { "title" : "어벤져스", "grade" : "12세 관람가", "category" : "액션" }, { "title" : "범죄도시", "grade" : "19세 관람가", "category" : "범죄/스릴러" ..
1. CountDownTimer를 활용한 타이머(Timer) 구현 1.1 화면 UI를 위한 레이아웃 리소스 ▼ 타이머의 시간 경과를 표시하기 위한 TextView와 타이머 시작을 위한 Button 한 개와 타이머를 Reset 하기 위한 Button 한 개를 배치한 형태입니다. 포스팅 뒤에 나오는 Timer/TimerTask 구현예제도 동일한 레이아웃 리소스를 사용합니다. 1.2 CountDownTimer 상속받는 MyTimer 클래스 구현 class MyTimer extends CountDownTimer { public MyTimer(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } @Over..
안드로이드에서는 앱의 데이터를 효율적으로 관리하기 위한 저장소로 SQLite라는 데이터베이스(DataBase)를 제공하고 있습니다. SQLite는 오라클(Oracle)이나 MySql와 달리 소규모 데이터를 관리하고 사용하는데 적합한 관계형 데이터베이스입니다. 소규모 데이터를 관리하는데 최적화된 만큼 대규모 데이터베이스에서 사용하는 각종 기능을 모두 덜어내어 속도가 빠르며 가볍습니다. SQLite는 SQLiteDatabase 클래스를 통해 사용할 수 있습니다. 1. 테이블 생성하기 항목 설명 테이블 필드명 데이터 타입 특성 ID _id integer 유일 값, 자동 증가되는 값 영화제목 title text 장르 category text 이용 등급 grade text 해당 데이터베이스(DataBase)의 테..
안드로이드의 RecyclerView는 앱에서 관리되는 데이터 집합을 화면에 유연하게 표시할 때 사용되는 뷰 그룹(View Group)입니다. 1. RecyclerView 구현 구현 예제는 포스팅 초입에 봤던 이미지처럼 영화 포스터를 포함한 영화 리스트를 보여주는 예제를 RecyclerView를 통해 구현하는 예제입니다. 1.1 외부 라이브러리 추가 build.gradle ▼ build.gradle 파일에 RecyclerView와 CardView를 사용하기 위해 위와 같이 라이브러리를 추가합니다. 1.2 메인 액티비티 레이아웃 리소스 ▼ 메인 화면을 표시하기 위한 레이아웃 리소스에 RecyclerView를 배치한 형태입니다. 1.3 데이터 클래스 정의 package com.springsthursday.re..
내비게이션 드로어(Navigation Drawer)는 앱에서 사용 가능한 기능을 탐색할 수 있도록 Menu를 제공하는 화면입니다. 기본적으로 화면의 가장자리에 숨겨져 있으며 왼쪽에서 오른쪽으로 스와이프 동작을 수행하거나 App Bar의 아이콘을 클릭하여 화면에 표시할 수 있습니다. 1. 드로어 네비게이션(Drawer Navigation) 구현 1.1 메인 액티비티(Activity) 레이아웃 리소스 Drawer Navigation을 화면에 추가하기 위해서는 화면의 최상단 레이아웃은 DrawerLayout이 배치되어야 합니다. 그 아래 자식 뷰들의 배치 순서는 Main 화면에 표시되는 자식 뷰들이 먼저 오고 Drawer로 사용될 뷰의 경우는 마지막으로 배치하게 됩니다. Main 화면에 배치되는 위젯은 Too..