티스토리 뷰

목록에서 project를 누르면 프로젝트 구조가 나옵니다.



이것저것 많지만, 처음에 주로 보는 부분은 현재 켜져 있는 파일인

MainActivity.java

activity_main.xml 입니다.


이름은 사용자가 얼마든지 바꿀 수 있는 파일로, 간단하게 말하면 xml 파일은 레이아웃 등 디자인을, java 파일은 코딩을 하는 파일입니다.



xml 파일을 눌러봅니다.

처음 실행했을 때 이런 식으로 오류메세지가 뜨는 경우도 있습니다.

Design editor is unavailable until a successful build


빌드를 한번 해주면 해결되므로 상단메뉴에서 망치를 눌러줍니다. (Build- Make a project 나 Ctrl+F9 눌러도 됩니다)



빌드가 끝나면 이런 창이 뜹니다.


Ctrl+마우스 휠을 돌리면 확대됩니다.

text 내용을 수정하면 글자가 수정됩니다.


버튼을 만들어서 onClick 이벤트로 Toast 메시지를 띄워야 하므로 이 텍스트뷰를 지우고 

(Del 키를 누르거나 오른쪽클릭 - Delete 클릭)

옆의 팔레트에서 버튼을 끌어옵니다.


이 버튼을 눌러서 뭔가가 되게 하려면

먼저 저 버튼의 id + onclick 이벤트가 필요합니다.


기본적으로 생성된 이 버튼의 ID는 button 입니다.


이걸 알았으니 이제 코딩하러 java 파일로 넘어가봅시다.


알아서 코드가 들어가 있습니다. (주석은 원래 없습니다)

onCreate하고 setContentView를 사용하는 아래 내용은

코딩을 시작하는 아주 기본적인 내용이므로 이해하고 넘어갑시다.


그럼 먼저 button 이라는 변수를 만듭니다.

버튼의 아이디를 넣어야 하므로, 

Button button = findViewById(R.id.button); 을 입력해줍니다.

변수명인 button을 제외하면 거의 다 자동완성이 뜹니다.

엔터를 눌러 자동완성으로 입력해줍니다. Button은 자동완성을 하면 android.widget.Button이 자동으로 임포트되므로 편리합니다.

findViewById는 아이디를 입력하면 그 개체를 찾아주는 메소드입니다.




어떤 버튼인지 변수에 담았으므로 이제 이 변수에 onclick 리스너를 설정합니다.

메소드 setOnClickListener를 자동완성 시키면

button.setOnClickListener();가 됩니다.



괄호 사이에 new를 입력하고 Onclick을 치면 자동완성으로 아래 화면이 뜹니다. 엔터 쳐서 완성시켜줍니다.

이제 좀 그럴듯해졌습니다. 



클릭하면 Toast 위젯을 띄워야 하므로, Toast를 자동완성 해줍니다.

Toast. 을 치면 제일 먼저 makeText 함수가 뜹니다. 

makeText의 변수는 세 가지로,

첫 번째 칸의 getApplicationContext()는 현재 실행중인 View의 Context를 가져오고,

두 번째 칸은 표시할 메세지,

세 번째 칸은 메세지가 떠 있는 시간입니다. 토스트는 잠깐 뜨는 메세지이기 때문에 사용됩니다.


마지막으로 이런 토스트를 띄우라고 .show();를 붙여주면 코딩은 끝입니다.



이제 앱을 실행해봅니다.

▷ 이걸 누르거나 Shift+F9를 누르면


빌드할 타겟을 설정할 수 있는 창이 뜹니다.

USB로 핸드폰을 연결할 수도 있고, 버추얼 디바이스를 이용할 수 있는데

여기선 빨간 부분을 눌러서 버추얼 디바이스를 만들어봅니다.


기본설정대로 합니다.


최신 버전인 API 27로 해봅니다. 빨간 박스에 보면 설치되지 않은 프로그램이 있는데

이거 설치하고 API 27도 다운로드 합니다.


컴 사양이 넉넉하다면 2GB해도 좋습니다.


모두 완료됐다면 Next를 눌러 넘어갑니다.

설치가 다 되었는데 Next로 안 넘어가진다면 Previous로 갔다가 다시 가거나

이 창을 껐다가 장치추가부터 다시하거나 새로고침하면 해결됩니다.



드디어 AVD(Android Virtual Device)가 등록되었습니다.

뭐가 계속 진행중이니 핸드폰 화면이 뜰 때까지 기다려줍니다.



버튼을 클릭하면 하단에 메세지가 뜹니다.



근데 xml파일에서 가운데 정렬 되어 있던 버튼이 한쪽으로 가있네요.

xml 파일을 열어보니 ! 표시가 있습니다.

오른쪽 상단 느낌표를 눌러보면 

This view is not constrained, it only has design time positions, so it will jump to (0,0)...

이라는 메세지가 뜹니다.

제약 조건(Constraint)이 없어서 (0,0)에 떴다는 건데,



버튼을 클릭하고 상단에서 마법봉을 눌러줍니다. (Infer Constraints)


에러 메세지가 없어졌으니 다시 재생 버튼을 눌러 AVD를 켜봅니다.



가운데 정렬도 됐고 클릭하면 메세지도 뜹니다.



댓글