android-cihazinizda-isinize-yarayacak-kodlar

Android Programlama başlarda benim gözümü epeyce korkutan bir alandı.Fakat korkunuz asla yeni şeyler öğrenmenizin ve merakınızın önüne geçmemeli. Başlarda korkutucu gibi gelse de gerçekten oldukça basit ve zevkli bir alan olduğunu söyleyebilirim. Android’ in biz elektronikçileri ilgilendiren kısmı, tabi ki donanımsal kısmıdır. Geliştirdiğiniz sistemin Android’ e entegrasyonu, sistemin kullanışlılığı açısından oldukça öneme sahip. Çünkü artık herkes bir android telefona sahip.

Bu yazıyı okumadan önce Android Stüdio platformunu tanıtan başa bir kaynağa göz atmanız ya da şu yazıyı okumanız verimli olacaktır;

http://elektronikhobi.net/android-studio-ile-android-uygulama-yazmak/

Android, Google öncülüğündeki Open Handset Alliance ismindeki organizasyon tarafından geliştirilen Linüx tabanlı bir işletim sistemidir.  Bu işletim sistemi üzerinde yazılan uygulamalar için Native olan ve olmayan uygulamaların ayrımından söz edebiliriz. Native uygulamalar, söz konusu sistemin doğal diliyle yazılmış ve sistemin her türlü donanımsal ve yazılımsal özelliklerine erişebilen uygulamalardır.  Android işletim sistemi için kullanılan doğal dil, Java dır. Bu yüzden Native bir uygulama yazmak için Java dilinin kullanılması öneriliyor. Ayrıca Android programlamaya başlamadan önce java bilenler oldukça avantajlı bir pozisyonda oluyor.

Java dili nesne tabanlı olduğu için bu dilde aynı bir integer sayı tanımlar gibi nesneler tanımlayabiliyoruz. Mesela şöyle bir örnek verecek olursam;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.widget.Button; // buton nesnesini içeren kütüphane

public class MyAndroidAppActivity extends Activity {

	Button button; // buton nesnesi tanımlanıyor

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

button = (Button) findViewById(R.id.button1); // butonun xml ID si alınıyor

		button.setOnClickListener(new OnClickListener() { // eğer bu ID deki butona basılırsa

			@Override
			public void onClick(View arg0) {

			 // bir şeyler yaptır

			}

		});


		
	}

	
	}

}

Burada gördüğünüz üzere ilk önce buton nesnesini içeren kütüphaneyi ekledim, bir buton tanımladım ve tıklanmasını istediğim butonun ID si ile tıklandığında işlenmesi gereken fonksiyonu tanımladım.  Bu programın sadece java kısmı idi. Androd’i programlama da java yanında görsellik için “xml” kullanılıyor. Bu kısımda ise kullanılan nesnelerin görsel özellikleri tanımlanıyor. Mesela yukarıdaki programın xml kodları şu şekilde;

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1" // Buton ID si. Bu ID yi java kodlarında kullanmak için referans alıyoruz.
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button - Go to mkyong.com" />
    
</LinearLayout>

Burada gördüğünüz gibi buton etiketiyle yazılan kod parçası butonun görsel özelliklerini tanımlıyor.

Telefon donanımları da java dilinde birer nesnedir. Bu yüzden donanımları da programda birer nesne gibi tanımlıyoruz. Mesela telefonun Bluetooth ismini ve adresini ekrana yazmak istersek “BluetoothAdapter” sınıfındaki nesneleri ve fonksiyonları kullanıyoruz. Şu şekilde;

BluetoothAdapter adapter=BluetoothAdapter.getDefaultAdapter();//Burada bir Bluetooth Adapter nesnesi oluşturuyoruz

if(adapter!=null) Eğer nesne oluşturulamıyorsa

{

 if(adapter.isEnabled()) //BU nesne yani donanım açıksa

{

 this.setTitle(adapter.getAdress()+":"+adapter.getName()); // Cihazın adresi ve ismi uygulama başlığına yazdırılıyor

}

else

{

 this.setTitle("Bluetooth Kapalı");

}

}

else

{

this.setTitle("Bluetooth Desteklenmiyor");

}

Bu programda oluşturduğumuz adapter nesnesi ile bu sınıf içerisinde bulunan çeşitli fonksiyonları kullandık ki bu fonksiyonlardan ilki getDefaultAdapter() fonksiyonu idi. Bu fonksiyon, programın üzerinde çalıştığı cihazın bluetooth donanımını direk olarak programa adapte etmeye yarıyor.  getAdress() ve getName() fonksiyonları ise isminden de anlaşılacağı üzere donanımın adres ve ismini çağırıyor.

Bluetooth sınıfını ve kütüphanesi kullanmak için yazılımsal olarak bazı izinlerin de alınması gerekiyor. Bu yüzden AndroidManifest.xml kodlarının arasına şu iki kodu da eklememiz gerekiyor;

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>

Bu yazımda kısaca bluetooth adapter nesnesi oluşturmaktan bahsettim bir sonraki yazımda bluetooth tarama ve erişim ile ilgili konulara değineceğim.

indir