티스토리 뷰
평수 계산기
동작개요
EditText 뷰에 제곱미터 값 입력 후 버튼 클릭 시, EditText 뷰에 입력된 제곱미터 값에 대응하는 평수를 텍스트 뷰에 표시
activity_main.xml
<?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:padding="20dp"
android:orientation="vertical"
android:gravity="center_horizontal">
<EditText
android:id="@+id/et"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center"
android:hint="제곱미터 값 입력"
android:textSize="30sp" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center"
android:text="평수 계산"
android:textSize="30dp" />
<TextView
android:id="@+id/tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center"
android:textSize="30sp" />
</LinearLayout>
MainActivity.java
- String s = e.getText(); ▶ 오류(EditText의getText()의 반환자료형 주의)
- String s = e.getText()+""; ▶문자열로 바꿔줬기 떄문에 가능
package com.example.test;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText e = findViewById(R.id.et);
Button b = findViewById(R.id.btn);
TextView t = findViewById(R.id.tv);
b.setOnClickListener(v -> {
String s = e.getText()+"";
if(s.length() <= 0) return;
t.setText(Double.parseDouble(s)*0.3025+" (평)");
});
}
}
덧셈 · 뺄셈 계산기
동작개요
EditText 뷰에 제곱미터 값 입력 후 덧셈 또는 뺄 버튼 클릭 시, 두 EditText 뷰에 입력된 값들의 덧셈 또는 뺄셈한 결과 값을 텍스트 뷰에 표시
activity_main.xml
<?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:padding="20dp"
android:orientation="vertical"
android:gravity="center_horizontal">
<EditText
android:id="@+id/et1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center"
android:hint="첫 번째 수 입력"
android:textSize="30sp" />
<EditText
android:id="@+id/et2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center"
android:hint="두 번째 수 입력"
android:textSize="30sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_horizontal" >
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center"
android:text="덧셈"
android:textSize="30dp" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center"
android:text="뺄셈"
android:textSize="30dp" />
</LinearLayout>
<TextView
android:id="@+id/tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center"
android:textSize="30sp" />
</LinearLayout>
Calc.java
- sum 메서드와 sub 메서드를 static으로 표현
- static한 메서드는 인스턴스를 생성하지 않고 호출할 수 있음
package com.example.test;
public class Calc {
public static int sum(int x, int y) {
return x+y;
}
public static int sub(int x, int y) {
return x-y;
}
}
MainActivity.java
package com.example.test;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
EditText e1;
EditText e2;
Button b1;
Button b2;
TextView t;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
e1 = findViewById(R.id.et1);
e2 = findViewById(R.id.et2);
b1 = findViewById(R.id.btn1);
b2 = findViewById(R.id.btn2);
t = findViewById(R.id.tv);
b1.setOnClickListener(this);
b2.setOnClickListener(this);
}
public void onClick(View v){
int x = Integer.parseInt(e1.getText()+"");
int y = Integer.parseInt(e2.getText()+"");
if(v==b1) t.setText(Calc.sum(x,y)+"");
if(v==b2) t.setText(Calc.sub(x,y)+"");
}
}
덧셈 · 뺄셈 계산기: 익명클래스 람다식으로 표현
MainActivity.java
package com.example.test;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText e1 = findViewById(R.id.et1);
EditText e2 = findViewById(R.id.et2);
Button b1 = findViewById(R.id.btn1);
Button b2 = findViewById(R.id.btn2);
TextView t = findViewById(R.id.tv);
b1.setOnClickListener(v -> {
int x = Integer.parseInt(e1.getText()+"");
int y = Integer.parseInt(e2.getText()+"");
t.setText(Calc.sum(x,y)+"");
});
b2.setOnClickListener(v -> {
int x = Integer.parseInt(e1.getText()+"");
int y = Integer.parseInt(e2.getText()+"");
t.setText(Calc.sub(x,y)+"");
});
}
}
결과는 위와 같음
'학업 > 모바일프로그래밍' 카테고리의 다른 글
[Android Studio] 입력한 텍스트의 길이 계산기 구현 (0) | 2024.10.28 |
---|---|
[Android Studio] 클릭하면 화면의 숫자가 1 늘어나는 앱 구현(no XML) (0) | 2024.10.23 |
[Android Studio] 이벤트 처리: 클릭 시 배경색 변경 (0) | 2024.10.20 |
[Android Studio] LinearLayout 수직 배치하기 연습 (0) | 2024.10.20 |
[Android Studio] 화면에 텍스트 여러 개 표시하기 (0) | 2024.10.19 |
공지사항
링크