MapleStory Finger Point

πŸ’Ž Android/πŸ“šμ•ˆλ“œλ‘œμ΄λ“œ ν”„λ‘œκ·Έλž˜λ° (7판)

μ•ˆλ“œλ‘œμ΄λ“œ ν”„λ‘œκ·Έλž˜λ° 2μž₯ μ—°μŠ΅λ¬Έμ œ 풀이

HYEJU01 2022. 9. 12. 11:27

1) AVD 와 ν‚€νŒ¨λ“œμ˜ λͺ…칭을 μ •λ¦¬ν•˜μ‹œμ˜€.

 

AVD 의 κΈ°λ³Έ λͺ…μΉ­λ“€

 

 

2) λ‹€μŒ 각 ν•­λͺ©μ˜ λ‹¨μΆ•ν‚€λŠ” 무엇인가?

  • AVD μƒλ‹¨μ˜ νšŒμ „ μ•„μ΄μ½˜ : AVD 화면을 κ°€λ‘œ 및 μ„Έλ‘œλ‘œ λ³€κ²½
  • Ctrl + SpaceBar : XML λ˜λŠ” JAVA μ½”λ“œμ˜ μžλ™ μ™„μ„±
  • ctrl + /
  • ctrl + shift + / : μ„ νƒλœ μ˜μ—­μ˜ 주석
  • Alt + Enter : 클래슀 μΈν„°νŽ˜μ΄μŠ€ μžλ™ μž„ν¬νŠΈ
  • Ctrl + Alt + L : μ†ŒμŠ€μ½”λ“œ μ •λ ¬

 

 

3) μ•ˆλ“œλ‘œμ΄λ“œ ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λ‹€ 보면 μ½”λ”©μ˜ 였λ₯˜μ™€ κ²½κ³ κ°€ λ°œμƒν•œλ‹€. 이 두가지에 λŒ€ν•΄ μ„€λͺ…ν•˜μ‹œμ˜€

였λ₯˜ : μƒλ‹Ήνžˆ λ‹€μ–‘ν•œ κ²½μš°κ°€ 있기 λ•Œλ¬Έμ— μ–΄λ–€ λ¬Έμ œμΈμ§€ μ˜ˆμƒν•˜κΈ° μ–΄λ ΅λ‹€.

κ²½κ³ 

 

 

 

4) ν”„λ‘œμ νŠΈμ—μ„œ μ‚¬μš©ν•˜λŠ” λ¦¬μ†ŒμŠ€κ°€ μ €μž₯λ˜λŠ” /res 폴더 μ•„λž˜μ˜ ν•˜μœ„ 폴더와 파일의 μš©λ„λ₯Ό μ„€λͺ…ν•˜μ‹œμ˜€

 

res > 이미지 λ ˆμ΄μ•„μ›ƒ λ¬Έμžμ—΄ 등이 λ“€μ–΄κ°€λŠ” 폴더

- drawble > 이미지 파일

- layout > xml 파일

- mipmap > λ””μžμΈ ν™”λ©΄, 런치 μ•„μ΄μ½˜

- values > λ¬Έμžμ—΄ , μƒ‰μƒν‘œ, μŠ€νƒ€μΌ xml 

- menu > 메뉴 xml (ν•„μš”ν•˜λ©΄ μƒμ„±ν•΄μ„œ μ‚¬μš©)

- anim μ• λ‹ˆλ©”μ΄μ…˜, xml 기타 λ“±λ“±

 

5) μ™„μ„±λœ 앱이 μ•„μ΄μŠ€ν¬λ¦Ό μƒŒλ“œμœ„μΉ˜ (4.0.x) μ΄μƒμ˜ μŠ€λ§ˆνŠΈν°μ—μ„œ λͺ¨λ‘ μž‘λ™ν•˜κ²Œ ν•˜λ €λ©΄ 무엇을 κ³ λ €ν•΄μ•Όν•˜λ©° ν”„λ‘œμ νŠΈλ₯Ό μ–΄λ–»κ²Œ μƒμ„±ν•΄μ•Όν•˜λŠ”κ°€?

 

ν”„λ‘œμ νŠΈ μƒμ„±μ‹œ Minimum SDK λ₯Ό μ•„μ΄μŠ€ν¬λ¦Ό μƒŒλ“œμœ„μΉ˜λ‘œ μ§€μ •ν•˜λ©΄

κ·Έ μ΄μƒμ˜ λ²„μ „μ—μ„œλŠ” λͺ¨λ‘ μž‘λ™ν•œλ‹€.

 

6) λ²„νŠΌμ—μ„œ μ‚¬μš© κ°€λŠ₯ν•œ Xml μ†μ„±μ—λŠ” μ–΄λ–€ 것이 μžˆλŠ”μ§€ μ‘°μ‚¬ν•˜μ‹œμ˜€.

 

https://developer.android.com/guide/topics/ui/controls/button?hl=ko 

 

 

7) λ‹€μŒ 화면을 λ””μžμΈν•˜κ³  JAVA μ½”λ“œλ₯Ό μ™„μ„±ν•˜μ‹œμ˜€

 

drawble >

 // 파일λͺ…은 μ†Œλ¬Έμžλ‘œ ν•΄μ€˜μ•Όν•œλ‹€.

img1.jpg

img2.jpg

MainActivity.java >

package com.example.myapplication0101;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    EditText edit1;
    Button btn1, btn2;
    RadioGroup grp;
    RadioButton rbtn1, rbtn2;
    ImageView img1;


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

        edit1 = findViewById(R.id.edit1);
        btn1 = findViewById(R.id.btn1);
        btn2 = findViewById(R.id.btn2);
        rbtn1 = findViewById(R.id.rbtn1);
        rbtn2 = findViewById(R.id.rbtn2);
        img1 = findViewById(R.id.img1);

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getApplicationContext(),edit1.getText().toString(),Toast.LENGTH_SHORT).show();
            }
        });

        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Uri uri = Uri.parse(edit1.getText().toString());
                Intent intent = new Intent(Intent.ACTION_VIEW, uri);
                startActivity(intent);
            }
        });

        rbtn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                img1.setImageResource(R.drawable.img1);
            }
        });

        rbtn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                img1.setImageResource(R.drawable.img2);
            }
        });

    }
}

 

activity_main.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"
    tools:context=".MainActivity"
    android:orientation="vertical"
    android:layout_margin="15dp">

    <EditText
        android:id="@+id/edit1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn1"
        android:text="κΈ€μž λ‚˜νƒ€λ‚΄κΈ°"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn2"
        android:text="ν™ˆνŽ˜μ΄μ§€ μ—΄κΈ°"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <RadioGroup
        android:id="@+id/grp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <RadioButton
            android:id="@+id/rbtn1"
            android:text="11.0(R)"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <RadioButton
            android:id="@+id/rbtn2"
            android:text="12.0(S)"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </RadioGroup>

    <ImageView
        android:id="@+id/img1"
        android:src="@drawable/img1"
        android:layout_margin="30dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>