앱을 사용하다 보면, 위젯을 클릭했을 때 새로운 화면으로 전환이 되는 경우가 있다. 이렇게 화면이 전환될 경우 필요한 데이터를 전달할 수 있도록 안드로이드에서 지원한다. 데이터의 전달은 한 방향으로 데이터를 전달하는 것과 양방향으로 데이터를 전달하는 것으로 나눌 수 있다. 1. 한 방향 데이터 전달 한쪽 방향으로 데이터를 전달할 때는 putExtra()를 사용하여 데이터를 태그와 함께 담은 뒤 startActivity()를 이용하여 데이터를 전달한다. 이 후 세컨드 페이지에서 데이터를 사용하기 위해 인텐트를 활용하여 getExtra()로 데이터를 받아준다. 실제 안드로이드 스튜디오에서 putExtra를 작성했을 때 나오는 화면이다. 위의 사진처럼 다양한 종류의 자료형을 지원한다. 앞에 붙은 name이라는..
1) 안드로이드의 4대 컴포넌트 인텐트를 설명하기 앞서, 안드로이드의 4대 컴포넌트를 먼저 소개하려고 한다. 안드로이드의 4대 컴포넌트는 액티비티, 서비스, 브로드캐스트 리시버, 콘텐트 프로바이더이다. 액티비티란? 액티비티(Activity)는 화면을 구성하는 가장 기본적인 컴포넌트이다. 서비스란? 서비스(Service)는 눈에 보이는 화면(액티비티)과 상관없이 백그라운드에서 동작하는 컴포넌트이다. 백신 프로그램과 같이 눈에는 보이지 않지만 계속 동작하고 있다. 로컬에서 동작하는 서비스는 서비스 생성 -> 서비스 시작 -> 서비스 종료의 세 단계를 거친다. 브로드캐스트 리시버란? 안드로이드는 여러 응용 프로그램이나 장치에 메시지를 전달하기 위해 방송(broadcasting) 메시지를 사용한다. 안드로이드는..
1) 액티비티(Activity) 액티비티는 화면을 구성하는 가장 기본적인 컴포넌트로 안드로이드폰에 나타나는 화면 하나하나를 말한다. 액티비티는 사용자에게 보여주는 화면을 만들기 때문에 안드로이드의 4대 컴포넌트 중 가장 핵심적인 요소이다. 실제 모바일 앱을 사용해보았다면 버튼을 클릭하는 등의 사용자의 이벤트에 따라 화면이 이동되기도 한다. 이처럼 모바일 앱 환경은 사용자와 앱의 상호작용이 항상 동일한 위치에서 시작되는 것이 아니라는 점에서 데스크톱 앱 환경과 차이점을 지닌다. 대신 사용자의 행동이 흔히 비결정론적으로 시작된다. 예를 들어 홈 화면에서 이메일 앱을 열면 이메일 목록이 표시될 수 있고, 반대로 소셜 미디어 앱을 사용하고 있는 상태에서 이메일 앱을 실행하면 이메일을 작성하기 위한 이메일 앱 화..
1) 레이아웃의 기본 개념 안드로이드에서 사용하는 버튼, 텍스트뷰 등의 각종 위젯은 레이아웃이라는 틀 위에 존재해야 한다. 필요한 위젯을 개발자가 원하는 곳에 배치하기 위해 적절한 레이아웃을 사용해야 한다. 레이아웃은 ViewGroup 클래스로부터 상속받으며 내부에 위젯들을 담는 용도로 사용된다. 레이아웃에는 다양한 속성들이 존재한다. - orientation : 레이아웃 안에 배치할 위젯의 수직 또는 수평 방향을 설정함 - gravity : 레이아웃 안에 배치할 위젯의 정렬 방향을 좌,우 중앙 등으로 설정한다. - padding : 레이아웃 안에 배치할 위젯의 여백을 설정한다. - layout_weight : 레이아웃이 전체 화면에서 차지하는 공간의 가중값을 설정하는데, 여러 개의 레이아웃이 중복될 경..