buradan google dökümanına erişebilirsiniz.
Çoğu android destekli cihazlarda hareketi, yönledirmeyi ve çeşitli çevresel koşulları ölçen dahili sensörleri bulunmaktadır. Bu sensörler yüksek hasasiyet ve doğrulukla ham verileri sağlayabilirler. Üç boyutlu olarak hareket ve konumlandırmasını veya cihaz yakınındaki ortam hakkında bilgi elde edebiliriz. Örneğin oyun sırasında eğilme, sallama, döndürme veya salınım gibi hareketleri cihazın yerçekim sensörleri kullanarak öğrenilebilir. Benzer şekilde bir hava durumu uygulaması için sıcaklık ve nem ölçmek için kullanılarak çiy noktası hesaplanabilir ve raporlanabilir. Bir seyahat uygulaması, bir pusula yatağını bildirmek için jeomanyetik alan sensörü ve ivmeölçeri kullanabilir.
Android platformu üç geniş kategori sensörünü destekliyor:
Cihazda bulunan sensörlere erişebilir ve ‘Android sensor framework’ kullanarak ham sensör verileri edinebilirsiniz. ‘Android sensor framework’, çeşitli algılayıcılarla ilgili görevleri gerçekleştirmenize yardımcı olan birkaç sınıf ve arabirim sağlar.
Örneğin aşağıdakilerini yapmak için bu framework kullanabilirsiniz:
Sensörlere Giriş
Android framework, sensör çeşitlerinin birçoğuna erişebilmenizi sağlar. Bu sensörlerin bazıları donanım tabanlı bazıları ise yazılım tabanlıdır. Donanım tabanlı sensörler, bir el cihazında veya tablet cihazında bulunan fiziksel bileşenlerdir. İvme, jeomanyetik alan kuvveti veya açısal değişim gibi belirli çevresel özellikleri doğrudan ölçerek verileri bulurlar. Yazılım tabanlı sensörler, donanıma dayalı sensörleri taklit etmelerine rağmen fiziksel aygıt değildir. Yazılım tabanlı sensörler, verilerini bir veya daha fazla donanım tabanlı sensörden türetir ve bazen sanal sensörler veya sentetik sensörler olarak adlandırılır. Doğrusal hızlanma sensörü(linear acceleration sensor) ve yerçekimi sensörü(gravity sensor), yazılım tabanlı sensörlere örnektir. Android destekli cihazların hiçbiri her türlü algıyıcıya sahip değildir. Örneğin, el alınan cihazlarının çoğunda bir ivmeölçer ve bir manyetometre var, ancak daha az sayıda cihazın barometreleri veya termometreleri var.
Table 1. android platformu tarafından desteklenen sensörler türleri (Samsung telefonlarda aramaya gelip *#0*# tıklayıp arama yaptığınızda telefonunuzun desteklediği sensörleri görebilirsiniz.):
Sensor | Tipi | Tanımlanması | Formül | Kullanım Alanı |
---|---|---|---|---|
Donanım Tabanlı |
Yerçekimi kuvveti de dahil olmak üzere üç fiziksel eksende (x, y ve z) bir cihaza uygulanan m/s2 'deki ivme kuvvetini ölçer. |
a = F/m |
Motion detection (shake, tilt, etc.). |
|
Donanım Tabanlı |
Ortam sıcaklığını derece Celsius (° C) cinsinden ölçer. |
°F = °C × 1.8 + 32 |
Monitoring air temperatures. |
|
Yazılım Tabanlı veya Donanım Tabanlı |
Her üç fiziksel eksende (x, y, z) bir aygıta uygulanan m/s2 ‘deki yerçekimi kuvvetini ölçer. |
G = m.g |
Motion detection (shake, tilt, etc.). |
|
Donanım Tabanlı |
Bir aygıtın, üç fiziksel eksenin (x, y ve z) her biri etrafında rad / s hızını ölçer. Örneğin: bisiklet hızlı giderken dengeyi daha iyi sağlarız. Hareketin ne hızlı yapıldığına göre değişir. |
|
Rotation detection (spin, turn, etc.). |
|
Donanım Tabanlı |
Ortam ışık seviyesini (aydınlatma) lx cinsinden ölçer. |
E=4πI/4πr2 |
Controlling screen brightness. |
|
Yazılım Tabanlı veya Donanım Tabanlı |
Yerçekimi kuvveti hariç, üç fiziksel eksende (x, y ve z) bir aygıta uygulanan m/s2 'deki ivme kuvvetini ölçer. |
|
Monitoring acceleration along a single axis. |
|
Donanım Tabanlı |
Measures the ambient geomagnetic field for all three physical axes (x, y, z) in μT. |
|
Creating a compass. |
|
Yazılım Tabanlı |
Measures degrees of rotation that a device makes around all three physical axes (x, y, z). As of API level 3 you can obtain the inclination matrix and rotation matrix for a device by using the gravity sensor and the geomagnetic field sensor in conjunction with the getRotationMatrix() method. |
|
Determining device position. |
|
Donanım Tabanlı |
Measures the ambient air pressure in hPa or mbar. |
|
Monitoring air pressure changes. |
|
Donanım Tabanlı |
Measures the proximity of an object in cm relative to the view screen of a device. This sensor is typically used to determine whether a handset is being held up to a person's ear. |
|
Phone position during a call. |
|
Donanım Tabanlı |
Measures the relative ambient humidity in percent (%). |
|
Monitoring dewpoint, absolute, and relative humidity. |
|
Yazılım Tabanlı veya Donanım Tabanlı |
Measures the orientation of a device by providing the three elements of the device's rotation vector. |
|
Motion detection and rotation detection. |
|
Donanım Tabanlı |
Measures the temperature of the device in degrees Celsius (°C). This sensor implementation varies across devices and this sensor was replaced with the TYPE_AMBIENT_TEMPERATURE sensor in API Level 14 |
|
Monitoring temperatures |
Table 2. sensör platforma göre bulunması:
Sensor |
Android 4.0 |
Android 2.3 |
Android 2.2 |
Android 1.5 |
Yes |
Yes |
Yes |
Yes |
|
Yes |
n/a |
n/a |
n/a |
|
Yes |
Yes |
n/a |
n/a |
|
Yes |
Yes |
n/a1 |
n/a1 |
|
Yes |
Yes |
Yes |
Yes |
|
Yes |
Yes |
n/a |
n/a |
|
Yes |
Yes |
Yes |
Yes |
|
Yes2 |
Yes2 |
Yes2 |
Yes |
|
Yes |
Yes |
n/a1 |
n/a1 |
|
Yes |
Yes |
Yes |
Yes |
|
Yes |
n/a |
n/a |
n/a |
|
Yes |
Yes |
n/a |
n/a |
|
Yes2 |
Yes |
Yes |
Yes |