본문 바로가기
프로그래밍/안드로이드

[android studio] 안드로이드 화면구성

by mooyou 2021. 8. 29.
728x90
300x250

 

안드로이드 실행 후 화면 왼쪽 탐색 창을 보면 Android라고 되어 있는 게 보일 것이다.

 

 

 

혹시 안드로이드라고 안되어 있으면 콤보 박스를 누르면 된다.

 

이렇게 안드로이드로 설정하면 기본적으로 한 개의 앱을 보여준다.

여러 가지 자바 클래스들이 javadp 들어가 있다.

 

화면 모드 변경은 오른쪽 상단에서 가능한데 activity_main.xml화면에 가야 이게 보인다.

Code Split Design 모드로 인 가능하다

화면에서 필요한 이미지 같은 리소스는 전부 res 안에 들어간다.

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.rayout1);

    }
}

안드로이드는 자바 리소스랑 분류되어 있는데 분류된 리소스가 들어 있는 곳이 res이다.

 

build.gradle은 필요한 여러 가지 라이브러리를 붙이는 곳이다.

defaultConfig {
        applicationId "com.example.secondapplication"
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

현재 이 코드의 버전

dependencies { //필요한 라이브러리들을 여기다가 넣어준다.

    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}

 

 

AndroidManifest.xml 은 내가 현재 만든 안드로이드 앱에 필요한 기본정보가 들어간다.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myfirstapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MyFirstApplication">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" /> //첫번째 메인화면이다.

                <category android:name="android.intent.category.LAUNCHER" />
	//나중에 액티비티가 여러개 생기면 처음에 실행하고 싶은 액티비티를 intent-filter를 붙여주면된다.
        </activity>
    </application>

</manifest>

화면 하나에 대한 처리를 액티비티라고 하고 프로그램 실행할 때는 이 정보를 보고 어떤 걸 먼저 실행할지 테마는 어떤 걸 쓸지 알 수 있다.

 

java > MainActiviry.java

package com.example.myfirstapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {//액티비티를 만들때 번들이라는 객체로 받아와서
 //이 걸 실행하라 얘가 원래 가지고 있는 onCreate로 넘겨준다.
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main);//이 창을 만들때 여기있는 걸로 화면을 구현하라?
    }
}

 

Gradle Scripts

gradle이 두 개가 있는데 하나는 프로젝트에 관한 것 하나는 모듈에 관한 것

프로젝트 빌드하는 방법 2가지가 있다

스프링도 2개가 있는데 메이븐이 있고 gradle이 있다.

최근에는 gradle로 쓰는 경우가 많고 안드로이드는 처음부터 gradle로 쓴다.

내가 어떤 라이브러리를 가져오려면 메이븐 또는 gradle로 가져온다.

 

gradle 모듈에 가면

plugins {
    id 'com.android.application'
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "com.example.myfirstapplication"
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions { //현재내가 쓰는 자바버젼
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies { //pome.xml 같은역활?

    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
} //나중에 필요한 라이브러리 있으면 여기에 넣어주면 된다.

이 앱에 필요한 라이브러리나 컴파일 도구나 이런 거 필요한 거 여기 넣어준다.

하나의 프로젝트를 구성하는 것

728x90
반응형

댓글