pada tutorial belajar android kali ini, kita akan mencoba membuat sebuah Aplikasi Kalkulator Sederhana di Android. Bagi user (pengguna) Aplikasi Kalkulator mungkin salah satu Aplikasi secara default(bawaan ) di perangkat Android ,yang cukup penting untuk keperluan sehari-hari. Karna Aplikasi ini memang umumnya sudah ada sebelum era Smartphone Android muncul
Nah
disini kita akan mencoba membuat Aplikasi Simple (sederhana ) Kalkulator
Android dengan menggunakan Android Studio. Meskipun tidak selengkap dan
sesempurna seperti Aplikasi bawaan di perangkat Android, setidaknya kita tahu
prosesnya dari mulai layout (desain) dan juga bahasa pemrogramman java untuk
latihan.
1. Pertama buka Android Studio
2. Pilih Start a New Android
Studio Project
3..Kedua pada bagian Create New Project, sesuaikan dengan nama dan
package serta lokasi file yang akan kalian gunakan. Untuk contoh saya
menggunakan seperti yang ada di gambar di bawah. Jika sudah pilih Next.
4. Selanjutnya tentukan Target Android Devices dari Aplikasi kalian ,
secara default saya menggunakan API 15 untuk minimumnya. Jika sudah pilih Next.
5. Pada bagian Add an Activity to Mobile kita bisa memilih
template bawaan yang masih kosong yaitu Empty Activity lalu
pilih Next
6. Selanjutnya di bagian Cutomize the Activity kita hanya perlu memilih
tombol Finish.
7.Setelah itu kita tunggu sampai proses
building project gradle selesai .
§ Setelah selesai lalu kita copykan atau terapkan baris
instruksi (codingan ) dibawah ke dalam file layout activity_main.xml dan file java MainActivity.java.
activity_main.xml
1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2.
xmlns:tools="http://schemas.android.com/tools"
3.
android:layout_width="match_parent"
4.
android:layout_height="match_parent"
5.
android:paddingBottom="@dimen/activity_vertical_margin"
6.
android:paddingLeft="@dimen/activity_horizontal_margin"
7.
android:paddingRight="@dimen/activity_horizontal_margin"
8.
android:paddingTop="@dimen/activity_vertical_margin"
9.
tools:context=".MainActivity">
10.
11. <EditText
12. android:id="@+id/result_id"
13. android:layout_width="match_parent"
14. android:layout_height="70dp" />
15.
16. <Button
17. android:id="@+id/Btn7_id"
18. android:layout_width="70dp"
19. android:layout_height="60dp"
20. android:layout_below="@id/result_id"
21. android:onClick="btn7Clicked"
22. android:text="7" />
23.
24. <Button
25. android:id="@+id/Btn8_id"
26. android:layout_width="70dp"
27. android:layout_height="60dp"
28. android:layout_below="@id/result_id"
29. android:layout_toRightOf="@id/Btn7_id"
30. android:onClick="btn8Clicked"
31. android:text="8" />
32.
33. <Button
34. android:id="@+id/Btn9_id"
35. android:layout_width="70dp"
36. android:layout_height="60dp"
37. android:layout_below="@id/result_id"
38. android:layout_toRightOf="@id/Btn8_id"
39. android:onClick="btn9Clicked"
40. android:text="9" />
41.
42. <Button
43. android:id="@+id/Btnclear_id"
44. android:layout_width="90dp"
45. android:layout_height="60dp"
46. android:layout_below="@id/result_id"
47. android:layout_toRightOf="@id/Btn9_id"
48. android:onClick="btnclearClicked"
49. android:text="clear" />
50.
51. <Button
52. android:id="@+id/Btn4_id"
53. android:layout_width="70dp"
54. android:layout_height="60dp"
55. android:layout_below="@id/Btn7_id"
56. android:onClick="btn4Clicked"
57. android:text="4" />
58.
59. <Button
60. android:id="@+id/Btn5_id"
61. android:layout_width="70dp"
62. android:layout_height="60dp"
63. android:layout_below="@id/Btn8_id"
64. android:layout_toRightOf="@id/Btn4_id"
65. android:onClick="btn5Clicked"
66. android:text="5" />
67.
68. <Button
69. android:id="@+id/Btn6_id"
70. android:layout_width="70dp"
71. android:layout_height="60dp"
72. android:layout_below="@id/Btn9_id"
73. android:layout_toRightOf="@id/Btn5_id"
74. android:onClick="btn6Clicked"
75. android:text="6" />
76.
77. <Button
78. android:id="@+id/Btnplus_id"
79. android:layout_width="90dp"
80. android:layout_height="60dp"
81. android:layout_below="@id/Btnclear_id"
82. android:layout_toRightOf="@id/Btn6_id"
83. android:onClick="btnplusClicked"
84. android:text="+" />
85.
86. <Button
87. android:id="@+id/Btn1_id"
88. android:layout_width="70dp"
89. android:layout_height="60dp"
90. android:layout_below="@id/Btn4_id"
91. android:onClick="btn1Clicked"
92. android:text="1" />
93.
94. <Button
95. android:id="@+id/Btn2_id"
96. android:layout_width="70dp"
97. android:layout_height="60dp"
98. android:layout_below="@id/Btn5_id"
99. android:layout_toRightOf="@id/Btn1_id"
100. android:onClick="btn2Clicked"
101. android:text="2" />
102.
103. <Button
104. android:id="@+id/Btn3_id"
105. android:layout_width="70dp"
106. android:layout_height="60dp"
107. android:layout_below="@id/Btn6_id"
108. android:layout_toRightOf="@id/Btn2_id"
109. android:onClick="btn3Clicked"
110. android:text="3" />
111.
112. <Button
113. android:id="@+id/Btnminus_id"
114. android:layout_width="90dp"
115. android:layout_height="60dp"
116. android:layout_below="@id/Btnplus_id"
117. android:layout_toRightOf="@id/Btn3_id"
118. android:onClick="btnminusClicked"
119. android:text="-" />
120.
121. <Button
122. android:id="@+id/Btnequal_id"
123. android:layout_width="110dp"
124. android:layout_height="60dp"
125. android:layout_below="@id/Btn1_id"
126. android:onClick="btnequalClicked"
127. android:text="=" />
128.
129. <Button
130. android:id="@+id/Btndivide_id"
131. android:layout_width="90dp"
132. android:layout_height="60dp"
133. android:layout_below="@id/Btn1_id"
134. android:layout_toRightOf="@id/Btnequal_id"
135. android:onClick="btndivideClicked"
136. android:text="/" />
137.
138. <Button
139. android:id="@+id/Btnmulti_id"
140. android:layout_width="100dp"
141. android:layout_height="60dp"
142. android:layout_below="@id/Btnminus_id"
143. android:layout_toRightOf="@id/Btndivide_id"
144. android:onClick="btnmultiClicked"
145. android:text="*" />
146.
147.</RelativeLayout>
MainActivity.java.
1. package com.okedroid.aplikasisaya;
2.
3. import android.os.Bundle;
4. import android.support.v7.app.AppCompatActivity;
5. import android.view.View;
6. import android.widget.EditText;
7.
8.
9. public class MainActivity extends AppCompatActivity {
10.
11. public String str ="";
12. Character op = 'q';
13. float i,num,numtemp;
14. EditText showResult;
15. @Override
16. public void onCreate(Bundle savedInstanceState) {
17. super.onCreate(savedInstanceState);
18. setContentView(R.layout.activity_main);
19.
20. showResult = (EditText)findViewById(R.id.result_id);
21.
22. }
23. public void btn1Clicked(View v){
24. insert(1);
25.
26. }
27.
28. public void btn2Clicked(View v){
29. insert(2);
30.
31. }
32. public void btn3Clicked(View v){
33. insert(3);
34.
35. }
36. public void btn4Clicked(View v){
37. insert(4);
38.
39. }
40. public void btn5Clicked(View v){
41. insert(5);
42.
43. }
44. public void btn6Clicked(View v){
45. insert(6);
46. }
47. public void btn7Clicked(View v){
48. insert(7);
49.
50. }
51. public void btn8Clicked(View v){
52. insert(8);
53.
54. }
55. public void btn9Clicked(View v){
56. insert(9);
57.
58. }
59. public void btnplusClicked(View v){
60. perform();
61. op = '+';
62.
63. }
64.
65. public void btnminusClicked(View v){
66. perform();
67. op = '-';
68.
69. }
70. public void btndivideClicked(View v){
71. perform();
72. op = '/';
73.
74. }
75. public void btnmultiClicked(View v){
76. perform();
77. op = '*';
78.
79. }
80. public void btnequalClicked(View v){
81. calculate();
82.
83. }
84.
85. public void btnclearClicked(View v){
86. reset();
87. }
88. private void reset() {
89. // TODO Auto-generated method stub
90. str ="";
91. op ='q';
92. num = 0;
93. numtemp = 0;
94. showResult.setText("");
95. }
96. private void insert(int j) {
97. // TODO Auto-generated method stub
98. str = str+Integer.toString(j);
99. num = Integer.valueOf(str).intValue();
100. showResult.setText(str);
101.
102. }
103. private void perform() {
104. // TODO Auto-generated method stub
105. str = "";
106.
calculateNoShow();
107. numtemp = num;
108.
109. }
110. private void calculate() {
111. // TODO Auto-generated method stub
112. if(op == '+')
113.
num = numtemp+num;
114. else if(op == '-')
115.
num = numtemp-num;
116. else if(op == '/')
117.
num = numtemp/num;
118. else if(op == '*')
120. showResult.setText(""+num);
121. }
122.
123. private void calculateNoShow() {
124. // TODO Auto-generated method stub
125. if(op == '+')
126.
num = numtemp+num;
127. else if(op == '-')
128.
num = numtemp-num;
129. else if(op == '/')
130.
num = numtemp/num;
131. else if(op == '*')
132.
num = numtemp*num;
133. }
134.}
Setelah
itu kita coba jalankan lewat Android
Studio.
Kurang lebih hasil tampilanya akan seperti ini :
Kurang lebih hasil tampilanya akan seperti ini :
Tidak ada komentar:
Posting Komentar