Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- PYTHON
- pyqt
- form태그
- DB 스케쥴러
- 비교표현식
- error
- Git
- fastapi
- anaconda
- 파이썬
- mybatis
- directivesTag
- sqlMapConfig
- Oracle
- select문
- java
- eclipse
- spring
- sql
- pymssql
- JSP
- javascript
- form
- sqldeveloper
- pl/sql
- pagination
- ibatis
- androidstudio
- 드라이브 연결
- sqlMapClient
Archives
- Today
- Total
기록하는 코더
[Android Studio] 기본 예제 본문
Android Studio를 활용해보는 기본 예제
1. 버튼 누르면 글자 바꾸기
2. 버튼 누르면 숫자 2배로 바꾸기
3. 구구단 출력하기
4. 홀짝게임
5. 로또 번호 출력
6. 가위바위보
7. 별찍기
8. 다이얼 만들기
9. 입력 숫자 더하기
10. 입력 숫자 범위 내에 있는 배수의 합 구하기
11. 야구 게임
1. 버튼 누르면 글자 바꾸기
더보기

버튼 클릭 시 글자가 바뀐다.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="318dp"
android:layout_height="531dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp"
tools:ignore="MissingConstraints">
<TextView
android:id="@+id/tv"
android:layout_width="match_parent"
android:layout_height="40dp"
android:text="Good Morning" />
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Click" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package kr.co.aiai.app;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
// AppCompatActivity : 서블릿과 같은 역할
// onCreate는 doPost, doGet과 같음
// R은 안드로이드에서 자동적으로 만들어줌
// web.xml => manifests
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = findViewById(R.id.tv);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d("damdadi", "Hello");
if(tv.getText() == "Good Morning"){
tv.setText("Good Evening");
}else{
tv.setText("Good Morning");
}
}
});
}
}
결과


2. 버튼 누르면 숫자 2배로 바꾸기
더보기


버튼 클릭 시 텍스트 안에 있는 숫자가 2배 증가한다.
activity_main2.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="318dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp"
tools:ignore="MissingConstraints">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<EditText
android:id="@+id/et"
android:layout_width="111dp"
android:layout_height="wrap_content"
android:text="100" />
<Button
android:id="@+id/btn"
android:layout_width="157dp"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity2.java
package kr.co.aiai.app;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
EditText et = findViewById(R.id.et);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(view ->{
String a = et.getText().toString();
int aa = Integer.parseInt(a);
aa *= 2;
et.setText(aa+"");
});
}
}
결과



3. 구구단 출력하기
더보기

입력을 하지 않고 출력을 누르면 입력단수를 입력해달라는 문구가 뜨도록 설정했다.

숫자를 입력하면 정상적으로 출력된다.
activity_main3.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
android:layout_height="wrap_content"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="409dp"
android:layout_height="730dp"
android:orientation="vertical"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="입력단수 : " />
<EditText
android:id="@+id/etn"
android:layout_width="272dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number" />
</LinearLayout>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="출력하기" />
<TextView
android:id="@+id/tv"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:textSize="20sp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity3.java
package kr.co.aiai.app;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity3 extends AppCompatActivity {
EditText etn;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
etn = findViewById(R.id.etn);
Button btn = findViewById(R.id.btn);
tv = findViewById(R.id.tv);
btn.setOnClickListener(view ->{
myclick();
});
}
public void myclick() {
String code ="";
String dan = etn.getText().toString();
if( dan != null && !"".equals(dan)){
int idan = Integer.parseInt(dan);
for(int i = 1; i < 10; i++){
code += idan + " * " + i + " = " + idan*i + "\n";
}
tv.setText(code);
}else{
Toast.makeText(this.getApplicationContext(), "입력단수를 입력해주세요!", Toast.LENGTH_SHORT).show();
}
}
}
결과




4. 홀짝게임
더보기


홀수, 짝수 토글 버튼을 누르면 자동으로 입력되도록 설정해두었다.

