인텐트는 안드로이드 애플리케이션 구성요소 간에 어떤 작업을 수행하기 위해 정보를 전달하는 역할을 한다.다른 액티비티를 띄우거나 어떤 기능을 동작하게 하는 것과 같다. 안드로이드 애플리케이션의 구성요소액티비티서비스브로드캐스트 수신자내용 제공자 다른 안드로이드 애플리케이션에 인텐트를 전달하기 위한 메서드는 다음과 같다.startActivity() //액티비티를 띄울 때 사용startService(),bindService() //서비스를 사용할 때broadcastIntent() //브로드캐스팅을 수행할 때 인텐트는 액션+데이터로 이루어져 있으며, 액션은 수행할 기능, 데이터는 수행될 대상 데이터를 의미한다.android.content.Intent 경로에 Intent클래스를 보면 상수로 정의되고 ACTION_으..
실제 안드로이드 애플리케이션을 구성하다 보면 단순히 화면을 띄워 주는 것이 아니라 어떤 액티비티를 띄운건지 그리고 띄웠던 액티비티로 부터 응답을 받아 처리하는 일이 필요할 수 있다. 액티비티를 새로 띄우는 메서드 startActivity (Intent intent) startActivityForResult (Intent intent, int requestCode) startActivity 메서드- 타 액티비티를 호출한다.- 타 액티비티에 필요한 값을 전달할 수 있지만, 다시 응답 받을 수 없다. startActivityforResult 메서드- 타 액티비티를 호출한다.- 값을 전달하고, 다시 응답 받을 수 있다.- 첫번째 인자에는 Intent객체를 넣고, 두번째 인자에는 요청 코드를 넣는데.. 이 숫자는..
XML레이아웃 파일은 안드로이드 애플리케이션이 실행될 때 메모리로 로딩되어 객체화 된다.XML레이아웃에 정의된 내용이 메모리 상에 객체화 되는 과정을 인플레이션 이라고 한다. XML레이아웃 파일은 프로젝트가 빌드 되면 컴파일되어 이진 파일로써 안드로이드 애플리케이션에 포함되긴 하지만 실행 시점이 되어서야 메모리에 로드되어 객체화되기 때문에 자바에서 setContentView()가 호출되기 전에 해당 XML의 뷰를 참조하려 한다면 에러가 발생할 것이다. 이유는 메모리에 객체화 되지 않은 정보를 참조하려고 했기 때문이다.. setContentView(int layoutResID)가 XML파일에 대해 화면 전체를 나타내는 역할을 하는데, 일부의 뷰에서 다른 XML파일의 레이아웃을 가져올 수도 있다. 안드로이드..
1. 화면을 위 아해 두 영역으로 나누고 그 영역에 각각 이미지뷰를 배치. 2. 상단의 이미지뷰에 하나의 이미지가 보이도록 함. 3. 두 개의 이미지뷰 사이에 버튼을 하나 만들고 그 버튼을 누르면 상단의 이미지가 하단으로 옮겨져 보이고 다시 누르면 상단으로 다시 옮겨지는 기능을 추가 한다. xml파일 java파일 public class ChallengeActivity extends AppCompatActivity { private ImageView image1, image2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activi..
- 프레임레이아웃은 단순한 레이아웃이다.- 하나의 뷰만을 화면에 표시한다. 프레임 레이아웃은 중첩기능을 가지고 있는데, 뷰를 하나 이상 추가 할 경우에 추가된 순서대로 쌓이는 특징을 가지고 있다.가장 먼저 추가한 뷰가 아래쪽에 쌓이며, 가장 나중에 추가한 뷰만 보이게 되는데, 이때 뷰의 가시성 속성(visibility)을 가지고 설정을 하게 되면 추가한 여러개의 뷰를 서로 전환하면서 보여줄 수 있다. 다음은 프레임 레이아웃으로 버튼을 클릭했을 때 이미지를 순서대로 보여주는 코드이다. 이미지가 더 이상 없을 때에는 처음으로 돌아가서 마지막에 추가한 뷰 순서대로 이미지를 다시 보여준다.-xml코드 visibility로 가시성 속성을 설정할 수 있으며, visible은 보여주는 값이고, invisible은 보..