1. 앱 작성 절차
1) 안드로이드 앱 구성
안드로이드 앱은 자바파일과 XML 파일, 기타 이미지나 사운드 파일로 이루어집니다.
자바 파일은 앱의 로직을 나타내고 XML 파일은 사용자 인터페이스를 나타냅니다.
또한 이미지나 사운드 파일은 resource(자원)에 속합니다.
2) 앱 작성 절차
1. 사용자 인터페이스 작성
- 첫번째 단계는 XML 을 이용하여 사용자 인터페이스 화면을 디자인 하는 단계입니다.
2. 자바 코드 작성
- 두 번째 단계는 자바를 이용하여서 코드를 작성하는 단계입니다.
3. 매니페스트 파일 작성
- 매니페스트 작성은 애플리케이션을 구성하고 있는 컴포넌트를 기술하고 실행 시에 필요한 권한을 지정하는 것입니다.
3) 안드로이드 스튜디오 화면 분석
1. 프로젝트 뷰 : 화면의 왼쪽을 차지하는 프로젝트 뷰에는 애플리케이션을 생성하는 데 필요한 모든 폴더와 파일들이 있습니다. 그 예시로는 java, Gradle, res, manifest가 있습니다.
2. 코드 뷰 : 자바 코드나 xml과 같은 실질적으로 코딩하는 부분이 있는 부분이 화면의 왼쪽을 차지하고 있습니다.
3. 도구들 : Build, Logcat 등 안드로이드 스튜디오에서 사용가능한 도구를 사용할 수 있습니다.
4) 자동으로 생성되는 소스 관찰
아래는 애플리케이션을 새로 만들면 생성되는 MainActivity.java의 코드입니다.
package com.example.listtest;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
이 코드에 설명을 붙이면 아래와 같습니다.
package com.example.listtest;
패키지는 서로 관련 있는 클래스들을 모아둔 컨테이너입니다. 위의 문장은 패키지를 하나 생성하여 현재의 클래스를 이 패키지에 넣겠다는 의미입니다. 처음 애플리케이션을 생성하면 패키지 이름은 com.example.(앱이름)이 됩니다.
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import 문장은 외부의 패키지나 클래스를 소스에 포함시킬 때 사용합니다.
앞에 android가 붙는 것은 안드로이드가 제공하는 패키지를 의미합니다.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
MainActivity는 Activity의 자식 클래스인 AppCompatActivity를 상속받습니다.
그리고 AppCompatActivity의 onCreate를 재정의 하여 onCreate 함수를 만듭니다.
MainActivity의 onCreate함수 안에서는 부모 class의 onCreate 함수를 호출하고 MainActivity.java 파일과 activity_main.xml 파일을 연결 시켜줍니다.
5) XML
<?xml version="1.0" encoding="utf-8"?>
해당 코드는 이 문서가 XML 파일임을 알려주는 코드입니다.
버전이 1.0이고 엔코딩이 유니코드 임을 알려줍니다.
6) 메티페스트 파일
메니페스트 파일은 애플리케이션이 적재된 모든 컴포넌트에 대해 기술하는 파일입니다.
주로 애플리케이션을 구성하는 컴포넌트를 선언하는 역할을 합니다.
<manifest> ... </manifest>
위 태그로 애플리케이션 안에 적재된 목록을 시작합니다. 해당 태그의 속성으로 패키지 이름, 버전코드, 버전 이름 등이 선언되어있습니다.
<application>...</application>
해당 요소는 내가 생성한 애플리케이션에 해당하는 내용이 들어있습니다.
요소 안에는 애플리케이션의 아이콘, 레이블 등이 속성으로 선언되어 있습니다.
<activity>...</activity>
해당 요소는 나의 액티비티를 의미합니다. 해당 요소의 속성으로는 이름과 레이블이 선언되어 있습니다.
<intent-filter>...</intent-filter>
해당 요소는 어떤 인텐트를 허용할 것인지를 기술하는 요소입니다.
인텐트란 액티비티와 액티비티 사이를 연결해주는 중간 데이터를 의미합니다.
'전공공부 > 모바일 프로그래밍' 카테고리의 다른 글
looper (0) | 2021.08.31 |
---|---|
23일차 (0) | 2021.07.28 |
국가근로 18일차 (0) | 2021.07.21 |
Android Studio EditText이 비어있는지 확인하기 (0) | 2021.04.27 |
안드로이드 프로그래밍 기초사항 (1) | 2021.04.08 |