0

Android Hesap Makinesi ve Google API kullanma

Merhaba Arkadaşlar ,

Bu gün Android de yazdığım hesap makinesi programını sizlerle paylaşıyorum. Programda ayrıca google un calculator  özelliğini de kullanıyoruz.

MAIN CLASS

———————————————————————

package com.example.new_calculator;

import android.R.string;
import android.app.Activity;
import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.app.Activity;
import android.os.Bundle;
public class Main extends Activity implements OnClickListener{
public int operatorhatası;
float ilkdeger;
float ikincideger;
float sonuc;
int islemdongusu=0; // bu değer herhangi bir işlem yapıp yapılmadığını kontrol eder , Eğer bu değer bir ise ekranı temizler ki ikinci değer girilsin.
int islemturu =0 ; // bu hangi işlemi yaptığımız gösteren bir değerdir.
String metin ;

EditText editText;
EditText editText_google;

private Button button0 , button1,button2,button3,
button4,button5,button6,button7,button8,button9,buttonPlus,buttonMinus,buttonMultiply,
buttonDivide,buttonEqual,buttonPoint,buttonReset,buttonpaydax,
button_squared_2,button_root,button_google;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_table);

editText=(EditText)findViewById(R.id.editText1);
editText_google=(EditText)findViewById(R.id.editText2);

button0=(Button)findViewById(R.id.button0);
button1=(Button)findViewById(R.id.button1);
button2=(Button)findViewById(R.id.button2);
button3=(Button)findViewById(R.id.button3);
button4=(Button)findViewById(R.id.button4);

button5=(Button)findViewById(R.id.button5);
button6=(Button)findViewById(R.id.button6);
button7=(Button)findViewById(R.id.button7);
button8=(Button)findViewById(R.id.button8);
button9=(Button)findViewById(R.id.button9);
button_google=(Button)findViewById(R.id.button_google);

buttonPlus=(Button)findViewById(R.id.buttonPlus);
buttonMinus=(Button)findViewById(R.id.buttonMinus);
buttonMultiply=(Button)findViewById(R.id.buttonMultiply);
buttonDivide=(Button)findViewById(R.id.buttonDivide);
buttonPoint=(Button)findViewById(R.id.buttonPoint);
buttonReset=(Button)findViewById(R.id.buttonReset);

buttonEqual=(Button)findViewById(R.id.buttonEqual);

button_root=(Button)findViewById(R.id.button_root);
button_squared_2=(Button)findViewById(R.id.button_squared_2);
buttonpaydax=(Button)findViewById(R.id.buttonpaydax);

button0.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

editText.setText(editText.getText()+”0″);

}

});

button1.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(islemdongusu == 0){
editText.setText(editText.getText()+ “1″);
}
else
{
editText.setText(“1″);
}
islemdongusu = 0;

}

});

button2.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(islemdongusu == 0){
editText.setText(editText.getText()+ “2″);
}
else
{
editText.setText(“2″);
}
islemdongusu = 0;

}

});

button3.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(islemdongusu == 0){
editText.setText(editText.getText()+ “3″);
}
else
{
editText.setText(“3″);
}
islemdongusu = 0;

}

});

button4.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(islemdongusu == 0){
editText.setText(editText.getText()+ “4″);
}
else
{
editText.setText(“4″);
}
islemdongusu = 0;

}

});
button5.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(islemdongusu == 0){
editText.setText(editText.getText()+ “5″);
}
else
{
editText.setText(“5″);
}
islemdongusu = 0;

}

});
button6.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(islemdongusu == 0){
editText.setText(editText.getText()+ “6″);
}
else
{
editText.setText(“6″);
}
islemdongusu = 0;

}

});
button7.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(islemdongusu == 0){
editText.setText(editText.getText()+ “7″);
}
else
{
editText.setText(“7″);
}
islemdongusu = 0;

}

});
button8.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(islemdongusu == 0){
editText.setText(editText.getText()+ “8″);
}
else
{
editText.setText(“8″);
}
islemdongusu = 0;

}

});
button9.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(islemdongusu == 0){
editText.setText(editText.getText()+ “9″);
}
else
{
editText.setText(“9″);
}
islemdongusu = 0;

}

});
// bundan sonraki try – catch kullanımı herhangi bir hata programın hiç bir şey yapmamasını sağlamak içindir.

try {

buttonReset.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

reset(); // reset methodunda herşeyi sıfırlarız.

}

});

}

