프로그래밍/안드로이드 156

안드로이드 - CalendarView로 쉽게 달력을 만들자

CalendarView는 스크롤이 가능한 달력을 보여주며 날짜 하나를 선택 받을 수 있다. 속성설명firstDayOfWeek제일 왼쪽의 첫 요일을 선택minDate달력에 표시할 최소 날짜. mm/dd/yyyy로 지정maxDate달력에 표시할 최대 날짜. mm/dd/yyyy로 지정focusedMonthDateColor현재 선택된 달의 배경 색상이다.selectedWeekBackgroundColor선택된 주의 배경 색상이다.unfocusedMonthDateColor선택되지 않은 달의 배경 색상이다.showWeekNumber왼쪽에 주차를 보여줄지weekNumberColor주차의 색상을 지정weekSeparatorLineColor주 사이의 구분선selectedDateVerticalBar선택한 날짜의 양쪽에 보일..

안드로이드 - NumberPicker를 이용한 숫자 선택하는 위젯 만들기

넘버 피커는 일정한 범위에 있는 숫자 값 중에 하나를 선택해주는 위젯이다. 날짜나 시간 선택기와 비슷한 모양을 하고 있고 입력 필드를 롱터치해서 직접 값을 입력할 수도 있다. void setMinValue(int minValue) void setMaxValue(int maxValue) void setValue(int value) setMinValue로 범위의 최소값을 지정하고 setMaxValue로 최대값을 지정한다. 그리고 setValue에서 최대값을 넘어가는 것을 지정했다면 자동적으로 최대값이 바뀌게 된다. void setWrapSelectorWheel(boolean wrapSelectorWheel) 위 메소드는 범위가 1에서 10일 때 10을 초과하면 다시 1로 갈껀지 아니면 10에서 멈출건지를 나..

안드로이드 - 위젯의 배치를 편리하게 해주는 Space 위젯

Space 위젯은 말그대로 공간만 차지하는 위젯이다. 이러한 단순한 위젯을 활용하면 내가 원하는 곳에 위젯을 배치하는데 편리하게 이용할 수 있다. 예제는 매우 간단하다. xml파일 activity_space_test.xml SpaceTest.java package com.example.ch13_space; import android.app.Activity; import android.os.Bundle; public class SpaceTest extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activi..

안드로이드 - 스위치(Switch) 만들어서 편리하게 토글하기

스위치는 체크박스와 비슷한 역할을 하지만 조금 더 직관적으로 ON/OFF 상태를 표시할 수 있다. 속성설명text어떤 옵션인지를 설명하는 문자열textOn선택했을때 표시될 문자열textOff선택하지 않았을 때 표시될 문자열textStyle문자열의 스타일, normal, bold, italic 중 하나 또는 | 연산자로 두 개 동시 지정가능checked초기 상태를 지정한다.switchMinWidth스위치의 최소 폭switchPadding스위치와 캡션 문자열간의 여백을 지정thumb스위치를 그릴 이미지를 지정thumbTextPadding스위치의 썸과 문자열 사이의 수평 여백을 지정 리스너를 등록해서 체크이벤트를 가져오고 싶으면 setOnCheckedChangedListener()에서 리스너를 등록하고, On..

안드로이드 - 웹뷰(WebView)로 웹페이지 보여주기

웹뷰는 웹페이지를 보여주는 위젯이다. 웹뷰를 쓰기위해서는 모바일장비에서 인터넷 액세스를 위해 매니페스트 파일에서 다음을 추가하여야 한다. 이러한 퍼미션을 추가하지않으면 네트워크 입출력이 항상 실패하게 된다. 이러한 점을 유의하고 아래와 같이 매니페스트 파일에 추가하여야한다. AndroidManifest.xml xml파일 activity_web_view_test.xml 자바파일 WebViewTest.java package com.example.ch13_webview; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.webkit.WebChromeClient; import android...

안드로이드 - 자동 완성 기능 만들기(AutoCompleteTextView, MultiAutoCompleteTextView)

