Kali ini saya akan berbagai tutorial tentang cara membuat kalkulator sederhana menggunakan program eclipse. Hasil tampilannya seperti ini..
Ok, jika anda tertarik mari kita berksperimen...
1. Buat Projectnya terlebih dahulu. kemudian beri nama projectnya dengan 'Kalkulator' dan beri nama pada Packagenya "com.ahmadsahidin.kalkulator". Sesuai dengan gambar berikut.
2. Buka "activity_main.xml" kemudian sesuaikan dengan kode di berikut.
2. Kemudian pada MainActivity.java sesuaikan dengan kode berikut.
3. Selanjutnya, jalankan aplikasinya..kalau ada masalah atau pertanyaan silahkan berkomentar dibawah..
<RelativeLayout 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" > <TextView android:id="@+id/txtStack" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="15sp" android:gravity="right" android:layout_marginTop = "3sp" android:layout_marginLeft = "5sp" android:layout_marginRight = "5sp"/> <TextView android:id="@+id/result_id" android:layout_width="300dp" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_below="@+id/txtStack" android:paddingLeft="10dp" android:paddingRight="10dp" android:inputType="text" android:textColor="#ff6601" android:textSize="24sp" android:textStyle="bold" android:background="#ff003333" android:layout_marginTop="5dp" android:gravity="right" /> <TextView android:id="@+id/txtMemory" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/result_id" android:textSize="15sp" android:gravity="left" android:layout_marginLeft = "5sp" android:layout_marginRight = "5sp"/> <Button android:id="@+id/Btn7_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_below="@id/txtMemory" android:text="7" android:onClick="btn7Clicked" /> <Button android:id="@+id/Btn8_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_below="@id/txtMemory" android:layout_toRightOf="@id/Btn7_id" android:text="8" android:onClick="btn8Clicked" /> <Button android:id="@+id/Btn9_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_below="@id/txtMemory" android:layout_toRightOf="@id/Btn8_id" android:text="9" android:onClick="btn9Clicked" /> <Button android:id="@+id/Btnclear_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_below="@id/txtMemory" android:layout_toRightOf="@id/Btn9_id" android:onClick="btnclearClicked" android:text="On" /> <Button android:id="@+id/Btn4_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_below="@id/Btn7_id" android:text="4" android:onClick="btn4Clicked" /> <Button android:id="@+id/Btn5_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_below="@id/Btn8_id" android:layout_toRightOf="@id/Btn4_id" android:text="5" android:onClick="btn5Clicked" /> <Button android:id="@+id/Btn6_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_below="@id/Btn9_id" android:layout_toRightOf="@id/Btn5_id" android:text="6" android:onClick="btn6Clicked" /> <Button android:id="@+id/Btn1_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_below="@id/Btn4_id" android:text="1" android:onClick="btn1Clicked" /> <Button android:id="@+id/Btn2_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_below="@id/Btn5_id" android:layout_toRightOf="@id/Btn1_id" android:text="2" android:onClick="btn2Clicked" /> <Button android:id="@+id/Btn3_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_below="@id/Btn6_id" android:layout_toRightOf="@id/Btn2_id" android:text="3" android:onClick="btn3Clicked" /> <Button android:id="@+id/Btnplus_id" android:layout_width="60dp" android:layout_height="100dp" android:layout_above="@+id/Btn3_id" android:layout_toRightOf="@+id/Btnminus_id" android:onClick="btnplusClicked" android:text="+" /> <Button android:id="@+id/Btnminus_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_above="@+id/Btn3_id" android:layout_alignLeft="@+id/Btnclear_id" android:onClick="btnminusClicked" android:text="-" /> <Button android:id="@+id/Btnmulti_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_below="@+id/Btn6_id" android:layout_toRightOf="@+id/Btn6_id" android:onClick="btnmultiClicked" android:text="x" /> <Button android:id="@+id/btn0_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_below="@+id/Btn1_id" android:layout_toLeftOf="@+id/Btn2_id" android:text="0" android:onClick="btn0Clicked" /> <Button android:id="@+id/Btndivide_id" android:layout_width="60dp" android:layout_height="50dp" android:layout_alignBaseline="@+id/btn0_id" android:layout_alignBottom="@+id/btn0_id" android:layout_toRightOf="@+id/Btn3_id" android:onClick="btndivideClicked" android:text="/" /> <Button android:id="@+id/Btnequal_id" android:layout_width="60dp" android:layout_height="100dp" android:layout_alignLeft="@+id/Btnplus_id" android:layout_centerVertical="true" android:onClick="btnequalClicked" android:text="=" /> <Button android:id="@+id/btnpangkat_id" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/btn0_id" android:layout_alignLeft="@+id/Btn2_id" android:text="^" android:onClick="btnpangkatClicked" /> <Button android:id="@+id/btngtf_id" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/btnpangkat_id" android:layout_alignBottom="@+id/btnpangkat_id" android:layout_alignRight="@+id/Btn3_id" android:onClick="btngtfClicked" android:text="+/-" /> </RelativeLayout>
2. Kemudian pada MainActivity.java sesuaikan dengan kode berikut.
package com.ahmadsahidin.kalkulator; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.GridView; import android.widget.TextView; public class MainActivity extends Activity { public String str =""; Character op = 'q'; int i,num,numtemp; GridView mKeypadGrid; TextView userInputText; TextView memoryStatText; TextView mStackText; boolean resetInput = false; boolean hasFinalResult = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); userInputText = (TextView) findViewById(R.id.result_id); userInputText.setText("0"); mStackText = (TextView) findViewById(R.id.txtStack); memoryStatText = (TextView) findViewById(R.id.txtMemory); memoryStatText.setText(""); } public void btn0Clicked(View v){ insert(0); } public void btn1Clicked(View v){ insert(1); } public void btn2Clicked(View v){ insert(2); } public void btn3Clicked(View v){ insert(3); } public void btn4Clicked(View v){ insert(4); } public void btn5Clicked(View v){ insert(5); } public void btn6Clicked(View v){ insert(6); } public void btn7Clicked(View v){ insert(7); } public void btn8Clicked(View v){ insert(8); } public void btn9Clicked(View v){ insert(9); } public void btnpangkatClicked(View v){ perform(); op = '^'; } public void btnplusClicked(View v){ perform(); op = '+'; } public void btnminusClicked(View v){ perform(); op = '-'; } public void btndivideClicked(View v){ perform(); op = '/'; } public void btnmultiClicked(View v){ perform(); op = '*'; } public void btnequalClicked(View v){ calculate(); resetInput = false; hasFinalResult = true; } public void btnclearClicked(View v){ reset(); userInputText.setText("0"); } private void reset() { // TODO Auto-generated method stub str =""; op ='q'; num = 0; numtemp = 0; userInputText.setText(""); } private void insert(int j) { // TODO Auto-generated method stub str = str+Integer.toString(j); num = Integer.valueOf(str).intValue(); userInputText.setText(str); } private void perform() { // TODO Auto-generated method stub str = ""; numtemp = num; } private void calculate() { // TODO Auto-generated method stub if(op == '+') num = numtemp+num; else if(op == '-') num = numtemp-num; else if(op == '/') num = numtemp/num; else if(op == '*') num = numtemp*num; else if(op == '^') num = numtemp^num; userInputText.setText(""+num); } }
3. Selanjutnya, jalankan aplikasinya..kalau ada masalah atau pertanyaan silahkan berkomentar dibawah..
Tentang Penulis :
Gan mau tanya , gimana caranya biar button nya bisa menyesuaikan layout smartphone/android nya masing-masing ? sebab jika resolusi layar nya berbeda maka tampilnya pun akan berbeda . karena tiap android memiliki resolusi layar yang berbeda