깃허브 주소
https://github.com/tehon/Coffeedroid/tree/master/Tab_cal
화면 및 기능
버튼 리스너랑 그리드 레이아웃 연습으로
탭 타이탄2에 부가기능으로 있는 계산기를 따라 만들어보았다.
탭 타이탄2 정말 재미있는 게임이다.
1때부터 열심히 하고 있는 게임..
비슷하게 만든 계산기
코드
MainActivity.java
public class MainActivity extends AppCompatActivity {
FormulaFactory f;
// 계산중인걸 저장하는 공간을 만들어둔다.
String saveTextInjava = "";
String littlesaveTextInjava = "";
String resultTextInjava;
Double resultDouble = 0.0;
// 리턴 받을 공간 만들어두기
TextView saveTextView;
TextView resultTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 객체 리턴 받는다.
saveTextView = (TextView) findViewById(R.id.save_text);
resultTextView = (TextView) findViewById(R.id.result_text);
}
public void btnClick(View view) {
// v.getId() 버튼 id
// v.getText() 버튼 text
int clickId = view.getId();
String clickText = ((Button) view).getText().toString();
//Toast.makeText(MainActivity.this,clickText+"",Toast.LENGTH_SHORT).show();
if (clickText.equals("=") || clickText == "=") {
Formula f = new Formula(saveTextInjava);
Variant variant = null;
try {
variant = f.evaluate();
} catch (EvaluateException e) {
e.printStackTrace();
}
saveTextView.setText(saveTextInjava);
resultTextView.setText("=" + variant.toString());
// 개체 값 초기화
saveTextInjava = "";
resultTextInjava = "";
littlesaveTextInjava = "";
} else if (clickText.equals("C") || clickText == "C") {
saveTextInjava = "0";
resultTextInjava = "0";
saveTextView.setText(saveTextInjava);
resultTextView.setText(resultTextInjava);
} else if (clickText.equals("ㅁ") || clickText == "ㅁ") {
MainActivity.this.finish();
} else if ((clickText.equals("+") || clickText == "+") || (clickText.equals("-") || clickText == "-") || (clickText.equals("*") || clickText == "*") || (clickText.equals("/") || clickText == "/")) {
saveTextInjava += clickText;
saveTextView.setText(saveTextInjava);
resultTextView.setText("0");
littlesaveTextInjava = "";
} else {
saveTextInjava += clickText;
littlesaveTextInjava += clickText;
resultTextView.setText(littlesaveTextInjava);
}
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
android:orientation="vertical"
android:padding="5sp"
tools:context="com.coffee.tab_cal.MainActivity">
<TextView
android:id="@+id/save_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="0"
android:textAlignment="textEnd"
android:textColor="#ffffff"
android:textSize="30sp" />
<TextView
android:id="@+id/result_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="0"
android:textAlignment="textEnd"
android:textColor="#ffffff"
android:textSize="50sp" />
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.3"
android:columnCount="4"
android:rowCount="5">
<!--0-->
<Button
android:id="@+id/button0_0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="C" />
<Button
android:id="@+id/button0_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_rowWeight="1"
android:text="+/-" />
<Button
android:id="@+id/button0_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="ㅁ" />
<Button
android:id="@+id/button0_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="/" />
<!--1-->
<Button
android:id="@+id/button1_0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnWeight="1"
android:layout_row="1"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="7" />
<Button
android:id="@+id/button1_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_columnWeight="1"
android:layout_row="1"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="8" />
<Button
android:id="@+id/button1_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_columnWeight="1"
android:layout_row="1"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="9" />
<Button
android:id="@+id/button1_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_columnWeight="1"
android:layout_row="1"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="*" />
<!--2-->
<Button
android:id="@+id/button2_0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnWeight="1"
android:layout_row="2"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="4" />
<Button
android:id="@+id/button2_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_columnWeight="1"
android:layout_row="2"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="5" />
<Button
android:id="@+id/button2_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_columnWeight="1"
android:layout_row="2"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="6" />
<Button
android:id="@+id/button2_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_columnWeight="1"
android:layout_row="2"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="-" />
<!--3-->
<Button
android:id="@+id/button3_0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnWeight="1"
android:layout_row="3"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="1" />
<Button
android:id="@+id/button3_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_columnWeight="1"
android:layout_row="3"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="2" />
<Button
android:id="@+id/button3_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_columnWeight="1"
android:layout_row="3"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="3" />
<Button
android:id="@+id/button3_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_columnWeight="1"
android:layout_row="3"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="+" />
<!--4-->
<Button
android:id="@+id/button4_0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnSpan="2"
android:layout_columnWeight="1"
android:layout_row="4"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:layout_gravity="fill_horizontal"
android:text="0" />
<Button
android:id="@+id/button4_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_columnWeight="1"
android:layout_row="4"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="." />
<Button
android:id="@+id/button4_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_columnWeight="1"
android:layout_row="4"
android:layout_rowWeight="1"
android:onClick="btnClick"
android:text="=" />
</GridLayout>
</LinearLayout>
계산기 만들때 쓴 라이브러리인
Formula.jar doc ???
사용법 찾으려고 돌아다니다가 찾은 사이트다
http://www.japisoft.com/formula/javadoc/com/japisoft/formula/Formula.html