#17 – Android Titreşim Sınıfı ve Kullanımı
Merhaba, bu dersimizde Android teki ‘Vibrator’(titreştirici olarak Türkçeye çevirebiliriz) sınıfından bahsedicem ve uygulamalı bir örnek ile kullanımını anlatmaya çalışıcağım.
[wpdm_file id=5]
Vibrator Sınıfı
Bu sınıf cihazdaki titreştiriciyi çalıştırır. Eğer başlattığımız bir işlem biterse ya da bu işlemden çıkılırsa bu işlemle birlikte başlattığımız titreşim de duracaktır. Cihazdaki titreştiricinin durumunu öğrenmek için şu komutu kullanmamız yeterli olacaktır.
getSystemService(Context.VIBRATOR_SERVICE);
Android teki vibratöre ulaşabilmemiz için AndroidManifest.xml dosyasına şu izin kodunu eklememiz gerekir:
<uses-permission android:name="android.permission.VIBRATE"/>
Peki izin aldık, durumunu da sorduk, titreşimi nasıl başlatıcaz?
Titreşimi başlatmak için tek yapmanız gereken öncelikle bir Vibrator objesi oluşturmak sonra da ‘vibrate(süre)’ komutunu kullanmaktır. Süreyi ms cinsinden giriniz. Uygulama örneğimizi kodlamaya başlayalım.
Öncelikle arayüzü tasarlayalım. Bir butonumuz ve altında da bir tane fotoğraf olsun. Arkaplan rengi griye yakın bir renk olsun. Bunlar için aşağıdaki kodu activity_main.xml dosyasına ekleyiniz.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#d2d2d2" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:id="@+id/btn_titresim" android:layout_width="120dp" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="10dp" android:background="#1b8bb4" android:onClick="baslat_fonk" android:text="Titreşim" android:textColor="#ffffff" /> <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btn_titresim" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:src="@drawable/arkaplan" /> </RelativeLayout>
Burda kullandığım fotoğrafı kodları indir linkinden indirdiğiniz dosyada bulabilirsiniz.
Bu adımdan sonra AndroidManifest.xml dosyasına aşağıdaki izin kodunu ekliyoruz.
<uses-permission android:name="android.permission.VIBRATE"/>
Artık MainActivity.java dosyasının kodlarını yazmaya başlayabiliriz.
MainActivity.java kodlar:
package com.androidevreni.titresimandroid; import android.os.Bundle; import android.os.Vibrator; import android.app.Activity; import android.content.Context; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button titrestir = (Button) findViewById(R.id.btn_titresim); titrestir.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); vib.vibrate(500); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
Titreşim kısmı için açıklamaları yazının başında yaptım. Buton ve ona ait setOnClickListener metodunu daha önceki derslerimizde anlatmıştım. Kolay gelsin.
Selam ben bir tv uygulaması yazmak istiyorum fakat yeterince bilgim olmamasına rağmen şuan piyasada ki uygulamalardan daha üstün fikrim var.Kimsede olmayan stream linkleri elimde bulunmakta fakat bunları kullanamıyorum.Bu konuda beni yönlendirebilirmisiniz ?
merhaba, kendiniz uygulama yazamıyorsanız en iyisi başka birine bir miktar ücretle yazdırmanızdır. Fikriniz gerçekten iyiyse buna değer. Freelancer ı tavsiye ederim. Kolay gelsin.
Şuan Android yazmak için yeterli java bilgim yok fakat html & css bilgim bulunmukt kendim bir yere kadar öğrenebilir sanırım fakat yinede dediğim gibi android için player gibi kodlar biraz zor bulunmakta.Bu yüzden sizi sıkı takip edeceğim sanırım
Umarım ders anlatımlarınız aynı güzellikte ve sıklıkta devam eder.İyi günler.
Dersler tabiki devam edecek ancak AndroidEvreni’nin desteğe ihtiyacı war. Beğendiğiniz derslerimizi paylaşarak bize destek olabilirsiniz. Blogumuzun tanınması ve ziyaretçilerinin artması ekibimizin motivasyonunu artıracak ve bunlar da derslerin artmasını sağlayacaktır.