Mobil Programlama - Uygulama 2 (Kahve Sipariş)

Amaç: Kullanıcı kaç bardak kahve alacağını girecek, uygulamamız ise ne kadar ücret ödenmesi gerektiğini yazan uygulama. (1 kahve 5TL)

Projemize LineerLayout(vertical) ekliyoruz. LineerLayout içerisine ise 2 TextView ve bir button ekliyoruz.
Activiy_main.xml -> text ekranındayken;
Üst menüden Code -> Reformat Code seçerek kodlar içinde eksik bulunan kısımların otomatik tamamlanmasını sağlayabilirsiniz.
Code -> Rearrange Code

2. Textview id = adet_textview yapıyoruz.
Activity üzerindeki kontrollerin arasındaki boşlukları ise 16sp olarak ayarlıyoruz. (Margin özelliğini kullanarak.)
Son olarak uygulama kodları şu şekilde gözükecektir.
<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:text="Sipariş Adedi:"
        android:textColor="#000000"
        android:textSize="50sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/adet_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16sp"
        android:text="0"
        android:textSize="50sp" />

    <Button
        android:id="@+id/gonder_butonu"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Gonder"
        android:textSize="30sp" />
</LinearLayout>

Bu aşamada uygulamamızı emülator veya telefon üzerinde çalıştıralım.

Eklediğimiz kontollerin bazı özelliklerine bir bakalım;

android:textSize="50sp"
Yazı tipinin büyüklüğünü ayarlar.
android:textAllCaps="true"
Yazının tümünü büyük harfe çevir.
android:textColor="#000000"
Yazı rengi
android:layout_marginBottom="16dp"
Kontrolün altında dış boşluk bırakır.

Main_activtiy. java dosyasına geçiyoruz.

Java'da yorum satırları aşağıdaki şekilde eklenmektedir.

/*Bu uygulama bir sipariş uygulamasıdır.  */
activity'de eklediğimiz kontrolleri java dosyamız tanıtmamız gerekli.

TextView siparis=(TextView) findViewById(R.id.adet_textview);
Button gonder=(Button) findViewById(R.id.gonder_butonu);
Butona tıklandığında gerçekleşecek olayları yazıyoruz. Burada OnClickListener kullanacağız.
package com.example.hacerkubra.uyg3;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

/*
Bu uygulama bir sipariş uygulamasıdır.
 */

public class MainActivity extends AppCompatActivity {


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

        final TextView siparis=(TextView) findViewById(R.id.adet_textview);
        final Button gonder=(Button) findViewById(R.id.gonder_butonu);

        gonder.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                siparis.setText("1");
            }
        });
    }
}

Butona basıldığında 0 yazısı 1 olarak değişecek.

Uygulamamıza 2 TextView ekliyoruz.
Bu Textview'lerin;

  • arasında 16 sp boşluk olacak, 
  • 0TL yazan textview siyah renkte olacak, 
  • Tutar yazan textview tüm harfleri büyük olacak şekilde
  • idlerini de değiştiecek 
şekilde özelliklerini ayarlıyoruz. Bu uygulamayı kahve siparişi için düşünebiliriz. 2 bardak kahve için 10TL ödemek gerekiyor. (Sipariş adedini kodun içinde belirliyoruz, henüz kullanıcıdan işlem yapmasını beklemiyoruz. MainActivity.java kodları aşağıdaki gibi olacak.

public class MainActivity extends AppCompatActivity 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final TextView siparis=(TextView) findViewById(R.id.adet_textview);
        final Button gonder=(Button) findViewById(R.id.gonder_butonu);
        final TextView tutar=(TextView) findViewById(R.id.tutar_Textview);

        gonder.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                siparis.setText("2");
                tutar.setText(String.format("%dTL", 2 * 5));
            }
        });
    }
}


Uygulamamıza değişken tanımlayarak devam edelim. Değişkenler  MainActivity.java içerisinde tutarı nasıl hesaplayabiliriz?

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final int adet=2;
        final TextView siparis=(TextView) findViewById(R.id.adet_textview);
        final Button gonder=(Button) findViewById(R.id.gonder_butonu);
        final TextView tutar=(TextView) findViewById(R.id.tutar_Textview);

        gonder.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                siparis.setText(""+adet);
                tutar.setText(""+(adet*5));
            }
        });
    }
}


2 Button daha ekliyoruz. Aşağıdaki resimdeki gibi görünümü elde etmek için butonların yüksek ve genişliklerini 48dp olarak belirliyoruz. Ayrıca bu butonların java dosyasında OnclickListener metotlarını da yazıyoruz. Bu metotlarda adet miktarını değiştirmemiz için artırma veya eksiltme işlemlerini yapacaklar.
Sipariş Uygulaması - Son ekran


public class MainActivity extends AppCompatActivity {
    int adet=0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final TextView siparis = (TextView) findViewById(R.id.adet_textview);
        final Button gonder = (Button) findViewById(R.id.gonder_butonu);
        final TextView tutar = (TextView) findViewById(R.id.tutar_Textview);
        final Button arttir = (Button) findViewById(R.id.arttirbutonu);
        final Button eksilt = (Button) findViewById(R.id.eksiltbutonu);

        gonder.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                tutar.setText("" + (adet * 5));
            }
        });

        arttir.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                adet = adet+1;
                siparis.setText("" + adet);
            }
        });

        eksilt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                adet = adet-1;
                siparis.setText("" + adet);
            }
        });

    }
}


Yorumlar

Bu blogdaki popüler yayınlar

SQLite Değişken tipleri ve Komutları

Mobil Programlama - Not Hesaplama Uygulaması

Sistem Analizi ve Tasarımı Proje Sonu Bilgilendirme