Android 59

안드로이드 - LayoutInflater를 활용한 레이아웃 겹치기

윈도우는 빈 채로 생성되며 빈 윈도우 안에 레이아웃을 채워 넣어 UI를 구성하는데 이때는 다음 메소드를 호출 한다. void setContentView(int layoutResID) void setContentView(View view, [ViewGroup.LayoutParams params]) void addContentView(View view, ViewGroup.LayoutParams params) 다음 예제는 2개의 xml파일을 겹쳐서 보여주는 예제이다. overlay1.xml overlay2.xml Overlay.java package com.example.overlay; import android.app.Activity; import android.content.Context; import a..

안드로이드 - 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에서 멈출건지를 나..

안드로이드 - 스위치(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..

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

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..

안드로이드 - 시간을 더욱 세련되게 표현하는 시계 위젯 만들기

안드로이드에서 제공하는 AnalogClock은 시간을 좀더 멋있게 표현할 수 있는 위젯이다. 레이아웃에 배치하면 알아서 잘 동작하기 때문에 예제는 간단하다. 다음은 XML파일이다. AnalogClock과 DigitalClock 위젯만 배치했다. activity_test_clock.xml ClockTest.java package com.example.ch13_clocktest; import android.app.Activity; import android.os.Bundle; public class ClockTest extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan..

안드로이드 - 날짜 시간 나타내기

현재 날짜와 시간을 구하는 가장 쉬운 방법은 System의 다음 정적 메소드를 사용하는 것이다. static long currentTimeMillis() 이 메소드는 현재 시간값을 정수 하나로 리턴하는데 이 값은 1970년 1월 1일 자정을 기준으로 한 1/1000초 단위 경과시간이다. 에폭 타임 이라고도 한다. 그리고 자바에서 날짜를 구하는 방법은 Date 클래스를 이용하는 방법인데 날짜끼리의 계산하는 기능이 없어서 사용이 권장되지 않는다. Date(int year, int month, int day [, int hour, int minute, int second]) Date(long milliseconds) 실제 프로젝트는 Caldendar 클래스의 서브클래스인 GregorianCalendar를 사용..

반응형