elevne's Study Note
Android 시작 (1) 본문
Android 개발 공부를 시작해보았다. 우선 Android Studio를 인터넷에 나와있는대로 설치해주고 Virtural Device를 추가해주는 등의 작업을 진행하였다.
그 후, 처음 나오는 화면에는 MainActivity.java, activity_main.xml 파일이 띄워져 있다. MainActivity에서 서버에서 일어나는 일을 관리하여 앱을 실행시키는 것이고 xml 파일이 앱의 view 역할을 해주는 것 같다. 여러가지 태그들을 xml 파일에 작성해보았다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#FFE500"
android:textSize="20sp"
android:text="JAVA ANDROID"/>
<EditText
android:id="@+id/idTest"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:hint="아이디를 입력하세요..." />
<Button
android:id="@+id/buttonTest"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="제출" />
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#24A329"
android:text="TextView" />
</LinearLayout>
우선 처음 설정되어 있던 ConstraintLayout을 LinearLayout으로 바꿔주었다. 이를 변경해주는 가운데에 위치해있던 Text가 위에서부터 다시 정렬되는 것을 확인할 수 있었다. 안의 속성으로 layout_width, height 를 match_parent로 설정해주었는데, 이는 부모가 가지는 길이를 모두 채울 때 사용되는 속성이라고 한다. 또, 밑에서는 wrap_content 도 사용되었는데 이는 딱 필요한 길이만큼만 사용될 수 있게끔 해주는 속성이라고 한다.
밑에 TextView, EditText, Button 을 사용하였는데 html로 생각하면 각각 p, input, button 태그에 해당하는 것들이다.
이 외에도 xml 파일 내에서 우측의 Design을 클릭하여 직접 요소들을 추가해줄 수 있다고 한다. Design 좌측의 Palette에 들어가서 필요한 요소를 직접 화면 내부로 드래그하면 xml 파일에도 해당 요소가 자동으로 작성된다.
Design에 보이는 화면에서 요소를 클릭하고, 우측의 Attribute 탭에서 해당 요소의 attribute들을 편리하게 조작해줄 수도 있다.
또, java 파일에서 이벤트처리를 진행해줄 수 있다. javascript를 html에서 활용하듯이 (물론 따로 script 태그 같은 것을 사용하는 것 같지는 않지만...?) 함수를 만들어서 사용할 수 있는 것이다. MainActivity.java 파일에 아래와 같은 함수를 하나 작성해주었다.
public void onButtonClick(View v) {
Toast.makeText(this, "BUTTON CLICK!", Toast.LENGTH_LONG).show();
}
위 함수를 만들어준 후, xml 파일로 돌아가서 html 파일 안에 넣어주는 것처럼, onClick 속성을 넣어줄 수 있다. 아래와 같이 작성된다. (Attributes 탭에서도 추가해줄 수 있다.)
<Button
android:id="@+id/buttonTest"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onButtonClick"
android:text="제출" />
이렇게 onClick 속성에 함수를 추가해주면 버튼을 눌렀을 때, 아래와 같이 메시지가 올라오게 된다. 이처럼 Toast Class는 화면에 잠깐 보였다가 없어지는 메시지를 만들고 싶을 때 사용된다고 한다.
이후, 추가적으로 함수를 아래와 같이 작성하고 버튼을 두 개 더 만들어서 onClick에 함수를 추가해주었다.
public void onButtonClick2(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://m.naver.com"));
startActivity(intent);
}
public void onButtonClick3(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("tel:010-1234-1234"));
startActivity(intent);
}
Intent 객체를 만들고 이를 startActivity 안에 넣게되면 Intent에 지정된 명령이 실행되는 것으로 보인다.
오늘은 처음 IDE를 설치하고 이것저것 체험해보는 시간을 가졌다. 다음 번에는 조금 더 심화된 내용으로 공부할 것이다!
'Frontend > Android' 카테고리의 다른 글
Android 시작 (4: Layout, View 활용 예제) (0) | 2022.12.02 |
---|---|
Android 시작 (3: Layout) (0) | 2022.12.01 |
Android 시작 (2: View) (0) | 2022.11.30 |