catch (Exception c) {

}

try {

buttonPoint.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(editText.getText().toString().indexOf(“.”)>=1){ // burada “.” işaretinin birden fazla yapılmaması için
editText.setText(editText.getText());
}
else {
editText.setText(editText.getText()+”.”);
}

}

});

}

catch (Exception c) {

}

try {

buttonPlus.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
if(editText.getText().toString().equals(“”)){ // Burada ekran boş ise boş kalmasını sağladık.
editText.setText(“”);
}

else if(editText.getText().toString().equals(“+”)){ // Burada iki tane işlem karekterinin ard arda basılma durumda reset olayını gerçekleştirdik
reset();
}

else {
if (islemturu != 0) { // bu kısım eşittir butonuna basıldıktan sonra işlem hatasız yapılmasını sağlıyor.
islemdevam();
islemturu = 1;
editText.setText(“+”);
islemdongusu=1;
}
else {
islemdongusu=1;
islemturu=1;
ilkdeger = Float.parseFloat(editText.getText().toString());
editText.setText(“+”);
}

}
}

});

}

catch (Exception c) {

}

 

try {

buttonMinus.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(editText.getText().toString().equals(“”)){// Burada ekran boş ise boş kalmasını sağladık.
editText.setText(“”);
}

else if(editText.getText().toString().equals(“+”) || editText.getText().toString().equals(“-”) || editText.getText().toString().equals(“*”) || editText.getText().toString().equals(“/”)){
reset(); // Burada iki tane işlem karekterinin ard arda basılma durumda reset olayını gerçekleştirdik
}

else {
if (islemturu != 0) {// bu kısım eşittir butonuna basıldıktan sonra işlem hatasız yapılmasını sağlıyor.
islemdevam();
islemturu = 2;
editText.setText(“-”);
islemdongusu=1;
}
else {
islemdongusu=1;
islemturu=2;
ilkdeger = Float.parseFloat(editText.getText().toString());
editText.setText(“-”);
}
}
}

});

}

catch (Exception c) {

}
try {

buttonDivide.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(editText.getText().toString().equals(“”)){// Burada ekran boş ise boş kalmasını sağladık.
editText.setText(“”);
}

else if(editText.getText().toString().equals(“+”) || editText.getText().toString().equals(“-”) || editText.getText().toString().equals(“*”) || editText.getText().toString().equals(“/”)){
reset(); // Burada iki tane işlem karekterinin ard arda basılma durumda reset olayını gerçekleştirdik
}

else {
if (islemturu != 0) {// bu kısım eşittir butonuna basıldıktan sonra işlem hatasız yapılmasını sağlıyor.
islemdevam();
islemturu = 3;
editText.setText(“/”);
islemdongusu=1;
}
else {
islemdongusu=1;
islemturu=3;
ilkdeger = Float.parseFloat(editText.getText().toString());
editText.setText(“/”);
}
}

}

});

}

catch (Exception c) {

}
try {

buttonMultiply.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(editText.getText().toString().equals(“”)){// Burada ekran boş ise boş kalmasını sağladık.
editText.setText(“”);
}

else if(editText.getText().toString().equals(“+”) || editText.getText().toString().equals(“-”) || editText.getText().toString().equals(“*”) || editText.getText().toString().equals(“/”)){
reset(); // Burada iki tane işlem karekterinin ard arda basılma durumda reset olayını gerçekleştirdik
}

else {

if (islemturu != 0) {// bu kısım eşittir butonuna basıldıktan sonra işlem hatasız yapılmasını sağlıyor.
islemdevam();
islemturu = 4;
editText.setText(“*”);
islemdongusu=1;
}
else {
islemdongusu=1;
islemturu=4;
ilkdeger = Float.parseFloat(editText.getText().toString());
editText.setText(“*”);
}
}

}

});

}

catch (Exception c) {

}

try {

button_root.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(editText.getText().toString().equals(“”)){// Burada ekran boş ise boş kalmasını sağladık.
editText.setText(“”);
}

else {
islemdongusu=0;
ilkdeger =(float) Math.sqrt( Float.parseFloat(editText.getText().toString()));
String ilkdeger1 = String.valueOf(ilkdeger);
editText.setText(ilkdeger1);
}
}

});

}

catch (Exception c) {

}

