Android App 38

안드로이드 - 외부 메모리에 앱 설치하기

안드로이드 메니페스트 파일에 설치 가능한 위치를 지정하는 installLocation 속성을 추가했다. 속성 설명 internalOnly 내부 메모리에만 설치 할 수 있고 외부 메모리에는 설치 할 수 없다. preferExternal 가급적이면 외부 메모리에 설치한다. 외부 메모리가 부족하거나 없으면 내부 메모리에 설치한다. auto 내부 메모리가 부족하면 외부 메모리에 설치한다. 다음 예제를 통해 preferExternal 옵션을 줘서 실제로 외부 메모리에 설치가 되었는지 확인해보자 MainActivity.java package com.example.ch18_external; import android.app.Activity; import android.os.Bundle; import android.v..

안드로이드 - 윈도우 관리자 활용하기

윈도우 관리자는 안드로이드 프레임워크를 구성하는 주요 모듈로 윈도우를 관리한다. 다음의 호출문으로 구할 수 있다. getSystemService(Context.WINDOW_SERVICE) 윈도우 관리는 대부분 시스템 내부에서 알아서 수행되므로 공개된 기능은 많지 않다. 다음 메소드는 윈도우가 실행되는 화면에 대한 정보를 구한다. Display getDefaultDisplay() Display 클래스는 장비의 화면 폭이나 높이, 방향, 갱신 주기 등의 정보를 제공한다. 다음 메소드는 ViewManager 인터페이스로부터 상속받은 것이며 윈도우에 개별 뷰를 추가하거나 삭제한다. void addView(View view, ViewGroup.LayoutParams params) void removeView(Vi..

안드로이드 - 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..

안드로이드 - 타이틀 바 조작하기 (풀스크린 만들기)

Window 클래스는 윈도우를 표현하며 액티비티의 모양과 동작에 대한 여러가지 옵션을 제공한다. 윈도우 객체는 getWindow 메소드를 호출하여 언제든지 얻을 수 있으며 이 객체를 통해 여러가지 조작을 한다. boolean Window.requestFeature(int featureId) boolean Activity.requestWindowFeature(int featureId) 위의 메소드를 활용해서 윈도우의 확장 기능을 활성화 할 수 있다. 확장기능 플래그는 다음과 같다. 기능 설명 DEFAULT_FEATURES 기본 기능 FEATURE_CONTEXT_MENU 컨텍스트 메뉴를 쓸 수 있다. 디폴트로 이 기능이 선택되어있음 FEATURE_CUSTOM_TITLE 커스텀 타이틀 바를 사용한다. FEAT..

안드로이드 - Application 객체를 이용한 전역 변수 만들기

프로세스의 아래에는 단 하나의 유일한 Application 객체가 있고 그아래 컴포넌트인 서비스, 브로드캐스트 리시버, 액티비티, 콘텐트 프로바이더로 구성된다. Application 클래스가 모든 컴포넌트보다 우선적으로 생성되고 유일한 객체만 생성되므로 전역 변수를 두기에는 제일 좋은 곳이다. 그리고 Application 객체의 멤버는 프로세스의 어디에서나 참조할 수 있다. void onCreate() void onTerminate() void onConfigurationChanged(Configuration newConfig) void onLowMemory() onCreate는 응용프로그램이 실행된 직후 호출된다. 다른 컴포넌트인 서비스, 브로드캐스트 리시버, 액티비티, 콘텐트 프로바이더보다 먼저 실행..

안드로이드 - 목록을 팝업으로 보여주는 ListPopupWindow

어떤 목록을 보여줄 때 팝업으로 보여주고 싶다면 ListPopupWindow 위젯을 사용해야한다. 팝업 메뉴와 유사하지만 목록을 어댑터로 받는 점이 특이하다. void setWidth(int width) void setHeight(int height) void setContentWidth(int width) 폭과 높이는 픽셀 단위로 지정한다. void setAdapter(ListAdapter adapter) void setAnchorView(View anchor) 위의 메소드는 어댑터와 앵커 뷰를 지정한다. void setModal(boolean modal) 위의 메소드는 팝업 목록의 동작 방식을 지정한다. 모달일 때는 선택을 해도 팝업이 자동으로 닫히지 않으며 팝업 바깥을 눌러야 닫힌다. void se..

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

반응형