count하는 앱
람다식으로 !
버튼의 모든 정보(컨텍스트)는 view에 있다. 이 view는 안드로이드 os로부터 받아요. 우리 앱이 os에 던져줘요.
<?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">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="409dp"
android:layout_height="wrap_content"
android:background="#009688"
android:minHeight="?attr/actionBarSize"
android:theme="?attr/actionBarTheme"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_count"
android:layout_width="39dp"
android:layout_height="59dp"
android:layout_marginTop="280dp"
android:gravity="center"
android:text="2"
android:textColor="#E91E63"
android:textColorHint="#000000"
android:textSize="36sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolbar"
app:layout_constraintVertical_bias="0.0" />
<Button
android:id="@+id/btn_add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="64dp"
android:layout_marginBottom="76dp"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btn_minus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="64dp"
android:layout_marginBottom="76dp"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
package org.linda.countingapp;
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 {
private static final String TAG = "Main_Activity";
private Button btnAdd, btnMinus;
private TextView tvCount;
private int count = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvCount = findViewById(R.id.tv_count);
tvCount.setText(count+"");
btnAdd = findViewById(R.id.btn_add);
btnMinus = findViewById(R.id.btn_minus);
//리스너에 콜백메서드 달았아요. 인터페이스입니다.
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG, "onClick: btnAdd"+view.get);
count++;
tvCount.setText(count+"");
}
});
btnMinus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(count=<0) {
tvCount.setText("0");
} else {
count--;
tvCount.setText(count+"");
}
}
});
}
}
계산기 만들기
https://github.com/Moonseonhyeon/calculator
후입표기식, 전입표기식 이런거로 안함
자바스크립트가 들고 있는 eval
자바스크립트 라이브러리 들고 와서
implementation 'io.apisense:rhino-android:1.0'
sync 하기!
'안드로이드' 카테고리의 다른 글
액션바(toolbar) - Inset 반응형 (0) | 2020.07.15 |
---|---|
에뮬레이터 용량 많이 차지하니까 (0) | 2020.07.15 |
view들, 인스타 로그인창 예제, Thread, Log (0) | 2020.07.14 |
앱 실행하고 첫 화면으로 할 .java파일 변경하는 방법 (0) | 2020.07.12 |
이벤트 onClick (0) | 2020.07.12 |