#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.

Şunlar da ilginizi çekebilir

4 yorum

  • hpg_disco
    3 Şubat 2014 at 22:45

    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 ?

    • Mustafa Demir
      4 Şubat 2014 at 03:25

      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.

      • hpg_disco
        4 Şubat 2014 at 12:31

        Ş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.

        • MUSTAFA DEMİR
          4 Şubat 2014 at 12:38

          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.

LEAVE A COMMENT