Bluetooth Manager Kullanımı |
Android Programlama - 10
Hemen hemen çoğu akıllı telefonlarda bluetooth teknolojisi bulunmaktadır. Telefonların bluetooth teknolojisi kullanılarak müzik, resim, dosya gibi paylaşımları hatta bilgisayardan veri aktarımı yapılabilir. Peki bu teknolojinin Android telefonları için durumu nasıl ya da bu teknoloji basit anlamda nasıl kodlanır gibi soruların cevabını bu yazımızda irdeleyeceğiz.
27.02.2015 tarihli yazı 14175 kez okunmuştur.
Bluetooth teknolojisi çıktığından beri çok yaygın bir şekilde gerek akıllı telefonlarda gerek bilgisayarlarda gerekse tabletlerde kullanılmaya başlandı. Bu yazımızda temel seviyede bluetooth açmayı, kapatmayı ve görünür yapmayı kodlayacağız.
İlk olarak proje oluşturup activity_main.xml içeriğine üç adet buton sürükleyip bırakılmalıdır. Bu butonların ismi sırasıyla "Aç", "Kapat" ve "Görünür Yap" olarak ayarlanmalıdır. activity_main.xml dosyası ayarlandıktan sonra MainActivity.java sınıfına kodlama yapmak için geçilebilir. MainActivity.java sınıfında yapılan tanımlamalar aşağıdaki şekildeki gibidir.
Şekil 1: MainActivity.java Tanımlamalar
►İlginizi Çekebilir : Tek Listener İle Butonları Kontrol Etme | Android Programlama - 9
Tanımlama olarak butonları tanıttıktan sonra farklı bir tanımlama daha yapılmıştır. Android programlamada bluetooth kullanmak için Bluetooth Adapter kullanılmaktadır. Bu yüzden "BluetoothAdapter adapter;" değişken tanımlaması yapılmıştır. Butonların kimliklerini bağladıktan sonra "adapter = BluetoothAdapter.getDefaultAdapter();" komutu kullanılmıştır. Bu satırda yukarıda tanımı yapılan "adapter" kısmına gerekli olan default değer atanmıştır. Tıklama olaylarında Bluetooth Manager'ın açılması, kapanması ve görünür olması için yazılan kod parçası aşağıdaki gibidir.
Şekil 2: MainActivity.java Tıklama Olayları
►İlginizi Çekebilir : İyi Bir Android Geliştiricisi Nasıl Olunur?
İlk olarak onClick fonksiyonu içine hangi butonun basıldığını anlamak için switch-case yapısı yazılmıştır. Switch içine "v.getId()" yazılarak butonların kimlikleri alınmıştır. İlk kullanılan durum "Aç" butonuna basılma durumudur. Bu durumda öncelikle cihazda bluetooth olup olmadığı kontrol edilmiştir. Eğer yoksa Toast ile "Bluetooth Aygıtı Bulunumadı" mesajı dönderilmiştir. Eğer aygıt varsa Intent ile bu aygıt "Enable" olarak yani açılabilir olarak ayarlanmıştır. Bu durumun son satırında ise Intent aktivitesi başlatılmıştır.
İkinci durumda "buton3" kimliği kullanılarak aygıtın görünür olarak ayarlanması sağlanmıştır. Kodlamada ezber olmaması amacıyla butonları tıklama olayı sırasıyla gidilmemiştir. Bu duruma dikkat edilmelidir. Aksi halde kapat butonuna basıldığında bluetooth görünür olarak ayarlanır. Intent nesnesinin parametresine "BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE" eklenmiştir. Bu parametre kullanılarak bluetooth görünür olarak ayarlanacaktır. Bu kod yazıldıktan sonra intent aktivitesi başlatılmıştır ve Toast ile mesaj verilmiştir.
Son durumda ise kapatma işlemi yapılacaktır. Kapatma işlemini gerçekleştirebilmek için öncelikle bluetooth aygıtının açık olup olmadığı kontrol edilmelidir. İlk if bloğu bu durum için kodlanmıştır. Eğer açıksa "Kapatıldı" diye mesaj verilmektedir. Eğer açık bir aygıt yoksa Toast ile "Aygıt Yok" mesajı verilmiştir.
Butonlara tıklama olayları yazıldıktan sonra son olarak bir ekleme daha yapılması gerekmektedir. Bu ekleme Manifest.xml içerisine yapılmaktadır. Manifest.xml içine "<uses-permission android:name="android.permission.BLUETOOTH"" ve "<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"" satırları eklenmelidir. Bu satırlarla beraber telefonda hazır halde bulunan bluetooth aygıtı üzerinde çalışmak için izin istenmektedir. Bu satırlar kesinlikle yazılmalıdır. Aksi halde uygulamamız hata fırlatır. Uygulamanın çalışır hali aşağıdaki şekildeki gibidir.
İkinci durumda "buton3" kimliği kullanılarak aygıtın görünür olarak ayarlanması sağlanmıştır. Kodlamada ezber olmaması amacıyla butonları tıklama olayı sırasıyla gidilmemiştir. Bu duruma dikkat edilmelidir. Aksi halde kapat butonuna basıldığında bluetooth görünür olarak ayarlanır. Intent nesnesinin parametresine "BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE" eklenmiştir. Bu parametre kullanılarak bluetooth görünür olarak ayarlanacaktır. Bu kod yazıldıktan sonra intent aktivitesi başlatılmıştır ve Toast ile mesaj verilmiştir.
Son durumda ise kapatma işlemi yapılacaktır. Kapatma işlemini gerçekleştirebilmek için öncelikle bluetooth aygıtının açık olup olmadığı kontrol edilmelidir. İlk if bloğu bu durum için kodlanmıştır. Eğer açıksa "Kapatıldı" diye mesaj verilmektedir. Eğer açık bir aygıt yoksa Toast ile "Aygıt Yok" mesajı verilmiştir.
Butonlara tıklama olayları yazıldıktan sonra son olarak bir ekleme daha yapılması gerekmektedir. Bu ekleme Manifest.xml içerisine yapılmaktadır. Manifest.xml içine "<uses-permission android:name="android.permission.BLUETOOTH"" ve "<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"" satırları eklenmelidir. Bu satırlarla beraber telefonda hazır halde bulunan bluetooth aygıtı üzerinde çalışmak için izin istenmektedir. Bu satırlar kesinlikle yazılmalıdır. Aksi halde uygulamamız hata fırlatır. Uygulamanın çalışır hali aşağıdaki şekildeki gibidir.
Şekil 3: Uygulama Çıktısı
►İlginizi Çekebilir : Android Lollipop Tabanlı Paranoid Android 5.0 Alpha 1
Uygulamanın çalışır haldeki şekline bakılacak olunursa eğer "Aç" butonuna basıldığı zaman "Bluetooth Aygıtı Bulunamadı" mesajı alınmıştır. Genymotion'da çalıştırdığımız için böyle bir mesaj aldık. Telefona projenin ".apk" dosyası atılırsa eğer sorunsuz bir şekilde çalışacağı görülecektir. Ayrıca uygulama açıldığında "Kapat" butonuna tıklanırsa durduruldu hatası alınmaktadır. Bunun sebebi yine Genymotion'da çalıştırıldığı içindir. Telefonda sorunsuz bir şekilde uygulama çalışmaktadır.
YORUMLAR
Aktif etkinlik bulunmamaktadır.
- Dünyanın En Görkemli 10 Güneş Tarlası
- Dünyanın En Büyük 10 Makinesi
- 2020’nin En İyi 10 Kişisel Robotu
- Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı
- Üretimin Geleceğinde Etkili Olacak 10 Beceri
- Olağan Üstü Tasarıma Sahip 5 Köprü
- Dünyanın En İyi Bilim ve Teknoloji Müzeleri
- En İyi 5 Tıbbi Robot
- Dünyanın En Zengin 10 Mühendisi
- Üretim için 6 Fabrikasyon İşlemi
- DrivePro Yaşam Döngüsü Hizmetleri
- Batarya Testinin Temelleri
- Enerji Yönetiminde Ölçümün Rolü: Verimliliğe Giden Yol
- HVAC Sistemlerinde Kullanılan EC Fan, Sürücü ve EC+ Fan Teknolojisi
- Su İşleme, Dağıtım ve Atık Su Yönetim Tesislerinde Sürücü Kullanımı
- Röle ve Trafo Merkezi Testlerinin Temelleri | Webinar
- Chint Elektrik Temel DIN Ray Ürünleri Tanıtımı
- Sigma Termik Manyetik Şalterler ile Elektrik Devrelerinde Koruma
- Elektrik Panoları ve Üretim Teknikleri
- Teknik Servis | Megger Türkiye
ANKET