게임하기 버튼을 누르면 게임 결과를 볼 수 있다.
activity_main4.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
android:layout_height="wrap_content"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="409dp"
android:layout_height="730dp"
android:orientation="vertical"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvMine"
android:layout_width="84dp"
android:layout_height="wrap_content"
android:text="나:"
android:textSize="30dp" />
<EditText
android:id="@+id/etMine"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
<ToggleButton
android:id="@+id/tbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ToggleButton"
android:textOff="홀수"
android:textOn="짝수" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvCom"
android:layout_width="84dp"
android:layout_height="wrap_content"
android:text="컴:"
android:textSize="30dp" />
<EditText
android:id="@+id/etCom"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvResult"
android:layout_width="84dp"
android:layout_height="wrap_content"
android:text="결과:"
android:textSize="30dp" />
<EditText
android:id="@+id/etResult"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
</LinearLayout>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="게임하기" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity4.java
package kr.co.aiai.app;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ToggleButton;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity4 extends AppCompatActivity {
EditText etMine;
EditText etCom;
EditText etResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);
etMine = findViewById(R.id.etMine);
etCom = findViewById(R.id.etCom);
etResult = findViewById(R.id.etResult);
Button btn = findViewById(R.id.btn);
ToggleButton tbtn = findViewById(R.id.tbtn);
tbtn.setOnClickListener(view ->{
myclick2();
});
btn.setOnClickListener(view ->{
myclick();
});
}
private void myclick2() {
if(etMine.getText().toString().equals("홀수") || etMine.getText().toString() == null){
etMine.setText("짝수");
}else{
etMine.setText("홀수");
}
}
public void myclick() {
double num = (double) Math.random();
if(num > 0.5){
etCom.setText("홀수");
}else{
etCom.setText("짝수");
}
if( (etCom.getText().toString().equals("홀수") && etMine.getText().toString().equals("홀수"))
|| (etCom.getText().toString().equals("짝수") && etMine.getText().toString().equals("짝수")) ){
etResult.setText("이김");
}else{
etResult.setText("짐");
}
}
}
결과





5. 로또 번호 출력
더보기


출력하기를 누르면 중복되지 않은 숫자가 입력된다.
activity_main5.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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">
<LinearLayout
android:layout_width="409dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp"
tools:ignore="MissingConstraints">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv1"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="__" />
<TextView
android:id="@+id/tv2"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="__" />
<TextView
android:id="@+id/tv3"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="__" />
<TextView
android:id="@+id/tv4"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="__" />
<TextView
android:id="@+id/tv5"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="__" />
<TextView
android:id="@+id/tv6"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="__" />
</LinearLayout>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="출력하기" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity5.java
방법 1
package kr.co.aiai.app;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity5 extends AppCompatActivity {
TextView tv1, tv2, tv3, tv4 ,tv5, tv6;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main5);
Button btn = findViewById(R.id.btn);
tv1 = findViewById(R.id.tv1);
tv2 = findViewById(R.id.tv2);
tv3 = findViewById(R.id.tv3);
tv4 = findViewById(R.id.tv4);
tv5 = findViewById(R.id.tv5);
tv6 = findViewById(R.id.tv6);
btn.setOnClickListener(view ->{
myclick();
});
}
public void myclick() {
int[] arr={
1,2,3,4,5, 6,7,8,9,10,
11,12,13,14,15,16,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45
};
for(int i = 0; i < 1000; i++){
int rnd = (int) (Math.random() * arr.length);
int a = arr[rnd];
int b = arr[0];
arr[0] = a;
arr[rnd]=b;
}
tv1.setText(arr[0]+"");
tv2.setText(arr[1]+"");
tv3.setText(arr[2]+"");
tv4.setText(arr[3]+"");
tv5.setText(arr[4]+"");
tv6.setText(arr[5]+"");
}
}
방법2.
package kr.co.aiai.app;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity5 extends AppCompatActivity {
TextView tv1, tv2, tv3, tv4 ,tv5, tv6;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main5);
Button btn = findViewById(R.id.btn);
tv1 = findViewById(R.id.tv1);
tv2 = findViewById(R.id.tv2);
tv3 = findViewById(R.id.tv3);
tv4 = findViewById(R.id.tv4);
tv5 = findViewById(R.id.tv5);
tv6 = findViewById(R.id.tv6);
btn.setOnClickListener(view ->{
myclick();
});
}
public void myclick() {
Random rnd = new Random();
int num = 0;
// number로 된 45=개의 방 중에서
ArrayList<Integer> number = new ArrayList<>();
ArrayList<Integer> input = new ArrayList<>();
for(int i= 0 ; i < 45; i++){
number.add(i+1);
}
int cnt = 0;
while(input.size() < 6){
num = rnd.nextInt(45); // 랜덤 뽑기 숫자
if (number.get(num) > 0) {
input.add(cnt,number.get(num));
number.set(num, 0);
cnt++;
}
}
tv1.setText(input.get(0) + "");
tv2.setText(input.get(1) + "");
tv3.setText(input.get(2) + "");
tv4.setText(input.get(3) + "");
tv5.setText(input.get(4) + "");
tv6.setText(input.get(5) + "");
결과



6. 가위바위보
더보기


가위, 바위, 보 중에 하나를 입력하고 게임하기를 누르면 결과를 볼 수 있다.
activity_main6.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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">
<LinearLayout
android:layout_width="409dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp"
tools:ignore="MissingConstraints">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvMine"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="나:"
android:textSize="30dp" />
<EditText
android:id="@+id/et_mine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvCom"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="컴:"
android:textSize="30dp" />
<EditText
android:id="@+id/et_com"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvResult"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="결과:"
android:textSize="30dp" />
<EditText
android:id="@+id/et_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
</LinearLayout>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="게임하기" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity6.java
package kr.co.aiai.app;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Random;
public class MainActivity6 extends AppCompatActivity {
EditText etMine, etCom;
TextView etResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main6);
Button btn = findViewById(R.id.btn);
etMine = findViewById(R.id.et_mine); // 사용자
etCom = findViewById(R.id.et_com); // 컴퓨터
etResult = findViewById(R.id.et_result); // 결과
btn.setOnClickListener(view ->{
myclick();
});
}
public void myclick() {
Random rnd = new Random();
int num = (int) rnd.nextInt(3)+1;
String user = etMine.getText().toString();
String com = "";
if(num == 1){
com = "가위";
}
if(num == 2){
com = "바위";
}
if(num == 3){
com = "보";
}
etCom.setText(com);
if(user==com || user.equals(com)){
etResult.setText("비김");
}
if( (user.equals("가위") && com.equals("보")) ||
(user.equals("바위") && com.equals("가위")) ||
(user.equals("보") && com.equals("바위") )){
etResult.setText("이김");
}else{
etResult.setText("짐");
}
}
}
결과



7. 별찍기
더보기


입력한 숫자대로 별이 찍히는 걸 볼 수 있다.
activity_main7.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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">
<LinearLayout
android:layout_width="409dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp"
tools:ignore="MissingConstraints">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvFirst"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="첫번째별수:"
android:textSize="30dp" />
<EditText
android:id="@+id/etFirst"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvLast"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="마지막별수:"
android:textSize="30dp" />
<EditText
android:id="@+id/etLast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
</LinearLayout>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="출력하기" />
<TextView
android:id="@+id/tvDisp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="__" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity7.java
package kr.co.aiai.app;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Random;
public class MainActivity7 extends AppCompatActivity {
EditText etFirst,etLast;
TextView tvDisp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main7);
Button btn = findViewById(R.id.btn);
etFirst = findViewById(R.id.etFirst);
etLast = findViewById(R.id.etLast);
tvDisp = findViewById(R.id.tvDisp);
btn.setOnClickListener(view ->{
myclick();
});
}
public String strStar(int cnt){
String ret = "";
for(int i=0; i<cnt; i++){
ret += "*";
}
ret += "\n";
return ret;
}
public void myclick() {
String a = etFirst.getText().toString();
String b = etLast.getText().toString();
int aa = Integer.parseInt(a);
int bb = Integer.parseInt(b);
String txt="";
for(int i=aa; i <= bb; i++){
txt += strStar(i);
}
tvDisp.setText(txt);
}
}
결과



8. 다이얼 만들기
더보기


(방법2) call을 누르면 Toast창을 이용해 문구가 뜨도록 했다.
activity_main8.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
android:layout_height="wrap_content"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="409dp"
android:layout_height="730dp"
android:orientation="vertical"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<EditText
android:id="@+id/et"
android:layout_width="280dp"
android:layout_height="match_parent"
android:ems="10"
android:inputType="text"
android:textAlignment="textEnd" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<Button
android:id="@+id/btn1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="1" />
<Button
android:id="@+id/btn2"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="2" />
<Button
android:id="@+id/btn3"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="3" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<Button
android:id="@+id/btn4"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="4" />
<Button
android:id="@+id/btn5"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="5" />
<Button
android:id="@+id/btn6"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="6" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<Button
android:id="@+id/btn7"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="7" />
<Button
android:id="@+id/btn8"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="8" />
<Button
android:id="@+id/btn9"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="9" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<Button
android:id="@+id/btnBack"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="back" />
<Button
android:id="@+id/btn0"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="0" />
<Button
android:id="@+id/btnCall"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="Call" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity8.java
방법1.
package kr.co.aiai.app;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity8 extends AppCompatActivity {
EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main8);
et = findViewById(R.id.et);
Button btn1 = findViewById(R.id.btn1);
Button btn2 = findViewById(R.id.btn2);
Button btn3 = findViewById(R.id.btn3);
Button btn4 = findViewById(R.id.btn4);
Button btn5 = findViewById(R.id.btn5);
Button btn6 = findViewById(R.id.btn6);
Button btn7 = findViewById(R.id.btn7);
Button btn8 = findViewById(R.id.btn8);
Button btn9 = findViewById(R.id.btn9);
Button btn0 = findViewById(R.id.btn0);
Button btnCall = findViewById(R.id.btnCall);
btn1.setOnClickListener(view -> { myclick(view); });
btn2.setOnClickListener(view -> { myclick(view); });
btn3.setOnClickListener(view -> { myclick(view); });
btn4.setOnClickListener(view -> { myclick(view); });
btn5.setOnClickListener(view -> { myclick(view); });
btn6.setOnClickListener(view -> { myclick(view); });
btn7.setOnClickListener(view -> { myclick(view); });
btn8.setOnClickListener(view -> { myclick(view); });
btn9.setOnClickListener(view -> { myclick(view); });
btn0.setOnClickListener(view -> { myclick(view); });
btnCall.setOnClickListener(view -> { mycall(); });
}
public void mycall(){
String str_tel = et.getText().toString();
Toast.makeText(this.getApplicationContext(),"calling "+str_tel, Toast.LENGTH_SHORT).show();
}
public void myclick(View v){
Button imsi = (Button) v;
String str_new = imsi.getText().toString();
String str_old = et.getText().toString();
et.setText(str_old+str_new);
}
}
방법2. (내가 짰던 코드)
package kr.co.aiai.app;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity8 extends AppCompatActivity {
Button btnCall,btn0,btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btnBack;
String num ="";
EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main8);
btnCall = findViewById(R.id.btnCall);
btnBack = findViewById(R.id.btnBack);
btn0 = findViewById(R.id.btn0);
btn1 = findViewById(R.id.btn1);
btn2 = findViewById(R.id.btn2);
btn3 = findViewById(R.id.btn3);
btn4 = findViewById(R.id.btn4);
btn5 = findViewById(R.id.btn5);
btn6 = findViewById(R.id.btn6);
btn7 = findViewById(R.id.btn7);
btn8 = findViewById(R.id.btn8);
btn9 = findViewById(R.id.btn9);
EditText et = findViewById(R.id.et);
btnBack.setOnClickListener(view -> {
num = num.substring(0,num.length()-1);
et.setText(num);
});
btn0.setOnClickListener(view -> {
num += "0";
et.setText(num);
hyphen();
});
btn1.setOnClickListener(view -> {
num += "1";
et.setText(num);
hyphen();
});
btn2.setOnClickListener(view -> {
num += "2";
et.setText(num);
hyphen();
});
btn3.setOnClickListener(view -> {
num += "3";
et.setText(num);
hyphen();
});
btn4.setOnClickListener(view -> {
num += "4";
et.setText(num);
hyphen();
});
btn5.setOnClickListener(view -> {
num += "5";
et.setText(num);
hyphen();
});
btn6.setOnClickListener(view -> {
num += "6";
et.setText(num);
hyphen();
});
btn7.setOnClickListener(view -> {
num += "7";
et.setText(num);
hyphen();
});
btn8.setOnClickListener(view -> {
num += "8";
et.setText(num);
hyphen();
});
btn9.setOnClickListener(view -> {
num += "9";
et.setText(num);
hyphen();
});
btnCall.setOnClickListener(view ->{
myclick();
});
}
public void myclick() {
String msg = "";
msg += num + "에게 전화를 겁니다.";
Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show();
}
public void hyphen() {
if (num.length() == 3) {
num += '-';
}
if (num.length() == 8) {
num += '-';
}
if(num.length() > 12){
num = num.replace("-","");
}
}
}
결과