AutoCompleteTextView 클래스를 사용하면 자동 완성 기능은 제공 할 수 있습니다. 이름은 TextView로 되어있지만 EditText의 서브 클래스입니다. 후보 문자열의 경우 어댑터로부터 받는다. void setAdapter(T adapter) completionThreshold 속성 : 몇 자까지 입력했을 때 후보 목록을 보여줄 거인가를 의미 보통 1이 무난 completionHint 속성 : 후보 목록 아래쪽에 도움말 문자열 지정 예제 소스 TextView 한개와 AutoCompleteTextView 한 개만 배치하였다. activity_auto_complete.xml 자바 파일 AutoComplete.java package com.example.autocomplete; import a..

안드로이드 - 핸들러(Handler)를 이용한 간단한 스톱워치 만들기

이번에는 실제로 사용할 수 있는 스톱워치를 만들고 분석해보자 xml파일을 보면 텍스트뷰 3개와 버튼2개가 배치되어 있다. 위의 텍스트뷰는 실제 스톱워치가 나오는 부분이고 아래 버튼은 스톱워치를 조작하는 버튼이다. 그리고 맨아래 텍스트뷰는 중간 기록을 위한 부분이다. activity_stop_watch.xml 핸들러를 이용한 스톱워치입니다. StopWatch.java 파일 package com.example.ch13_stopwatch; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.SystemClock; import android.view.View; import android..

안드로이드 - 크로노미터를 이용한 스톱와치 만들기

Chronometer는 경과 시간을 측정하는 위젯이다. 즉 스톱워치를 만들수 있다는 뜻인데 0.x초는 안되고 1초단위로만 되기 때문에 약간 불편한 감이 있다. void setBase(long base) 이 메소드의 인수는 부팅 후의 경과 시간을 전달하는데 보통 elapsedRealtime 메소드로 경과 시간을 전달한다. start 메소드는 시간 갱신을 시작하고 stop 메소드는 시간 갱신을 중지한다. 그리고 앱이 종료되기전에 반드시 stop을 해줘야 메모리leak이 발생하지 않는다. xml파일은 맨 위에 chronometer를 배치하고 버튼 3개를 배치하였다. 여기서 format="경과시간=%s" 라 되어 있는 부분에서 %s가 실제로 스톱워치가 표시되는 부분이다.(H:MM:SS 형태) acitivity_..

안드로이드 - 날짜 대화상자 시간 대화상자 만들기

XML에서 정의하는 DatePicker와 TimePicker와 동일한 모양으로 원할 때 언제든지 호출하고 싶다면 DatePickerDialog와 TimePickerDialog를 사용하면 된다. 다음 예제를 보면 버튼을 2개 만들어두고 날짜 대화 상자버튼을 누르면 다음과 같이 날짜 대화상자가 나온다. 시간 대화상자를 누르면 시간 대화상자가 나온다. XML 를 보면 단순히 버튼과 텍스트뷰만 배치되어있다. activity_picker_dialog_test.xml파일 눌린 버튼에 따라 다이얼로그를 다르게 만들고 값을 받아서 텍스트뷰에 반영하기 위한 리스너 등록만 간단히 되있는 예제이다. PickerDialogTest.java 파일 package com.example.ch13_pickerdialog; import..

안드로이드 - DatePicker 위젯을 이용한 날짜 입력 받기

사용자로부터 날짜를 쉽게 입력 받으려면 DatePicker 위젯을 사용한다. 년, 월, 일을 각각의 버튼으로 보여주고 아래위의 증감 버튼을 눌러 값을 조정한다. 그리고 크기를 변경해봐야 무의미해서 wrap_content로 지정한다. 속성 설명 startYear, endYear 선택 가능한 년도의 범위를 지정한다. minDate, maxDate 선택 가능한 날짜의 범위를 지정한다. calendarViewShown 달력을 보여줄 것인지를 지정한다. 디폴트는 true이다. spinnersShown 날짜를 선택하는 스피너를 보여줄 것인가를 지정한다. 날짜를 설정하거나 조사할 때는 다음 메소드를 호출한다. void updateDate(int year, int monthOfYear, int dayOfMonth) i..

반응형