Android Adım Sayar Uygulaması Yapımı

Rick Grimes

Kadim Üye
4 Şub 2015
5,959
19
TURAN
Android kitkat versiyonu ile gelen TYPE_STEP_COUNTER sensörü özelliği ile artık adım sayar uygulamasını kolaylıkla yapabilirsiniz. Bunun için android'in sensör servislerini kullanmamız yeterli olacaktır. Örnek bir uygulama ile olayı kavrayalım. Örnek layout dosyamız;

Kod:
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
              android:orientation="vertical" 
              android:gravity="center" 
              android:layout_width="match_parent" 
              android:layout_height="match_parent"> 
    <TextView android:textColor="@android:color/white" 
              android:layout_width="wrap_content" 
              android:layout_height="wrap_content" 
              android:text="Adım sayar çalışıyor:"/> 
    <TextView android:id="@+id/count" 
              android:textSize="36dp" 
              android:textColor="@android:color/white" 
              android:layout_width="wrap_content" 
              android:layout_height="wrap_content"/> 
</LinearLayout>

Java dosyamız;


Kod:
package com.starboardland.pedometer; 

import android.app.Activity; 
import android.content.Context; 
import android.hardware.*; 
import android.os.Bundle; 
import android.widget.TextView; 
import android.widget.Toast; 

public class MainActivity extends Activity implements SensorEventListener { 

    private SensorManager sensorManager; 
    private TextView count; 
    boolean activityRunning; 

    @Override 
    public **** onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        count = (TextView) findViewById(R.id.count); 

        sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); 
    } 

    @Override 
    protected **** onResume() { 
        super.onResume(); 
        activityRunning = true; 
        Sensor countSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER); 
        if (countSensor != null) { 
            sensorManager.registerListener(this, countSensor, SensorManager.SENSOR_DELAY_UI); 
        } else { 
            Toast.makeText(this, "Count sensor not available!", Toast.LENGTH_LONG).show(); 
        } 

    } 

    @Override 
    protected **** onPause() { 
        super.onPause(); 
        activityRunning = false; 
        // if you unregister the last listener, the hardware will stop detecting step events 
//        sensorManager.unregisterListener(this);  
    } 

    @Override 
    public **** onSensorChanged(SensorEvent event) { 
        if (activityRunning) { 
            count.setText(String.valueOf(event.values[0])); 
        } 

    } 

    @Override 
    public **** onAccuracyChanged(Sensor sensor, int accuracy) { 
    } 
}

Örnekte de gördüğünüz gibi java dosyamıza SensorEventListener'ı implements ederek kolaylıkla sensörü kullanabiliyoruz.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.