9. 입력 숫자 더하기
더보기

숫자를 입력하고 '=' 버튼을 누르면 합이 나온다.
activity_main9.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="410dp"
android:layout_height="730dp"
android:orientation="vertical"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<EditText
android:id="@+id/et1"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:text=""
android:inputType="number" />
<TextView
android:id="@+id/tv"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:text="+"
android:textAlignment="center" />
<EditText
android:id="@+id/et2"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:text=""
android:inputType="number" />
<Button
android:id="@+id/btn"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:text="=" />
<EditText
android:id="@+id/et3"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity9.java
package kr.co.aiai.app;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity9 extends AppCompatActivity {
EditText et1, et2, et3;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main9);
et1 = findViewById(R.id.et1);
et2 = findViewById(R.id.et2);
et3 = findViewById(R.id.et3);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(view ->{
myclick();
});
}
public void myclick() {
int num1 = Integer.parseInt(String.valueOf(et1.getText()));
int num2 = Integer.parseInt(String.valueOf(et2.getText()));
int sum = num1 + num2;
et3.setText(sum+"");
}
}
결과


10. 입력 숫자 범위 내에 있는 배수의 합 구하기
더보기


입력 숫자의 배수의 합을 구할 수 있다.
activity_maina.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="410dp"
android:layout_height="730dp"
android:orientation="vertical"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<EditText
android:id="@+id/et1"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text=""
android:inputType="number" />
<TextView
android:id="@+id/tv1"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="에서"
android:textAlignment="center" />
<EditText
android:id="@+id/et2"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text=""
android:inputType="number" />
<TextView
android:id="@+id/tv2"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="까지"
android:textAlignment="center" />
<EditText
android:id="@+id/et3"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text=""
android:inputType="number" />
</LinearLayout>
<Button
android:id="@+id/btn"
android:layout_width="320dp"
android:layout_height="wrap_content"
android:text="배수합" />
<EditText
android:id="@+id/et4"
android:layout_width="316dp"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivitya.java
package kr.co.aiai.app;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivitya extends AppCompatActivity {
EditText et1, et2, et3, et4;
TextView tv1,tv2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maina);
et1 = findViewById(R.id.et1); // 에서
et2 = findViewById(R.id.et2); // 까지
et3 = findViewById(R.id.et3); // 의 배수합
et4 = findViewById(R.id.et4); // 합
tv1 = findViewById(R.id.tv1);
tv2 = findViewById(R.id.tv2);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(view ->{
myclick();
});
}
public void myclick() {
String a = et1.getText().toString();
String b = et2.getText().toString();
String c = et3.getText().toString();
int aa = Integer.parseInt(a);
int bb = Integer.parseInt(b);
int cc = Integer.parseInt(c);
int sum = 0;
for(int i = aa; i <= bb; i++){
if(i % cc == 0){
sum += i;
}
}
et4.setText(sum + "");
}
}
결과



11. 야구게임
더보기


입력한 숫자가 기록에 남는다.