try {

button_squared_2.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(editText.getText().toString().equals(“”)){// Burada ekran boş ise boş kalmasını sağladık.
editText.setText(“”);
}

else {
islemdongusu=0;
ilkdeger = Float.parseFloat(editText.getText().toString()) * Float.valueOf(editText.getText().toString());
String ilkdeger1 = String.valueOf(ilkdeger);
editText.setText(ilkdeger1);
}
}

});

}

catch (Exception c) {

}
try {

buttonpaydax.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(editText.getText().toString().equals(“”)){// Burada ekran boş ise boş kalmasını sağladık.
editText.setText(“”);
}
else {
islemdongusu=0;
ilkdeger = (1 / Float.parseFloat(editText.getText().toString()));
String ilkdeger1 = String.valueOf(ilkdeger);
editText.setText(ilkdeger1);
}

}

});

}

catch (Exception c) {

}
try {

buttonEqual.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if(editText.getText().toString().equals(“”)){// Burada ekran boş ise boş kalmasını sağladık.
editText.setText(“”);
}
else if(editText.getText().toString().equals(“+”) || editText.getText().toString().equals(“-”) || editText.getText().toString().equals(“*”) || editText.getText().toString().equals(“/”)){
reset(); // burada ekranda işlem karekteri olduğu halde eşittir tuşuna basıldığında programın kapanmaması için resetlenir
}

else {

ikincideger = Float.parseFloat(editText.getText().toString());
if(islemturu==1){
sonuc = (ilkdeger + ikincideger );
}

if(islemturu==2){
sonuc = (ilkdeger – ikincideger );
}

if(islemturu==3){
sonuc = (ilkdeger / ikincideger );
}

if(islemturu==4){
sonuc = (ilkdeger * ikincideger );
}

String sondeger = String.valueOf(sonuc);
editText.setText(sondeger);

islemdongusu = 0 ;
islemturu = 0 ;

}
}

});

}

catch (Exception c) {

}
try {

button_google.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

hata_ayiklama(); // girilen değerin işlem bazında kontrolü sağlanır.

if (editText_google.getText().toString().equals(“”))
{
editText_google.setText(“Lütfen bir değer giriniz.”);
}

else if(operatorhatası != 0) // eğer hata_ayiklama methodundan hata geldiyse
{

editText_google.setText(“Hatalı giriş yaptınız “);

}

else {

Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);

String term = editText_google.getText().toString();

intent.putExtra(SearchManager.QUERY, term);

startActivity(intent);
}
}

});

}

catch (Exception c) {

}

}

public void reset()
{
ilkdeger = 0;
ikincideger = 0;
islemdongusu = 0;
editText.setText(“”);
sonuc = 0;
islemturu=0;

}
public void islemdevam () {

ikincideger = Float.parseFloat(editText.getText().toString());
if(islemturu==1){
sonuc = (ilkdeger + ikincideger );

}

if(islemturu==2){
sonuc = (ilkdeger – ikincideger );

}

if(islemturu==3){
sonuc = (ilkdeger / ikincideger );

}

if(islemturu==4){
sonuc = (ilkdeger * ikincideger );

}

ilkdeger = sonuc;

}

public void hata_ayiklama() {
int icparantez =0;
int disparantez=0;

operatorhatası = 0;

metin = editText_google.getText().toString();

if (metin != “”) {
for (int i =1 ; i < metin.length() ; i++) {

if( metin.charAt(i-1) == ‘(‘) {
icparantez++;
}
if( metin.charAt(i-1) == ‘)’) {
disparantez++;
}
if(icparantez != disparantez) {
operatorhatası++;
}

if( metin.charAt(i) == ‘(‘ && metin.charAt(i) == ‘)’) {
operatorhatası++;
}

if( metin.charAt(i-1) == ‘+’&& metin.charAt(i) == ‘-’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘-’&& metin.charAt(i) == ‘+’) {
operatorhatası++;
}
if(metin.charAt(i-1) == ‘+’&& metin.charAt(i) == ‘*’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘*’&& metin.charAt(i) == ‘/’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘+’&& metin.charAt(i) == ‘/’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘/’&& metin.charAt(i) == ‘+’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘/’&& metin.charAt(i) == ‘*’) {
operatorhatası++;
}
if( metin.equals(“*”)&& metin.charAt(i) == ‘-’) {
operatorhatası++;
}
if(metin.charAt(i-1) == ‘*’&& metin.charAt(i) == ‘/’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘/’&& metin.charAt(i) == ‘*’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘+’&& metin.charAt(i) == ‘+’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘-’&& metin.charAt(i) == ‘-’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘*’&& metin.charAt(i) == ‘*’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘/’&& metin.charAt(i) == ‘/’) {
operatorhatası++;
}

if( metin.charAt(i-1) == ‘+’&& metin.charAt(i) == ‘)’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘-’&& metin.charAt(i) == ‘)’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘*’&& metin.charAt(i) == ‘)’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘(‘&& metin.charAt(i) == ‘*’) {
operatorhatası++;
}
if( metin.charAt(i-1) == ‘(‘&& metin.charAt(i) == ‘/’) {
operatorhatası++;
}
}
}

}

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub

}
}

 

