카테고리: Android

안드로이드 스튜디오 예제 8 – 가로, 세로 고정

“화면 회전” 설정이 켜져 있을 때, 안드로이드 스튜디오로 생성한 앱은 디바이스의 방향에 따라서 회전한다. 회전이 되지 않고 가로 또는 세로로 고정이 되려면 main activity의 java 파일의 onCreate() 함수 안에 다음과 같은 내용을 추가해주면 된다. 가로 고정: setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE ); 세로 고정: setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_PORTRAIT );

안드로이드 스튜디오 예제 7 – 타이틀 바, 이메일 버튼 없애기

안드로이드 스튜디오를 이용해서 안드로이드 앱을 만들면 상단에 타이틀 바와 하단에 이메일 버튼이 자동 생성되는데 굉장히 꼴보기 싫다. 이번 예제에서는 이렇게 자동 생성되는 타이틀 바(Title Bar)를 삭제하는 내용을 다루려고 한다. ——————————————————————————————————– 1. 안드로이드 스튜디오를 실행하고, Start a new Android Studio project를 선택한다. 2. New Project 창이 나타나면, Application name에 BlankApplication을 입력하고 Next 버튼을 클릭한다. 3. Target

안드로이드 스튜디오 예제 6 – 프래그먼트 간 통신

예제 5에서 설명했듯이 서로 다른 프래그먼트들 끼리는 직접적으로 정보를 주고 받을 수 없다. 아마도 프래그먼트는 재사용성에 중점을 두고 설계된 요소이기 때문에 이러한 정책을 취하고 있는 것 같다. 만약 A라는 프래그먼트에서 B라는 프래그먼트의 setData()라는 함수를 호출하는 식으로 개발했을 때 , 다른 프래그먼트들에는 setData()라는 함수의 존재 여부가 보장되지 않기 때문에 재사용성에 문제가 발생할 수 있기 때문이다. 따라서,

안드로이드 스튜디오 예제 5 – 프래그먼트 간 통신

서로 다른 fragment들 끼리는 직접적으로 정보를 주고 받을 수 없다. Fragment끼리의 통신은 반드시 host activity(프래그먼트들이 바인딩되어 있는 activity)를 거쳐서 이루어져야 한다. 본 예제에서는 하나의 main activity와 두 개의 fragments를 생성할 것이다. 첫 번째 fragment에는 두 개의 Buttons를, 두 번째 fragment에는 하나의 TextView를 만들 것이다. 첫 번째 fragment의 버튼 중 하나를 클릭하면, main activity에서 버튼 클릭으로 발생한

안드로이드 스튜디오 예제 4 – 프래그먼트 교체

본 예제에서는 두 개의 프래그먼트를 생성하고 하나의 프래그먼트만 액티비티 상에 배치할 것이다. 그리고, 액티비티의 버튼을 누르면 다른 프래그먼트로 교체되도록 하는 내용에 대해서 살펴볼 것이다. ——————————————————————————————————– 안드로이드 스튜디오를 실행한다. “Start a new Android Studio project”를 선택한다. “Application name”에 “FragmentTestApplication”을 입력하고 Next 버튼을 클릭한다. “Phone and Table”, “Minimum SDK = API 22″를 선택하고 Next 버튼을 클릭한다. “Blank

View, Activity, 그리고 Fragment

안드로이드에서는 기본적인 UI 요소를 View라고 부르며, 모든 UI 요소들은 View 클래스(android.view.View)의 서브 클래스들이다. View는 크게 Widget과 Layout으로 구분할 수 있다. Button, TextView, CheckBox와 같은 시각적인 UI 요소들을 Widget(또는 Component)이라고 하고, 화면에서 보이지는 않지만 다른 View들을 담는 container 역할을 하는 것을 Layout이라고 한다. 따라서, View는 계층 구조로 생성하여 사용할 수 있으며, 이 때 계층상의 상위 View를 부모

activity_?.xml vs content_?.xml

“핵심만 골라 배우는 안드로이드 스튜디오” 책의 예제를 따라하다 보면 최신 버전(1.5.1)과는 약간 다른 내용이 나온다. 기본적으로 생성되는 “Hello World!”가 적혀있는 TextView를 선택해서 삭제하라는 내용이 나오는데, activity_?.xml이 선택되어 있을 때에는 이것이 불가능하다. content_?.xml을 선택한 상태에서만 편집이 가능한데 책 어디에서도 content_?.xml에 대한 내용은 나와있지 않다. 안드로이드 스튜디오 1.4 버전부터 디자인 방식이 변경되었다. 예전 버전에서는 activity_?.xml만 있었지만, 1.4

