Do it! 안드로이드 프로그래밍
책을 보고 연습하고 있습니다!!
설치과정은 따로 포스팅X.
가상 단말(Virtual Device)을 설치하세요!
설치를 끝내면 안드로이드 스튜디오에서 오른쪽 상단에 있는 아이콘 ▶ 을 누르거나 [Shift] + [F10] 을 누르면 됨.
[MainActivity.java] 탭을 열면 코드가 보일 것이다.

: MainActivity.java에 입력된 코드를 보면 표준 자바나 다른 언어에서 프로그램의 시작점 역할을 하는 main 함수가 없다. 이것으로 안드로이드는 'main' 함수가 아닌 다른 함수가 시작점의 역할을 한다고 추측할 수 있다.
즉, 'MainActivity.java'에 하나밖에 없는 함수인 onCreate 함수가 시작점의 역할을 한다고 생각할 수 있다.
onCreate 함수 안의 첫 번째 줄에서는 super라는 키워드를 사용하여 onCreate 함수를 호출한다. 두번째는 setContentView가 보이는데, 이게 바로 Hello World!라는 메시지를 띄우는 역할을 해준다.
[res] 폴더를 열어보면 여러 개의 폴더 중에서 [layout] 폴더를 찾을 수 있고, 그 밑에는 activity_main.xml이라는 이름의 파일이 들어있다.
MainActivity.java에서 R.layout.activity_main 이라는 코드를 볼 수 있는데, 이 코드의 의미가 activity_main 을 가르키는 것이다.
마우스로 Hello World! 글자를 클릭해보면 오른쪽에 Attributes 창이 뜰 것인데, 선택한 글자에 대한 여러 가지 정보를 표시해준다. 이렇게 글자를 화면에 보여주는 것을 텍스트뷰(textView)라고 부른다. text라는 이름의 속성을 찾아 그 값을 바꾸면 Hello World! 글자가 그 글자로 바뀌는 것을 볼 수 있음.
디자인 화면의 왼쪽에는 팔레트(Palette)가 있는데, 버튼이나 메시지같은 요소들이 있다. 이 요소를 마우스로 끌어 화면에 추가할 수 있다. 그 전에 자석모양 아이콘을 클릭하여 금지 모양을 없애야 화면 요소를 쉽게 배치할 수 있다.
팔레트에서 [Common] 항목을 눌러보면 [Button]을 볼 수 있다. 이를 화면으로 끌어당겨기고 그 버튼의 속성 창에서 text 항목을 찾아 바꿀 수 있다.
/* MainActivity.java */
...
public void onButton1Clicked(View v) {
Toast.makeText(this, "확인1 버튼을 눌렀어요.", Toast.LENGTH_LONG).show();
}
: 이 코드를 MainAcitivity.java 에 추가하고 activity_main.xml 파일에 들어 있는 버튼을 눌러 onClick 속성을 찾아 값을 onButton1Clicked 로 선택한다.
( 실행해서 눌러보면 메시지가 뜨는 것을 볼 수 있음 )
그런데 소스코드를 수정하기 전에 먼저 해야 할 일이 있다. 자바에서는 어떤 클래스를 사용할 떄 import 구문을 추가해야 하는데 이것을 일일이 입력하는 것은 상당히 귀찮은 일이다. 안드로이드 스튜디오에서는 코드가 입력되었을 때 필요한 import 구문을 자동으로 넣을 수 있는 기능을 제공한다.
[File] -> [Setting] -> [Editor] -> [General] -> [Auto Import]
위의 위치에서 Add unambiguous imports on the fly 와 Optimize imports on the fly 항목을 체크 한후에 [OK] 버튼을 클릭한다.
Toast 클래스의 makeText 함수와 show 함수를 사용하면 화면에 잠깐 보였다 없어지는 메시지를 표시할 수 있다.
public void onButton2Clicked(View v) {
Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.naver.com"));
startActivity(myIntent);
}
public void onButton3Clicked(View v) {
Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("tel:010-3080-3760"));
startActivity(myIntent);
}