———————————————————————————————————————————————————

 

XML KODU

 

 

<?xml version=”1.0″ encoding=”utf-8″?>
<TableLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:id=”@+id/tableLayout”
android:layout_width=”wrap_content”
android:layout_height=”match_parent”
android:background=”#FFF”
android:padding=”5dp”
android:stretchColumns=”0,1,2,3,4,5 ” >

<TableRow
android:id=”@+id/tableRow0″
android:layout_margin=”6dp”
android:padding=”1.8dp”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content” >

<EditText
android:id=”@+id/editText1″

android:padding=”5dp”
android:layout_width=”match_parent”
android:layout_height=”35dp”
android:layout_span=”5″
android:clickable=”false”
android:longClickable=”false”
android:onClick=”false”
android:editable=”false”
android:ems=”10″ />

</TableRow>

<TableRow
android:id=”@+id/tableRow1″
android:layout_margin=”6dp”
android:padding=”1.8dp”
android:layout_width=”match_parent”
android:layout_height=”wrap_content” >

<Button
android:id=”@+id/button0″
android:padding=”1dp”
android:layout_weight=”1″

android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”0″ />

<Button
android:id=”@+id/button1″
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”1″ />

<Button
android:id=”@+id/button2″
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”2″ />

<Button
android:id=”@+id/button3″
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”3″ />

<Button
android:id=”@+id/buttonReset”
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”C” />

</TableRow>
<TableRow
android:id=”@+id/tableRow2″
android:layout_margin=”6dp”
android:padding=”1.8dp”
android:layout_width=”match_parent”
android:layout_height=”wrap_content” >

<Button
android:id=”@+id/buttonPoint”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_weight=”1″
android:padding=”1dp”
android:text=”@string/point” />

<Button
android:id=”@+id/button4″
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”4″ />

<Button
android:id=”@+id/button5″
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”5″ />

<Button
android:id=”@+id/button6″
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”6″ />

<Button
android:id=”@+id/button_squared_2″
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/sqr” />

</TableRow>
<TableRow
android:id=”@+id/tableRow3″
android:layout_margin=”6dp”
android:padding=”1.8dp”
android:layout_width=”match_parent”
android:layout_height=”wrap_content” >

<Button
android:id=”@+id/buttonpaydax”
android:padding=”1dp”
android:layout_weight=”1″

android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”1/x” />

<Button
android:id=”@+id/button7″
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”7″ />

<Button
android:id=”@+id/button8″
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”8″ />

<Button
android:id=”@+id/button9″
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”9″ />

<Button
android:id=”@+id/button_root”
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”sqrt” />

</TableRow>
<TableRow
android:id=”@+id/tableRow4″
android:layout_margin=”6dp”
android:padding=”1.8dp”
android:layout_width=”match_parent”
android:layout_height=”wrap_content” >

<Button
android:id=”@+id/buttonPlus”
android:padding=”1dp”
android:layout_weight=”1″

android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”+” />

<Button
android:id=”@+id/buttonMinus”
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”-” />

<Button
android:id=”@+id/buttonMultiply”
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”*” />

<Button
android:id=”@+id/buttonDivide”
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”/” />

<Button
android:id=”@+id/buttonEqual”
android:padding=”1dp”
android:layout_weight=”1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”=” />

</TableRow>

<TableRow
android:id=”@+id/tableRow5″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content” >

<EditText
android:id=”@+id/editText2″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_span=”3″
android:ems=”10″ >

<requestFocus />
</EditText>

<Button
android:id=”@+id/button_google”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_span=”2″
android:text=”Google” />

</TableRow>

</TableLayout>

 

 

 

 

Bu yazıyı paylaş..Share on LinkedInShare on Google+Share on FacebookTweet about this on Twitter

Numan KARAKAŞ

Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir