분류 전체보기: 247개의 글
만약 여러분들이 개발하는 앱이 한국시장을 넘어 외국시장도 노리고 있다면 앱은 다국어 지원이 가능해야 합니다. 다국어 지원이란 단말기에 설정된 국가 언어에 따라 해당 국가 언어로 문자열이 바뀌는 것을 의미합니다. 안드로이드에서 다국어를 지원하기 위해서는 문자열 리소스를 활용해야 합니다. 이번 포스팅에서는 간단하게 한국어와 영어를 동시에 지원하는 앱을 만들어보겠습니다. 1. 한국어 문자열 리소스 추가 먼저 한국어를 지원하기 위해서는 한국어 전용 문자열 리소스 폴더를 생성합니다. ▼ 먼저 /res/ 경로에 문자열 리소스 폴더를 생성해줍니다. res 폴더를 우 클릭하여 [New]-[Directory]를 클릭하고 폴더 이름을 지정해주고 OK버튼을 클릭합니다. ▼ 여기서 폴더명은 반드시 values-ko와 같이 v..
1. 문자열 리소스 - /res/values/Strings.xml 안드로이드 프로젝트를 생성하게 되면 /res/values/ 경로 아래에 strings.xml이라는 xml 리소스 파일을 확인할 수 있습니다. ▼ 해당 파일은 프로젝트 생성당시에 default로 생성되는 xml 리소스 파일입니다. 이미 app_name이라는 이름을 가진 문자열 리소스가 정의되어 있습니다. 각 태그 요소와 xml 리소스 작성방법에 대해 살펴보겠습니다. ● 요소 xml 리소스를 추가하는데 있어서 필수로 들어가는 루트 요소입니다. 반드시 추가하는 리소스는 ~ 내부에 작성되어야 합니다. ● 요소 단일 문자열 리소스를 추가할 때 사용하는 요소입니다. 반드시 name 속성값을 지정해야 하며 name 속성값은 문자열의 이름이자 다른 곳에..
안드로이드 TextView는 화면에서 Text를 표시할 때 사용하는 뷰 위젯입니다. Button 과 EditText의 부모 클래스이기도 한 TextView는 사용법은 간단하지만 부모 클래스인 View 클래스로부터 상속받는 다양한 속성과 자기 자신이 가지는 다양한 속성들로 인해 자유자재로 다루는데는 시간이 걸립니다. 1. TextView 화면에 배치하기 ▼ TextView를 화면에 배치하는건 간단합니다. 심지어는 안드로이드 프로젝트를 처음 만들었을 때 생기는 Activity의 xml 레이아웃 리소스에서도 익숙하게 보셨을 겁니다. TextView의 Text 속성에 화면에 표시하고자 하는 문자열을 속성값으로 지정하게 되면 해당 속성값이 화면에 표시가 됩니다. 2. 자바 소스에서 TextView의 Text 지정..
App 사용자의 일련의 행동에 대해 반응하고 특정한 기능을 수행하는 것을 이벤트를 처리한다는 또는 이벤트를 핸들링한다고 말합니다. 대표적으로 Button 클릭 이벤트가 있습니다. 사용자가 Button을 클릭하면 구현된 기능을 수행하죠. 이를 Button 클릭 이벤트를 처리한다고 말합니다. 안드로이드에서는 특정 이벤트 처리를 리스너(Listener)를 구현함으로써 처리할 수 있습니다. 특정 뷰(View)에 대해 이벤트가 발생하고 등록된 리스너의 오버라이딩 된 약속된 Method를 호출함으로써 이벤트를 처리하는 방식인 거죠. 이번 포스팅에서는 이벤트를 처리하기 위한 여러 방법에 대해서 알아보도록 하겠습니다. 1. 공통 예제 레이아웃 형태. 버튼 이벤트 처리에 대한 예제는 동일한 기능을 수행하는 App을 기반..
자바에서 익명 클래스(Anonymous Class)를 사용하는 방법에 대해 알아보겠습니다. interface Number { public void DisplayNumber(); } ▼ 여기 Number Interface 하나가 있습니다. Number Interface를 상속받아 구현하는 Class는 DisplayNumber() Method를 구현하도록 강제합니다. public class Display { private Number number; public Display(Number object) { this.number = object; } public void display() { this.number.DisplayNumber(); } } ▼ Display Class를 정의하였습니다. Display ..
안드로이드 에디트텍스트(EditText)는 TextView로부터 파생된 클래스로 TextView는 단순히 Text를 보여주는 역할을 한다면 EditText는 Text를 입력 및 수정까지 가능한 뷰(View) 위젯입니다. 1. EditText 기본 사용법 EditText를 화면에 배치하는 방법은 간단합니다. 레이아웃 리소스 XML에서 사이에 EditText의 속성을 정의하면 됩니다. ▼ App을 실행하면 EditText가 화면에 배치된 것을 확인할 수 있습니다. Layout 리소스 xml에서 EditText의 Text 속성값을 "Sample EditText"로 지정하였기 때문에 초기 App 실행 시점의 Text영역에는 "Sample EditText"가 나타납니다. EditText를 클릭하면 Text 입력기..
GridLayout은 2차원 격자무늬 형태의 레이아웃으로 행과 열의 집합형태로 구성된 레이아웃입니다. TableLayout의 단점을 보완한 레이아웃으로 LinearLayout 또는 FrameLayout과 같은 다른 레이아웃의 장점을 포함하는 레이아웃입니다. GridLayout을 사용할 시 다른 레이아웃과 중첩으로 사용할 필요가 없어 메모리 사용량을 줄일 수 있다는 장점이 있습니다. 1. GridLayout 속성 - orientation / rowCount / columnCount 속성 설명 orientation 자식 뷰(View)들이 GridLayout의 각 셀 영역에 배치되는 방향을 결정합니다. orientation = "horizontal" : 수평방향으로 뷰(View)를 정렬합니다. orientat..
안드로이드 4대 구성요소(Component)는 엑티비티(Activity), 서비스(Service), 콘텐트 제공자(Content Provider), 방송수신자(Brodcaster Receiver)로 이루어져 있습니다. 각각의 구성요소(Component)는 독립된 형태로 존재하며 각자가 고유의 기능을 수행하며 중간에 인텐트(intent)를 통해 상호작용을 합니다. 이번 포스팅에서는 4대 구성요소의 전체적인 개념에 대해서만 정리하고 각 구성요소에 대해서 자세한 내용을 포스팅하도록 하겠습니다. 4대 구성요소(Component) 1. 엑티비티 (Activity) 엑티비티(Activity)는 사용자 화면을 담당하는 구성요소입니다. App에서 엑티비티를 구현하기 위해서는 Activity Class를 상속받아야 하며..
이번 포스팅은 LinearLayout과 RelativeLayout에 이어 FrameLayout에 대해 알아보겠습니다. FrameLayout은 여러 개의 뷰를 중첩으로 배치하고 그중 하나를 레이아웃의 전면에 표시할 때 사용하는 레이아웃입니다. ▼ FrameLayout의 Frame의 '액자'를 의미합니다. '액자'를 FrameLayout과 연관지어 생각해본다면 FrameLayout의 배치기능을 이해하는 데 도움이 됩니다. 액자에 여러 장의 같은 크기의 사진을 끼워 넣는다고 가정을 하였을 때 먼저 들어간 사진의 경우는 나중에 들어간 사진에 의해서 가려져서 보이지 않습니다. 마찬가지로 FrameLayout과 연결시켜 생각해보면 FrameLayout에 여러개의 같은 크기를 가지는 뷰(View)를 배치하였을 때 가..
RelativeLayout은 자식 뷰 또는 부모 뷰 간의 관계에 따라 배치를 적용하는 레이아웃입니다. 1. RelativeLayout의 기본속성 - gravity 속성과 ignoregravity 속성 속성 설명 gravity RelativeLayout의 자식 뷰들의 중력방향을 결정합니다. ignoregravity gravity 설정 상태에서 특정 자식 뷰에 대해 gravity 속성을 무시합니다. ▼ RelativeLayout을 최상단에 배치하고 그 아래 Button 뷰 2개를 배치하였습니다. RelativeLayout 의 속성 gravity를 "bottom"으로 지정하였기 때문에 하위 뷰들은 하단에 배치가 되야합니다. 다만 ignoreGravity 속성의 속성값으로 id 속성값이 button1인 뷰를 지..