728x90
반응형
💡 시작 화면 - New Project
💡 어플리케이션 구성요소
🔸 Activity (액티비티)
◾ 사용자에게 보여지는 화면이다.
◾ 컴포넌트를 제공한다.
🔸 Service (서비스)
◾ 백그라운드에서 동작되는 것이다.
◾ ex) 네트워크 접속 후 파일을 다운받는 동안 다른 작업을 할 수 있다.
🔸 Broad Cast Receiver (브로드 캐스트 리시버)
◾ 방송 수신자
◾ 정보를 전달한 것을 받는다.
◾ ex) 배터리가 없으면 배터리가 없다고 알려준다.
◾ 문자 리시버를 구현하면 문자를 수신할 수 있다.
🔸 Content Provider (컨텐트 프로바이더)
◾ 정보 제공자
◾ A 앱에 있는 정보를 A 앱에 컨텐트 프로바이더를 구현해서 정보를 다른 앱으로 전송할 수 있다.
💡 View (뷰)
◾ 안드로이드 앱의 UI를 구성하는 최소 단위
◾ 사용자 화면을 구성하는 위젯(버튼, 텍스트 뷰 등)의 기본 클래스
◾ 뷰 그룹 --> 레이아웃
🔸 자바
◾ 기능 구현
🔸 xml
◾ 화면 구현
◾ 뷰로 구성된다.
💡 XML
◾ 리소스 파일 (소스파일 외)이다.
◾ 사용자에게 보여지는 화면을 구현한다.
◾ res/layout/activity_main.xml
⭐res 안에 들어가는 파일 명은 숫자, 언더바(_), 소문자만 가능하다. 대문자는 불가능하다.
◾ xml 파일 생성
◾ New - XML - Layout XML File
◾ xml파일은 Code, Split, Design으로 이루어져있다.
◾ Code
◾ Split
◾ Design
◾ TextView를 생성한다.
◾ TextView 안의 text속성을 이용해서 문자열을 입력한다.
◾ layout_width, layout_height는 각각 wrap_content로 설정한다.
⭐ 화면에 표시하기 위해서는 MainActivity에서 serContentView를 수정해야한다.
💡 layout_width, layout_height
match_parent | 부모 창에 가득 차게 그려진다 |
fill_parent | fill_parent와 동일 |
wrap_content | 뷰가 포함하고 있는 컨텐츠를 감쌀만한 크기로 그려진다. (그 길이만큼) |
숫자로 지정된 값 | 10dp, 20px와 같이 크기와 단위로 지정한다. 단위로는 px, dp, sp, in, mm 사용가능하며 density_independent pixel인 dp를 권장한다. |
◾ text의 가로, 세로 크기를 정확하게 확인하기 위해서는 background 속성을 이용한다.
◾ 이 <TextView>에 대해 id를 설정할 수 있다.
💡 예제
📃<TextView> 예제
◾ orientation 속성을 이용하여 vertical(수직)로 배치할 것인지, horizontal(수평)로 배치할 것인지 정한다.
◾ paddingTop 속성으로 상위에 20dp만큼의 여백을 줄 수 있다.
android:paddingTop="20dp"
◾ 텍스트를 직접 지정하는 것이 아니라 strings.xml을 이용해 지정할 수도 있다.
◾ res폴더의 strings.xml파일을 사용하는 것이다.
<string name="app_name">My Application</string>
android:text="@string/app_name"
◾ 추가해서 사용할 수 있다.
<resources>
<string name="app_name">My Application</string>
<string name="mytext">Hello World</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#459945"
android:gravity="center"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="100dp"
android:paddingTop="20dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff4545"
android:gravity="center"
android:text="@string/mytext"
android:textColor="@color/white"
android:textSize="100dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#0099ff"
android:gravity="center"
android:text="3번 뷰"
android:textColor="@color/white"
android:textSize="100dp" />
</LinearLayout>
📃gravity 속성 사용하기
◾ 기본 값은 top | left 이다.
android:gravity="center"
android:gravity="center_horizontal"
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="200dp"
android:layout_height="200dp"
android:text="안녕"
android:textSize="50dp"
android:background="#45ff45"
android:gravity="center_horizontal"
/>
</LinearLayout>
◾ layout_gravity는 뷰 자체를 움직일 수 있다.
android:layout_gravity="right"
📃<TextView>를 이용하여 다음과 같은 화면을 만드세요.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Hello World!"
android:textSize="40dp"
android:background="#45ff45"
android:gravity="center"
android:layout_margin="20dp"
/>
</LinearLayout>
728x90
반응형
'App > Android Studio' 카테고리의 다른 글
Android Studio - GridLayout (0) | 2022.08.02 |
---|---|
Android Studio - RelativeLayout (0) | 2022.08.02 |
Android Studio - LinearLayout (0) | 2022.08.02 |
Android Studio - xml과 자바 (0) | 2022.08.02 |
Android Studio - 애뮬레이터 설치 및 Button 태그 (0) | 2022.08.01 |
댓글