달력

12

« 2019/12 »

  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  

안드로이드 프로그램 구조

   

   

뷰(View)

뷰(View)는 사용자와 직접 상호작용을 하는 UI를 의미합니다.

   

 

액티비티 (Activity)

  • 하나의 화면을 컨트롤하는 객체로 (어플리케이션의 하나의 화면, 폰 화면)
  • 보통 액티비티와 UI화면은 일대일 대응 관계를 갖고 시스템 혹은 사용자로부터 시작된 이벤트에 반응(처리)합니다.
  • 레이아웃을 포함하며 UI오브젝트를 추가하여 사용할 레이아웃을 정의(화면을 구성)하게 됩니다.

   

   

위젯(Widget)

TexTView, Button, EditText등 사용자의 입력을 받거나 화면에 데이터를 표시해 주는 Object

   

   

레이아웃(Layout)

액티비티들을 어떠한 방식으로 화면에 배치해 줄지를 결정해 주는 하나의 컨테이너 역할

UI오브젝트를 담고 있는 그릇역할.

   

 

인텐트 (Intent)

액티비티간의 통신 수단이며 메시지에 대한 상세한 정보를 가집니다. 예를 들어 주소록 목록 액티비티에서 편집 액티비티를 호출할 때 누구의 주소를 어떤 식으로 편집하라는 지시가 인텐트에 실려 전달됩니다.

   

 

서비스 (Service)

서비스는 주로 백그라운드에서 돌아가는 실행코드로, 일단 실행되면 휴대폰이 꺼질 때까지 돌아갑니다. 서비스는 일반적으로 사용자 인터페이스가 없습니다.

예) MP3 플레이어, 저장기능

 

   

브로드캐스트 리시버(BroadcastReceiver)

만약 애플리케이션이 전화가 오거나 문자메시지 수신과 같은 이벤트 반응시 적절하게 반응하기를 원한다면 반드시 브로드캐스트 리시버로서 등록되어 있어야만 합니다. 신호만 대기할 뿐 UI를 따로 가지지는 않으므로 신호가 오면 적절한 액티비티를 띄워 내용을 전달합니다.

   

 

컨텐트 프로바이더 (Content Provider)

다른 응용 프로그램을 위해 자신의 데이터를 제공합니다. 안드로이드는 보안이 엄격하여 다른 응용프로그램의 데이터를 함부로 액세스 하지 못하도록 되어 있습니다. 응용프로그램 간에 데이터를 공유할 수 있는 합법적인 유일한 장치가 바로 콘텐트 프로바이더입니다.

   

   

사용 가능한 구성 요소 

(1) 데이터 보관

(2) 네트워크

(3) 멀티미디어

(4) GPS

(5) 전화서비스

   

Posted by codedragon codedragon

댓글을 달아 주세요

EditText

사용자로부터 텍스트를 입력받는데 사용하는 위젯

   

 

XML 레이아웃 파일에 기재되는 주요 속성

속성

의미

android:autoText

자동 철자 교정 기능을 사용할 것인지 지정

android:capitalize

입력된 텍스트의 첫 글자를 대문자로 자동 변경할지를 지정한다(영문 이름이나 도시명 등).

android:digits

숫자만 입력받을 수 있게 제한할지 여부를 지정한다.

android:singleLine

한 줄짜리 텍스트만 입력 받을지, 아니면 여러 줄도 입력할 수 있게 할지 지정

android:numeric

숫자만 입력받을 수 있도록 지정

android:password

암호 입력창으로 사용

android:phoneNumber

전화 번호를 입력받을지 지정

android:inputMethod

우편번호나 주민등록번호, 신용카드번호처럼 전화번호가 아닌 다른 값을 특정 형태로 입력받아야 한다면 InputMethod 인터페이스를 구현해 입력 형태를 정의하고 , 구현한 클래스를 android:inputMethod 속성에 지정해 적용할 수 있다.

android:hint

글자를 입력하기 전에 간단한 안내글이 입력상자안에 표시됩니다.

글자가 입력되면 hint속성에서 표시되는 글자는 사라집니다.

android:textColorHint

hint에서 표시되는 글자의 색상 지정

android:editable

false

문자열 편집 불가

true

기본값

문자열 편집 가능

  


  

   

   

inputType 속성  

inputType 속성값

설명

number

숫자

numberSigned

0보다 큰 숫자

numberDecimal

정부

text

텍스트

textPassword

패스워드로 표시

textEmailAddress

이메일로 표시

phone

전화번호로 표시

time

시간

date

날짜

   

   

입력 필터를 이용한 사용자 입력 제한

InputFilter 클래스(android.text.InputFilter)를 이용해 영문 대문자만 입력되게 하는 것과 텍스트 길이를 제한하는 것이 가능하다.

 

final EditText text_filtered = (EditText)findViewById(R.id.input_filtered);

text_filtered.setFilters(new InputFilter[]{

new InputFilter.AllCaps(), // 소문자 -> 대문자로

new InputFilter.LengthFilter(2) //주어진 개수만큼만 입력가능

});

 

Posted by codedragon codedragon

댓글을 달아 주세요