일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Homebrew
- ddit
- Mac
- jsp
- 자바문제
- pyqt
- ibatis
- 자바
- API
- nodejs
- 대덕인재개발원
- 배열
- 객체지향
- 이클립스
- 반복문
- 컬렉션프레임워크
- crud
- servlet
- FastAPI
- JDBC
- Oracle
- Android
- python
- 단축키
- Java
- 생활코딩
- Error
- 맥
- html
- spring
Archives
- Today
- Total
romworld
Python 08 - (Android)(Log.d, 버튼 클릭 이벤트(숫자증가, 홀짝게임)) 본문
Log.d 를 이용하면 오류를 잡기 편해진다. ( 안드로이드의 디버깅)
사용형식은
Log.d("Tag","원하는 글자")
이런 식으로 안에 문자열을 넣어주면 자동으로 tag, msg 가 생성된다.
일부로 tag와 msg를 작성하는 경우 오류가 난다.
버튼 클릭 이벤트 (1)
- 누를 때 마다 숫자 증가
<AndroidManifest.xml>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MyApp"
tools:targetApi="31">
<activity
android:name=".MainActivity2"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="android.app.lib_name"
android:value="" />
</activity>
</application>
</manifest>
<activity_main2>
<?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="50dp"
android:orientation="horizontal">
<EditText
android:id="@+id/et"
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:ems="10"
android:inputType="textPersonName"
android:text="100" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="DOUBLE" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
1. 첫번째 방법
<MainActivity2.java>
package kr.co.aiai.app;
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 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(new View.OnClickListener() {
@Override
public void onClick(View view) {
String number = (String.valueOf(et.getText()));
int num = Integer.parseInt(number);
num *= 2;
String num2 = String.valueOf(num);
et.setText(num2);
}
});
}
}
2.두번째 방법
package kr.co.aiai.app;
import android.os.Bundle;
import android.util.Log;
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 -> {
Log.d("rom","hello");
String a = et.getText().toString();
int aa = Integer.parseInt(a);
aa *=2;
et.setText(aa+"");
});
}
}
구구단 출력
<AndoroidManifest.xml>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MyApp"
tools:targetApi="31">
<activity
android:name=".MainActivity3"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="android.app.lib_name"
android:value="" />
</activity>
</application>
</manifest>
<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="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/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="출력단수:" />
<EditText
android:id="@+id/et"
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="fill_parent"
android:text="__" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<MainActivity3.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 androidx.appcompat.app.AppCompatActivity;
public class MainActivity3 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
EditText et = findViewById(R.id.et);
Button btn = findViewById(R.id.btn);
TextView tvDisp = findViewById(R.id.tvDisp);
btn.setOnClickListener(view -> {
String dan = et.getText().toString();
int gugudan = Integer.parseInt(dan);
String res = "";
for(int i = 1; i <=9; i++){
res += gugudan + " x " + i + " = " + gugudan*i +"\n";
}
tvDisp.setText(res);
});
}
}
2. 두번째방법 (for문)
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 androidx.appcompat.app.AppCompatActivity;
public class MainActivity3 extends AppCompatActivity {
private TextView tvDisp;
private EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
et = findViewById(R.id.et);
Button btn = findViewById(R.id.btn);
tvDisp = findViewById(R.id.tvDisp);
btn.setOnClickListener(view -> {
myclick();
});
}
private void myclick() {
String dan = et.getText().toString();
int idan = Integer.parseInt(dan);
String txt="";
for(int i = 1; i<=9; i++){
txt += idan + " x " + i + " = " + idan*i + "\n";
}
tvDisp.setText(txt);
}
}
1. .myclick() 메서드를 만든다
2. for문을 돌린다 ~
홀짝게임
컴퓨터는 랜덤으로 홀짝이 나오고
출력하기 눌렀을 때 결과가 출력되게 ~
<AndroidManifest.xml>
android:name=".MainActivity4"
<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="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="40dp"
android:layout_height="wrap_content"
android:text="나:"
android:textSize="30dp" />
<EditText
android:id="@+id/etMine"
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="40dp"
android:layout_height="wrap_content"
android:text="컴:"
android:textSize="30dp" />
<EditText
android:id="@+id/etCom"
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/etResult"
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>
<MainActivity4.java>
1. 첫번째 방법(내가 푼 것)
package kr.co.aiai.app;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Random;
public class MainActivity4 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);
EditText etMine = findViewById(R.id.etMine);
EditText etCom = findViewById(R.id.etCom);
EditText etResult = findViewById(R.id.etResult);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int random = (int)(Math.random()*10)+1;
if (random > 5){
etCom.setText("홀");
}else{
etCom.setText("짝");
}
if(etMine.getText().toString().equals(etCom.getText().toString())){
etResult.setText("승리");
}else{
etResult.setText("패배");
}
}
});
}
}
2. 두번째 방법
package kr.co.aiai.app;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Random;
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);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myclick();
}
});
}
private void myclick() {
String mine = etMine.getText().toString();
String com = "";
String result = "";
if(Math.random()>0.5){
com= "홀";
}else{
com="짝";
}
if(mine.equals(com)){
result="이김";
}else{
result="짐";
}
etCom.setText(com);
etResult.setText(result);
}
}
결과
'Python' 카테고리의 다른 글
Python10 - (Andoroid) Toast창 띄우기 (0) | 2022.12.29 |
---|---|
Python 09 - (Android)로또게임, 가위바위보, 별찍기 (0) | 2022.12.28 |
Python 07 - Android (JAVA) (1) | 2022.12.27 |
Python 06 - JFrame(2) (JAVA) (0) | 2022.12.27 |
Python 05 - JFrame (JAVA) (0) | 2022.12.26 |
Comments