안드로이드 스튜디오 예제 3 – 이벤트 처리 4가지 방법

예제 1에서 버튼을 클릭했을 때의 이벤트를 처리하는 방법을 살펴보았다. 이벤트 리스너(event listener)를 이용한 방식이었는데, 이 외에도 다양한 방식으로 이벤트 처리를 할 수 있다. 본 예제에서는 예제 1에서와 동일한 방식을 포함해서 총 4가지 종류의 이벤트 처리 방법에 대해서 살표볼 것이다. ——————————————————————————————————– 안드로이드 스튜디오를 실행한다. “Start a new Android Studio project”를 선택한다. “Application name”에 “EventHandlingApplication”을 입력하고 Next

안드로이드 스튜디오 예제 2 – 구글맵

본 예제에서는 구글 맵(Google map)을 사용하는 방법을 살펴볼 것이다.안드로이드 스튜디오에서 Google Maps Activity로 설정하여 프로젝트를 생성하면 필요한 기본 코드들을 자동생성해준다.  구글 맵 API를 사용하려면 키(key)를 발급받아야 하는데, 이 역시 안드로이스 스튜디오에서 제공하는 간단한 방법을 이용하게 될 것이다. 또한, 구글 맵 API를 이용해서 지도상에서 새로운 마커와 위치도 설정해보도록 하겠다. ——————————————————————————————————– 안드로이드 스튜디오를 실행한다. “Start a new

안드로이드 스튜디오 예제 1 – 프로젝트 생성, 클래스 추가, 이벤트 처리

첫 번째 안드로이드 스튜디오 예제이다. 안드로이드 앱을 개발하려면 안드로이드 스튜디오(Android Studio)라는 프로그램을 사용해야 하는데, 안드로이드 스튜디오는 비쥬얼 스튜디오의 마법사(wizard)와 같은 기능을 제공한다. 안드로이드 스튜디오를 실행시키고 일련의 설정들을 입력해 주면 쉽게 기본적인 프로젝트를 자동으로 생성해준다. 본 예제에서는 텅 비어 있는 화면(empty activity)를 하나 생성할 것이다. 그리고, 텍스트뷰(TextView)와 버튼(Button)을 하나씩 배치하고, 버튼을 누르면 텍스트뷰의 내용이 변하도록 할

Handler, Looper, and Thread

프로그램(program)을 실행하게 되면 프로그램의 인스턴스(instance)가 생성되는데 이를 프로세스(process)라고 한다. 프로세스는 운영체제(OS)로부터 필요한 메모리 등의 리소스(resource)를 할당받고 이를 이용하여 특정 기능을 수행한다. 현존하는 대부분의 운영체제들은 동시에 여러 개의 프로로세스를 실행할 수 있는 멀티 프로세싱(multi-processing) 운영체제들이다. 하지만, 동시에 실행중인 프로세스들은 서로 리소스를 공유하지 않는다. 각각의 프로세스는 자신만의 고유한 리소스를 운영체제로부터 할당받아 독립적으로 실행되며, 프로세스 종료시 할당받은 리소스를 다시

android-22 Error

Android Studio에서 새로운 Import Module 등을 수행할 때 Error: Cause: failed to target with hash string ‘android-22’와 같은 에러가 발생할 때가 있는데, 해당 모듈에서 사용한 낮은 버선의 SDK가 설치되어 있지 않을 때 발생하는 에러이다. 에러 메시지 하단에 파란색으로 표시되어 있는 Open Android SDK Manager 문구를 클릭하여 SDK Manager를 띄운다음 필요한 이전 버전의 SDK를 체크하여 설치해주면

맥에서 안드로이드 개발 환경 설정하는 방법

Android Stduio는 Android App. 개발을 위한 통합 개발 환경(IDE)이다. Android Stduio는 Windows, Mac, Linux에서 모두 사용이 가능하지만 여기에서는 Mac에서의 개발 환경 설정에 대해서만 설명한다. Android SDK는 Java 언어를 사용하기 때문에 Android App.을 개발하기 위해서는 우선 Java JDK를 설치해야 한다. Java JDK는 다음 경로에서 구할 수 있다. 이곳에서 가장 최신 버전의 Java JDK를 다운받아서 설치하면 된다. http://www.oracle.com/technetwork/java/javase/downloads/index.html 만약 이미