[안드로이드 어플 개발] Transitions사용하기 ImageSwitcher
▣ 안드로이드 어플 개발 Transition [ImageSwitcher] ■ 안드로이드의 [Transitions]의 객체들은 "Switch"나 "Flip"과 같이 여러개의 객체들이 교체되는 애니메이션 같은 효과를 제공하는데요. 예를 들어 핸드폰의 갤러리에서 사진을 넘길때 현재의 사진에서 다음 사진으로 넘어갈때 겹쳐지는듯한 효과를 보이면서 넘어가는 것인데요. 예제를 만들어보면서 어떻게 효과가 나타나는지 살펴보도록 하겠습니다. ■ 이번에 만들어볼 예제는 아래쪽에 갤러리(Gallery)객체를 배치하고 갤러리를 가로방향으로 스크롤 하면 가운데에 위치한 아이템이 위쪽에 배치한 "ImageSwitcher"에 애니메이션으로 교체가 되는 효과가 나타나게 됩니다. ■ 이 예제는 갤러리(Gallery)를 공부할때 만들어봤..
[안드로이드 기초] 텍스트 자동완성 (AutoCompleteTextView)
▣ 안드로이드 기초 텍스트 자동완성 ■ AutoCompleteTextView는 EditText에 키워드 기능을 추가한 객체로 이해하면 될텐데요. 흔이 우리가 검색 사이트에서 어떤 단어를 검색하고자 첫글자를 입력하면 그에 관련된 인기도 높은 단어들이 자동완성 되어 출력되는걸 보셨을 겁니다. 안드로이드에서 이런 기능을 제공하는 텍스트뷰로 이해하면 됩니다. MultiAutoCompleteTextView는 이런 기능에 구분자(,)를 사용하여 여러개의 데이터를 선택할 수 있는 기능입니다. 예제 프로젝트를 만들어가면서 이해를 해보겠습니다. ■ 지역을 입력하기 위해서 한글자를 입력하면 그 문자열로 시작하는 데이터가 출력이 되면서 선택을 할 수 있게 되고, 이름 입력란에 한글자를 입력하면 마찬가지로 그 문자열로 시작하..
[안드로이드 어플 개발 기초] Gallery (갤러리)
▣ 안드로이드 어플 개발 기초 Gallery ■ Gallery는 가로로 스크롤을 하면서 아이템들을 탐색할 수 있는 "가로형 목록 객체" 라고 이해 하면 될것이니다. 이번에 만들어볼 예제 실행 화면인데요. 아래쪽에 보면 가로로 스크롤 되는 목록이 갤러리 입니다. 위쪽은 이미지뷰를 배치해서 아래쪽에서 가로로 스크롤 하다가 이미지를 터치하면 출력이 되도록 하고 있습니다. ■ 이번 예제에서는 그림처럼 갤러리를 아래쪽에 배치하고, 그림들은 따로 준비해서 리소스에 (drawable) 넣어 이것들을 목록으로 출력하도록 하고 있습니다. ■ 출력할 이미지를 네장 준비해서 파일 이름은 "t1~t4"로 저장해서 drawable폴더에 넣었습니다. 나중에 파일의 이름으로 이것들을 호출하게 될것입니다. ■ 화면에 출력할 xml파..
[안드로이드 어플 개발 기초] 시계 다루기 (AnalogClock / DigitalClock)
[안드로이드 어플 개발]시계 다루기 (AnalogClock / DigitalClock) ■ 안드로이드 어플을 개발하기 위한 기본 중에서 이번에는 시계를 보여주는 객체인 AnalogClock과 DigitalClock에 대해서 알아보도록 하겠습니다. 간단하게 예제를 만들건데요. 버튼을 두개 배치하고 각각에 "아날로그"와 "디지털" 이라고 입력하고, 이것들을 클릭하면 그에 해당하는 객체가가 나타나고,그것을클릭하면 사라지게 하는 예제를 만들어 보겠습니다. ■ 배경 꾸미는데 시간 투자를 조금만 하면 이쁘게 만들 수 있겠죠? 전 그냥 배경에 녹색 칼라만 입혀서 진행을 해봤습니다. 처음 프로젝트가 실행이 되면 버튼만 나타나고 이것을 클릭하면 그에 해당하는 시계가 출력이 되게 진행을 해보겠습니다. 위의 그림은 지금 두..
안드로이드 애니메이션 효과 (투명 Animation)
▣ 안드로이드 애니메이션 1 (투명) ■ 안드로이드에서 구현할 수 있는 Animation은 여러가지 종류가 있는데요. 이벤 포스팅에서는 투명 애니메이션을 구현해 보겠습니다. 쉽게 생각하면 처음에는 전혀 보이지 않다가 일정한 시간이 흐르면서 천천히 모습을 나타나게 하는 것입니다. 반대로 선명하게 보이다가 점점 흐려지면서 사라지게도 할 수 있습니다. 간단한 예제를 만들면서 해보겠습니다. ■ 테스트 할 이미지( test.png)를 준비해서 "drawable"폴더에 넣고, "activity_main.xml"파일에 이미지뷰 하나를 중앙에 배치하고, 준비한 이미지 적용시키고, 아이디를 "test"로 설정을 했습니다. "gen폴더"에 아이디가 제대로 생성이 된걸 확인하고 넘어가겠습니다.이 아이디는 MainActivi..
[안드로이드 어플 만들기] Chronometer 활용한 스톱워치 만들기(밀리초)
▣[안드로이드 어플 만들기] Chronometer 활용한 스톱워치 ● 크로노메터는 기본적으로 [분:초] 단위만 표시를 하다가 한시간이 넘어가면 [시:분:초] 형태로 바뀌게 됩니다. 하지만 기본적으로는 밀리초(msec) 단위를 지원하지 않고 있는데요. msec를 기능을 구현하는 방법을 알아보도록 하겠습니다. ● 스톱워치 예제인데요. 시작과 스톱은 토글버튼을 이용하고, 마킹과 초기화 버튼을 배치하고 있습니다. 프로젝트를 실행을 시키면 처음에는 밀리초 단위는 보이지 않다가 "시작" 버튼을 클릭하게 되면 나타나게 되고, 마킹 버튼을 클릭하면 아래쪽에 밀리초 까지 기록하게 됩니다. 초기화를 누르면 아래쪽 마킹 기록은 모두 삭제가 되고, 밀리초도 "0"으로 초기화가 됩니다. ● 먼저 레이아웃 배치를 합니다. 너무 ..
[안드로이드 기초] TimePicker 예제
▣ 안드로이드 기초 TimePicker ■ 안드로이드 UI 객체중에서 날짜와 시간에 대한 객체들을 중에는 첫번째로 TimePicker에 대해서 간단한 클릭이벤트를 적용한 예제를 만들어서 시간을 선택하면 그 시간을 텍스트뷰에 출력 해보도록 하겠습니다. ■ 그림과 같이 LinearLayut에 TimePicker를 배치하고, 아래쪽에 출력할 텍스트뷰를 배치합니다. ■ 너무 밋밋한거 같아서 시간을 출력하는 쪽에 텍스트뷰의 배경을 라운드박스 형태로 만들어서 적용시켜봤습니다. 먼저 라운드박스의 소스내용은 다음과 같고, 작성해서 "drawable" 폴더에 저장을 했습니다. ■ "colo"r와" radius" 수치를 바꿔가면서 맘에 드는 스타일로 만들어서 적용시켜 보시기 바랍니다. activity_main.xml 파일..
안드로이드 MediaController / MediaPlayer 제어하기
▣ 안드로이드 MddiaController / MediaPlayer 제어하기 ■ MediaController는 미디어플레이어를 제어하는 객체인데요. 기본적으로 음악을 재생하고, 중지하고, 되감기, 뛰어넘기, 진행바 와 같은 툴을 제공합니다. 그리고 기본설정은 처음에는 나타나지 않다가 화면을 터치하면 나타나고, 사용하지 않으면 3초 후에 사라지게 설정이 되어 있습니다. ■ show(), hide()메서드를 사용해서 제어판을 나타나거나 사라지게 할 수 있고, setPrevNextListeners()를 호출해서 작성하면 이전(Previous), 다음(Next)가 나타납니다. ■ 이 예제에서는 간단한 이미지를 준비해서 배경으로 사용하고, RelativeLayout 안에 이미지뷰와 텍스트뷰를 배치해서 각각에 배경..
안드로이드 탭호스트(TabHost)와 탭위젯(TabWidget)
▣ 안드로이드 TabHost와 TabWidget ■ 안드로이드에서 탭 화면을 구성하는 방법을 알아보도록 하겠습니다. TabHost를 이용하는 것인데요. 이것은 보통 탭위젯(TabWidget)과 함께 사용됩니다. 탭호스트는 두개의 영역이 짝을 이루어서 작동하게 되는데요. 하나는 탭 버튼을 표현하는 TabWidget 부분이고, 또 하나는 화면을 구성하는 부분인 FrameLayout 영역입니다. ■ 예제를 하나 만들고 실행한 화면인데요. 그림에서 보면 아래쪽에 세개의 탭 버튼이 있고 버튼에 따라 출력되는 화면이 다르게 됩니다. 안드로이드에서 기본적으로 제공하는 탭 메뉴의 기본스타일은 버튼이 위쪽에 위치하기 되는데요. 예제에서는 아래쪽으로 내렸습니다. 위쪽에 있으면 아무래도 버튼을 클릭할때 손가락에 화면이 가려..
[안드로이드] SlidingDrawer과 세로화면 고정
안드로이드 SlidingDrawer과 세로화면 고정 ■ SlidingDrawer는 어떤 객체를 안보이게 해놨다가 핸들(Handle)버튼을 클릭하면 미끄러지듯이 나타나고, 다시 핸들 버튼을 누르면 사라지게 하는 움직이는 객체입니다. ■ 간단한 예제를 하나 만들어 보겠습니다. 이 예제는 이미지가 하나 있고 아래쪽에 핸들버튼을 배치하고, 버튼을 클릭하면 아래쪽에 숨겨져 있던 이미지가 위쪽으로 올라 오면서 원래 있던 이미지와 겹쳐지면서 버튼이 위쪽으로 올라가게 됩니다. 다시 버튼을 누르면 이미지가 아래쪾으로 사라지면서 원래의 이미지만 나타나게 하는 형태입니다. 두 이미지가 겹쳐지는걸 확인하기 위해서 나중에 나타날 그림의 아래쪾을 일부러 공백으로 만들어서 테스트 해보겠습니다.. ■ 위 그림은 실행을 해서 핸들버튼..
안드로이드 스크롤뷰 ScrollView (가로/세로 )
▣ 안드로이드 스크롤뷰 ScrollView (가로/세로) ● ScrollView는 프레임 레이아웃에 스크롤 기능을 추가해서 만들어진 형태 인데요. 스크롤뷰 하나에는 하나의 객체만 스크롤 할 수 있는게 기본입니다. 이번에 만들어볼 프로젝트 처럼 여러개의 사진을 넣을 경우에는 LinearLayout을 추가해서 그림을 넣어야 합니다. 또한 일반 ScrollView는 세로방향으로만 지원을 합니다. 가로 방향으로 적용하고 싶다면 HorizontalScrollView를 사용해야 합니다. ● 다음 그림과 같은 예제 프로젝트를 하나만들어 보겠습니다. ● 먼저 두 객체의 상속구조를 살펴보고 넘어가도록 할게요. 두개 모두 FrameLayout을 상속 받아서 만들어진걸 확인 할 수 있습니다. ● 프로젝트에 사용하기 위해서 ..
안드로이드 버튼(Button) 클릭 이벤트
[안드로이드 버튼] 클릭 이벤트 ■ 지난 포스팅에서 여러개의 버튼을 이미지를 넣어서 만들어 봤는데요. ▶ Button 만들기 : http://kd3302.tistory.com/81 이번에는 이것들을 클릭했을때 이벤트가 발생하여 실행이 될 수 있도록 생명을 불어넣는 과정을 살펴보겠습니다. ■ 먼저 버튼들을 사용하기 위해서 이벤트를 발생하기 위해서 다음과 같이 권한 설정을 해줘야 합니다. 여기에서 해줘야 할것들은 인터넷과 , 전화걸기 프로그램, 주소록 프로그램을 사용할 수 있는 권한을 설정해줘야 합니다. 권환 설정은 AndroidManifest.xml 에서 해주게 되는데요. 다음과 같습니다. ■ 이제 MainActivity.java 파일을 작성하도록 하겠습니다. 버튼을 클릭할때 실행하는 클래스에서 사용하기 ..
[안드로이드] 이미지 넣어서 버튼(Button) 만들기
▣ 안드로이드 이미지 넣어서 버튼 만들기 ■ Button은 어플의 특정 기능을 실행하도록 명령할때 사용하게 되는데요. 안드로이드에서는 제공하는 버튼에 이미지와 텍스틀 넣어보겠습니다. 텍스트만 딸랑 써넣는것보다 그림처럼 이미지들을 넣으면 좀 더 이쁘게 만들 수 있습니다. ■ 일곱개의 Button을 배치하고 각각의 특성에 맞게 이미지들을 넣었습니다. 이번 포스팅에서는 이렇게 그림과 글자 넣는 방법을 알아보고 이어서 다음 포스팅에서 이 버튼들을 클릭했을때 발생하는 이벤트들을 작성해 보겠습니다. 먼저 사용할 이미지들을 준비합니다. 위의 그림 중에서 6번째 Google Map은 나중에 안드로이드에서 내장 이미지를 불러와서 넣게 됩니다. ■ 다음으로 activity_main.xml에 버튼 7개를 배치합니다. 각각의..
안드로이드 그리드뷰(GridView) 예제
▣ 안드로이드 GridView ● Composite 중에서 GridView를 살펴보겠습니다. 이것 역시 다른 객체와 함께 사용해서 화면을 구성하게 되는데요. 지난 포스팅에서 작성한 리스트뷰가 행으로 아이템을 출력했다면 이것은 가로, 세로 2차원으로 아이템을 배치하고 스크롤하면서 아이템을 탐색할 수 있습니다. 이것 또한 "ListAdapter"를 이용하여 매핑하는 방식으로 구현을 하는데요. 예제를 하나 만들면서 자세히 보겠습니다. ● 간단한 프로젝트를 하나 만들건데요. 위 그림처럼 단말기에 있는 앱의 아이콘과 이름을 아이템으로 그리드뷰로 출력하고, 아이콘을 클릭하면 앱에 대한 설명이 Toast를 통해 출력되고 어플이 실행되며, "뒤로" 버튼을 누르면 다시 돌아오는 기능을 구현하겠습니다. 즉 내가 만든 어플..
[안드로이드 Composite] ListView와 Adapter 예제
[안드로이드 Composite] ListView와 Adapter 예제 ■ composite 객체 중에서 리스트 뷰에 대해서 포스팅을 해볼까 합니다. 이것은 Composite(합성) 이라는 단어의 뜻에서도 짐작 할 수 있듯이 다른 객체와 합성하여 화면을 구성하는 방식인데요. 리스트 뷰와 같이 '목록'을 표현하는 객체는 어탭터(Adapter)라는 개념으로 행 레이아웃과 합성해서 사용하게 됩니다. ■ 예제를 하나 만들어가면서 이해해 보도록 하겠습니다. 위의 맴핑 구조를 살펴보면서 각 객체에 해당하는 파일들을 만들고 합성하고 출력해보도록 하겠습니다. ■ 먼저 Data Set(①arrays.xml)과 AdapterView(②list.xml)를 만들어서 새로운 클래스(③listAdapter.java)를 만들어서 매..
[안드로이드 기초] TableLayout과 TableRow 표만들기
▣안드로이드 TableLayout과 TableRow를 이용해서 표만들기 ● 어떤 문서를 작성하든 '표'는 거의 다 삽입 되잖아요. 복잡한 내용을 깔끔하게 정리하기 위해서 표를 사용하곤 하는데요. 안드로이드에서도 이런 표를 만들 수 있습니다. TableLayout과 TableRow를 이용해서 배경색과 maigin을 설정하여 구분선을 표현해서 만드는 것인데요. 이것들을 사용해서 만든 간단한 표 입니다. ● 보통 이런 표를 그리기 위해서는 "TableLayout"과 "TableRow"가 동시에 사용이 됩니다. 그리고 View를 이용하여 "행"사이의 선을 그리기도 합니다. 소스코드를 보면서 어떻게 그려졌는지 살펴보도록 하겠습니다. ● 먼저 두 레이아웃의 상속구조를 살펴보도록 하겠습니다. ● 계층구조를 살펴보면 ..