정답을 맞추면 Toast를 통해 알려준다.
activity_mainb.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
android:layout_height="wrap_content"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="409dp"
android:layout_height="730dp"
android:orientation="vertical"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="스트라이크:" />
<EditText
android:id="@+id/et"
android:layout_width="246dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number" />
</LinearLayout>
<Button
android:id="@+id/btn"
android:layout_width="320dp"
android:layout_height="wrap_content"
android:text="맞추기" />
<TextView
android:id="@+id/tvDisp"
android:layout_width="314dp"
android:layout_height="435dp"
android:text="__"
android:textSize="20sp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivityb.java
방법1.
package kr.co.aiai.app;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Random;
public class MainActivityb extends AppCompatActivity {
EditText et;
TextView tvDisp;
String com = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainb);
et = findViewById(R.id.et);
tvDisp = findViewById(R.id.tvDisp);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(view ->{
myclick();
});
randomCom();
}
public void randomCom() {
String[] arr = {"1","2","3","4","5","6","7","8","9"};
for(int i=0; i<100;i++){
int rnd = (int)(Math.random() * arr.length);
String a = arr[rnd];
String b = arr[0];
arr[0] = a;
arr[rnd] = b;
}
com = arr[0] + arr[1] + arr[2];
}
public void myclick() {
String mine = et.getText().toString();
int s = getStrike(com, mine);
int b = getBall(com,mine);
String str_old = tvDisp.getText().toString();
String str_new = mine + " " + s + "S" + b+"B"+"\n";
tvDisp.setText(str_old + str_new);
et.setText("");
if(s == 3){
Toast.makeText(this.getApplicationContext(),"You win \n" + mine,Toast.LENGTH_SHORT).show();
}
}
public int getStrike(String com, String mine){
int ret = 0;
String c1 = com.substring(0,1);
String c2 = com.substring(1,2);
String c3 = com.substring(2,3);
String m1 = mine.substring(0,1);
String m2 = mine.substring(1,2);
String m3 = mine.substring(2,3);
if(c1.equals(m1)) ret++;
if(c2.equals(m2)) ret++;
if(c3.equals(m3)) ret++;
return ret;
}
public int getBall(String com, String mine){
int ret = 0;
String c1 = com.substring(0,1);
String c2 = com.substring(1,2);
String c3 = com.substring(2,3);
String m1 = mine.substring(0,1);
String m2 = mine.substring(1,2);
String m3 = mine.substring(2,3);
if(c1.equals(m2) || c1.equals(m3)) ret++;
if(c2.equals(m1) || c2.equals(m3)) ret++;
if(c3.equals(m1) || c3.equals(m2)) ret++;
return ret;
}
}
방법2. (내가 짰던 코드)
package kr.co.aiai.app;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Random;
public class MainActivityb extends AppCompatActivity {
EditText et;
TextView tv1,tvDisp;
int[] com;
String comstr = "";
String txt = "";
int strike = 0;
int ball = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainb);
com = new int[3];
for(int i = 0; i < com.length; i++) {
com[i] = (int)(Math.random() * 9 + 1);
for(int j = 0; j < i; j++) {
if(com[j] == com[i]) {
i--;
break;
}
}
}
comstr += com[0];
comstr += com[1];
comstr += com[2];
Log.d("seyoon", comstr+"");
Button btn = findViewById(R.id.btn);
et = findViewById(R.id.et);
tv1 = findViewById(R.id.tv1);
tvDisp = findViewById(R.id.tvDisp);
btn.setOnClickListener(view ->{
myclick();
});
}
public void gameSet() {
String input =et.getText() + "";
int[] user = new int[3];
strike = 0;
ball = 0;
user[0] = Integer.parseInt(input.substring(0,1) + "");
user[1] = Integer.parseInt(input.substring(1,2) + "");
user[2] = Integer.parseInt(input.substring(2,3) + "");
String userStr = "";
userStr += user[0];
userStr += user[1];
userStr += user[2];
if( ( user == null) || user.equals("")){
Toast.makeText(this.getApplicationContext(), "숫자를 입력해주세요!", Toast.LENGTH_SHORT).show();
}else{
if(com[0] == user[0]) strike ++;
if(com[1] == user[1]) strike ++;
if(com[2] == user[2]) strike ++;
if(com[0] == user[1] || com[0] == user[2]) ball++;
if(com[1] == user[0] || com[1] == user[2]) ball++;
if(com[2] == user[0] || com[2] == user[1]) ball++;
if(strike == 3){
txt = "Congratulation! \n";
txt += "정답 : " + comstr;
tvDisp.setText(txt);
}else{
txt += userStr + " - " + strike + "S" + ball + "B \n";
tvDisp.setText(txt);
}
}
}
public void myclick() {
gameSet();
et.setText("");
}
public int makeRandom(){
Random rnd = new Random();
int num = rnd.nextInt(9)+1;
return num;
}
}
결과




'JAVA' 카테고리의 다른 글
[JAVA] 오목 게임 (0) | 2023.01.11 |
---|---|
[JAVA] 새로운 파일이 들어왔을 때 자동으로 새로고침 하는 설정 (0) | 2023.01.05 |
[Android Studio] 기본 기능 사용해보기 (0) | 2022.12.29 |
[JAVA] Servlet class 설정 (0) | 2022.12.28 |
[Eclipse] 서버 초기 설정 (0) | 2022.12.23 |