Cihaz üreticileri genellikle her cihaz için oluşturulan özel öğelerin sahipleri olarak kabul edilir. Bu nedenle, mühendislik çalışmaları genellikle cihaz bazında odaklanır ve ekosistemdeki diğer cihazların tutarlılığı için çok az çaba harcanır.
Geliştiriciler ise tam tersine, her cihazın teknik özelliklerinden bağımsız olarak ekosistemdeki tüm Android telefonlarda çalışacak uygulamalar geliştirmeye çalışır. Yaklaşımdaki bu farklılık, parçalanma sorununa neden olabilir. Örneğin, belirli telefonların donanım özellikleri uygulama geliştiricileri tarafından belirlenen beklentilerle eşleşmez. Bu nedenle, dokunma API'leri bazı Android telefonlarda çalışırken bazılarında çalışmıyorsa sonuç tutarsız bir ekosistem olur. Bu nedenle, donanım yapılandırması, üreticilerin Android dokunma API'lerini her cihaza uygulayabilmesini sağlamada kritik bir rol oynar.
Bu sayfada, Android dokunma API'lerinin en iyi şekilde kullanılması için donanım uyumluluğunu ayarlamayla ilgili adım adım bir yapılacaklar listesi sağlanmaktadır.
Aşağıdaki resimde, cihaz üreticileri ile geliştiriciler arasında ortak bilgi oluşturma gösterilmektedir. Bu, uyumlu bir ekosistem oluşturmada kritik bir adımdır:
Şekil 1. Cihaz üreticileri ile geliştiriciler arasında bilgi oluşturma
Dokunma teknolojisi uygulama kontrol listesi
-
- Dokunma teknolojisini uygulamak için kullanılan sabitlerin listesi.
-
- HAL kompozisyon primitifleri için uygulama kılavuzu.
HAL ile API arasında sabitleri eşleme
- Herkese açık API sabitleri (çerçevede yer tutucular olarak adlandırılır) ile yer tutucuları uygulayan HAL sabitleri arasındaki eşleme önerileri.
- Bu süreç hakkında daha fazla bilgi edinmek için Önerilen eşlemeye rehberlik edecek tasarım ilkeleri başlıklı makaleyi inceleyin.
-
- Hedef dokunma efektleriyle ilgili talimatlar. Donanımınızda hızlı kontroller yapmak için bu talimatları uygulayın.
Bu adımların her birini aşağıda daha ayrıntılı olarak inceleyeceğiz.
1. adım: Sabitler uygulayın
Cihazınızın dokunma teknolojisini uygulamak için minimum gereksinimleri karşılayıp karşılamadığını belirlemek üzere aşağıdaki kontrolleri yapın:
Şekil 2. Efektleri uygulama
Şekil 3. İlkelleri uygulama
Aşağıdaki dokunma sabitlerinin uygulama durumunu kontrol edin.
Dokunma teknolojisi sabitleri | Konumlar ve özetler |
---|---|
EFFECT_TICK , EFFECT_CLICK ,
EFFECT_HEAVY_CLICK ,
EFFECT_DOUBLE_CLICK |
VibrationEffect sınıfVibrationEffect içindeki dokunma sabitleri, giriş etkinlikleri kavramı içermez ve kullanıcı arayüzü öğeleri içermez. Sabitler,
createPredefined() tarafından çağrılan EFFECT_CLICK ve EFFECT_HEAVY_CLICK gibi enerji düzeyi kavramlarını içerir. |
Aşağıda açıklanan alternatif titreşimler, VibrationEffect
sabitlerini uygulamayan cihazlarda gerçekleştirilir. Bu yapılandırmaları, bu tür cihazlarda en iyi performansı sağlayacak şekilde güncellemeniz önerilir.
EFFECT_CLICK
VibrationEffect.createWaveform
ile oluşturulan dalga biçimi titreşimi veframeworks/base/core/res/res/values/config.xml##config_virtualKeyVibePattern
'da yapılandırılmış zamanlamalar.EFFECT_HEAVY_CLICK
VibrationEffect.createWaveform
ile oluşturulan dalga biçimi titreşimi veframeworks/base/core/res/res/values/config.xml##config_longPressVibePattern
'te yapılandırılmış zamanlamalar.EFFECT_DOUBLE_CLICK
VibrationEffect.createWaveform
ile oluşturulan dalga biçimi titreşimi ve zamanlamalar (0, 30, 100, 30).EFFECT_TICK
VibrationEffect.createWaveform
ile oluşturulan dalga biçimi titreşimi veframeworks/base/core/res/res/values/config.xml##config_clockTickVibePattern
'da yapılandırılmış zamanlamalar.
Şekil 4. Geri bildirim sabitlerini uygulama
Aşağıdaki herkese açık geri bildirim sabitlerinin durumunu kontrol edin.
Dokunma teknolojisi sabitleri | Konumlar ve özetler |
---|---|
CLOCK_TICK , CONTEXT_CLICK , KEYBOARD_PRESS ,
KEYBOARD_RELEASE , KEYBOARD_TAP , LONG_PRESS ,
TEXT_HANDLE_MOVE , VIRTUAL_KEY ,
VIRTUAL_KEY_RELEASE , CONFIRM , REJECT ,
GESTURE_START , GESTURE_END |
HapticFeedbackConstants sınıfı HapticFeedbackConstants 'deki dokunma sabitleri, performHapticFeedback() tarafından çağrılan KEYBOARD_PRESS ve KEYBOARD_RELEASE gibi belirli kullanıcı arayüzü öğeleriyle giriş etkinliklerine yardımcı olur. |
2. Adım: Temel öğeleri uygulayın
VibrationEffect.Composition
içindeki dokunma duyusu ilkelleri, geliştiricilerin addPrimitive(int primitiveId, float scale, int delay)
aracılığıyla kullanabileceği ölçeklenebilir yoğunluğa sahiptir.
İlkeler iki kategoriye ayrılabilir:
Kısa primitifler: Genellikle 20 ms'den kısa süreli primitifler. Bunlar
CLICK
,TICK
veLOW_TICK
'dir.Titreşim primitifleri: Genellikle kısa primitiflerden daha uzun süreli olan, değişen genlik ve frekansa sahip primitifler. Bunlar
SLOW_RISE
,QUICK_RISE
,QUCK_FALL
,THUD
veSPIN
.
Kısa primitifler
Kısa primitifler, titreşim motoru çıkışı ivme profili ile açıklanabilir. Kullanılan mutlak sıklık, aktüatörün rezonans frekansına bağlı olarak her primitif için değişir. Donanım kurulumu ve çıkışı ölçme araçları hakkında daha fazla bilgi için Test ekipmanını kurma başlıklı makaleyi inceleyin.
Kısa titreşimler için değerli bir kalite metriği, Şekil 5'te gösterilen darbe/zil oranıdır (PRR). PRR, genliğin zirve genliğinin% 10'una düştüğü süre aralığı içindeki sinyal tarafından tanımlanan ana darbe ile genliğin zirve genliğinin% 10'undan zirve genliğinin% 1'inden azına düştüğü sinyal tarafından tanımlanan halka darbesi arasındaki oran olarak tanımlanır. PRR hakkında daha fazla bilgi için Dalgalı formunu analiz etme başlıklı makaleyi inceleyin. Sonuçları analiz etme ve karşılaştırma hakkında daha fazla bilgi için Performans haritasını kullanarak sonuçları karşılaştırma başlıklı makaleyi inceleyin.
Şekil 5. Nabız/zil sesi oranı tanımı
Kullanıcı girişi geri bildirimi olarak kısa primitifler uygulayın veya yumuşak dokular oluşturmak için daha uzun kompozisyonlarda oynatın. Bu, genellikle sık sık tetiklendikleri ve arka arkaya hızlı bir şekilde oynatıldıkları anlamına gelir. Tek bir kısa primitifin algılanan yoğunluğu, daha büyük efekt yoğunluğunu artırabilir. Bu nedenle, tek bir onay işareti veya düşük onay işareti ilkelini daha büyük bir kompozisyonla (ör. art arda 100 onay işareti) kalibre edin.
Tıklama primitifi
Tıklama ilkel öğesi, genellikle kısa sürede maksimum çıkışa ulaşmak için cihazın rezonans frekansına yakın bir yerde çalışan güçlü ve net bir efekttir. Diğer primitiflerden daha güçlü ve daha derin olup maksimum yoğunlukta çalışır.
Motorun kısa sürede hızlanması ve yavaşlaması için varsa başlangıçta motor aşırı hızını, sonunda ise etkin frenlemeyi kullanın. Bazı motorlarda sinüs dalgası yerine kare dalga kullanmak daha hızlı hızlanma sağlayabilir. Şekil 6'da, tıklama bileşeni için örnek bir çıkış hızlandırma profili gösterilmektedir:
Şekil 6. Tıklama ilkel öğesi için çıkış hızlandırma profili örneği
Parametre | Yönerge |
---|---|
Süre |
Hedef: 12 ms Sınır: < 30 ms |
En yüksek çıkış hızlandırması |
Hedef: 2 G Sınır: > 1 G |
Sıklık | Yaklaşık olarak rezonans frekansında |
Kene ilkel öğesi (hafif kene)
Tik primitifi, genellikle daha yüksek bir frekans aralığında çalışan keskin ve kısa bir efekttir. Bu ilkel, kısa bir kuyruğu olan daha yüksek bir sıklıktaki orta yoğunlukta bir tıklama olarak da açıklanabilir. Motorun aşırı hızını kullanarak veya ilk başlangıç için kare dalga kullanarak kısa bir yükselme süresine ulaşmak ve ofsette etkin frenleme yapmak için de aynı kılavuz geçerlidir. Şekil 7'de, tik primitifi için örnek bir çıkış hızlandırma profili gösterilmektedir:
Şekil 7. Tik primitifi için çıkış hızlandırma profili örneği
Parametre | Yönerge |
---|---|
Süre |
Hedef: 5 ms Sınır: < 20 ms |
En yüksek çıkış hızlandırması |
Hedef: Sınır: 0,5 GB ile 1 GB arasında |
Sıklık |
Hedef: 2x rezonans frekansı Sınır: < 500 Hz |
Düşük onay işareti ilkel
Düşük tik primitifi, hafif tikin daha yumuşak ve zayıf bir sürümüdür. Etkiye daha fazla hacim kazandırmak için daha düşük bir frekans aralığında çalışır. Bu primitif, dinamik geri bildirim için tekrar tekrar kullanılması amaçlanan, daha düşük bir sıklıktaki orta yoğunlukta bir tıklama olarak da açıklanabilir. Motor aşırı hızlandırması veya ilk başlangıç için kare dalga kullanarak kısa bir yükselme süresine ulaşmak için de aynı yönergeler geçerlidir. Şekil 8'de, düşük tıklama primitifi için örnek bir çıkış hızlandırma profili gösterilmektedir:
Şekil 8. Düşük tik primitifi için çıkış hızlandırma profili örneği
Parametre | Yönerge |
---|---|
Süre |
Hedef: 12 ms Sınır: < 30 ms |
En yüksek çıkış hızlandırması |
Hedef: Sınır: 0,2 ila 0,5 GB |
Sıklık |
Hedef: 2/3 rezonans frekansı Sınır: < 100 Hz |
Chirp temel öğeleri
Chirp primitifleri, voltaj seviyesi ve titreşim sıklığı için giriş sinyalleriyle açıklanabilir. Motorun farklı frekans aralıklarında sağlayabileceği ivme, aktüatörün frekans yanıt eğrisine bağlı olarak değişir. Sıklık aralıkları ve voltaj seviyelerinin cihaza göre ayarlanması gerekir.
Yavaş artış temel öğesi
Yavaş artış, yumuşak bir başlangıç ve tarama boyunca sürekli artan titreşim yoğunluğuyla yukarı doğru yavaş bir genlik ve frekans taramasıdır. Hem genlik hem de sıklık için tutarlı bir tarama yapılarak, rezonans dışında çalışan daha düşük bir sıklık aralığı kullanılarak uygulanabilir. Şekil 9'da, bu uygulama için giriş parametreleri ve örnek bir çıkış hızlandırma profili gösterilmektedir. (Kırmızı çizgi, soldaki genlik etiketleriyle eşleşir ve titreşim genliğinin zamanla nasıl değiştiğini gösterir. Mavi çizgi, sağdaki frekans etiketleriyle eşleşir ve titreşim frekansının zaman içinde nasıl değiştiğini gösterir.)
Şekil 9. Yavaş artış ilkel işlevi için giriş parametreleri ve çıkış hızlandırma profili örneği
Motorun frekans yanıtı sınırlıysa (rezonans frekansından yeterince güçlü değilse) alternatif bir uygulama, rezonans frekansının 1/2 ila 1 katı arasında bir sinüs taramasıdır. Motor rezonansı, sonunda sinyal zirvesine ulaşılmasına katkıda bulunur.
Parametre | Yönerge |
---|---|
Süre |
Hedef: 500 ms Tolerans: 20 ms |
En yüksek çıkış hızlandırması |
Hedef: 0,5 G Sınır: 0,5 GB ile 1 GB arasında |
Sıklık |
Hedef: Rezonans frekansının 1/2 ila 2/3'ü Alternatif: 1/2 ile rezonans frekansı |
Hızlı artış temel öğesi
Hızlı artış, yumuşak başlangıç ve tarama boyunca sürekli artan titreşim yoğunluğuyla yukarı doğru daha hızlı bir genlik ve frekans taramasıdır. Çıkış ivmesi ve titreşim frekansı hedefleri, daha kısa sürede elde edilen yavaş artış ilkeliyle aynı olmalıdır. Şekil 10'da, titreşim giriş parametreleri ve yavaş artış ilkel işlevi için örnek bir çıkış ivme profili gösterilmektedir. (Kırmızı çizgi, soldaki genlik etiketleriyle eşleşir ve titreşim genliğinin zamanla nasıl değiştiğini gösterir. Mavi çizgi, sağdaki frekans etiketleriyle eşleşir ve titreşim frekansının zaman içinde nasıl değiştiğini gösterir.)
Şekil 10. Hızlı artış ilkel işlevi için giriş parametreleri ve çıkış ivme profili örneği
Parametre | Yönerge |
---|---|
Süre |
Hedef: 150 ms Tolerans: 20 ms |
En yüksek çıkış hızlandırması |
Hedef: Sınır: |
Sıklık |
Hedef: Alternatif: |
Hızlı düşme temel öğesi
Hızlı düşüş, yumuşak bir başlangıçla aşağı doğru hızlı bir genlik ve frekans süpürme hareketidir. Motor, en yüksek çıkış hızına ulaşmak için hızlanırken başlangıç noktası olarak daha yüksek bir sıklık kullanabilirsiniz. Frekans, yükselme süresi boyunca bile tarama boyunca sürekli olarak azalmalıdır. Şekil 11'de, bu uygulama için giriş parametreleri ve örnek bir çıkış hızlandırma profili gösterilmektedir. (Kırmızı çizgi, soldaki genlik etiketleriyle eşleşir ve titreşim genliğinin zamanla nasıl değiştiğini gösterir. Mavi çizgi, sağdaki frekans etiketleriyle eşleşir ve titreşim frekansının zaman içinde nasıl değiştiğini gösterir.)
Şekil 11. Hızlı düşüş ilkel öğesi için giriş parametreleri ve çıkış hızlandırma profili örneği
Parametre | Yönerge |
---|---|
Süre |
Hedef: 100 ms Tolerans: 20 ms |
En yüksek çıkış hızlandırması |
Hedef: 1 G Sınır: 0,5 ile 2 GB arasında |
Sıklık |
Hedef: Rezonans frekansının 2 ila 1 katı |
Vurma sesi temel öğesi
Gürültü, içi boş ahşabı tıklatmanın fiziksel hissini taklit eden, tok ve düşük bir vurmalı efekttir. Bu temel öğe, efekte daha fazla hacim sağlamak için düşük tik temel öğesine benzer şekilde düşük bir frekans aralığında çalışır. Vurma sesi ilkelini, daha düşük bir frekans aralığında (tercihen 100 Hz'den az) aşağı doğru bir genlik ve frekans taraması olarak uygulayabilirsiniz. Şekil 12'de, bu uygulama için giriş parametreleri ve örnek bir çıkış hızlandırma profili gösterilmektedir. (Kırmızı çizgi, soldaki genlik etiketleriyle eşleşir ve titreşim genliğinin zamanla nasıl değiştiğini gösterir. Mavi çizgi, sağdaki frekans etiketleriyle eşleşir ve titreşim frekansının zaman içinde nasıl değiştiğini gösterir.)
Şekil 12. Thud ilkel öğesi için giriş parametreleri ve çıkış hızlandırma profili örneği
Motorun frekans yanıtı sınırlıysa alternatif bir uygulama, rezonans frekansında tam yoğunlukta bir sürücü sinyali ile başlamak ve algılanmaya devam edebilecek en düşük frekansa düşürmektir. Bu yaklaşım, titreşimin hissedilebilmesi için düşük frekansta sürücü sinyali yoğunluğunun artırılması gerekebilir.
Parametre | Yönerge |
---|---|
Süre |
Hedef: 300 ms Tolerans: 20 ms |
En yüksek çıkış hızlandırması |
Hedef: 0,25 G Sınır: 0,2 ila 0,5 GB |
Sıklık |
Hedef: Rezonans frekansının 1/2 ila 1/3'ü Alternatif: Rezonans frekansının 1 ila 1/2'si |
Döndürme temel öğesi
Dönüş, ortada hafif bir vurguyla hızlı bir şekilde aşağı yukarı dönen bir momentumu simüle eder. Dönme, genliği ve frekansı bağımsız olarak ters yönlerde kaydırarak ve ardından ters hareketi uygulayarak uygulanabilir. Daha düşük bir frekans aralığı (tercihen 100 Hz'den az) kullanmanız önemlidir. Şekil 13'te, bu uygulama için giriş parametreleri ve örnek bir çıkış hızlandırma profili gösterilmektedir. (Kırmızı çizgi, soldaki genlik etiketleriyle eşleşir ve titreşim genliğinin zamanla nasıl değiştiğini gösterir. Mavi çizgi, sağdaki frekans etiketleriyle eşleşir ve titreşim frekansının zaman içinde nasıl değiştiğini gösterir.)
Dönen ve kararsız bir his elde etmek için spin ilkelinin art arda iki kez veya kompozisyonlarda üç kez çağrılmasını öneririz.
Motorun frekans yanıtı sınırlıysa alternatif bir uygulama, rezonans frekansının 1/2 ila 1 katı arasında hızlı bir sinüs taraması yapmaktır. Motor rezonansı, sinyale otomatik olarak ortada bir vurgu verir.
Şekil 13. Dönme ilkel için giriş parametreleri ve çıkış hızlandırma profili örneği
Parametre | Yönerge |
---|---|
Süre |
Hedef: 150 ms Tolerans: 20 ms |
En yüksek çıkış hızlandırması |
Hedef: 0,5 G Sınır: 0,25 ile 0,75 GB arasında |
Sıklık |
Hedef: 2/3 ila 1/3, ardından tekrar rezonans frekansının 1/2'sine Alternatif: 2/3 ile 1x arasında, ardından rezonans frekansının 1/2'sine geri dönme |
3. adım: Sabitleri HAL ile API arasında eşleyin
3. adımda, herkese açık HAL sabitleri ile API sabitleri arasında önerilen eşlemeler sunulur. 1. adımda değerlendirilen donanım HAL sabitlerini uygulamıyorsa benzer çıkışlar oluşturmak için 1. adımda açıklanan yedek kalıpları güncellemek üzere 3. adımı kullanın. Eşleme işlemine iki farklı varsayılan model yardımcı olur:
Dijital model (basit)
- Amplitude, bu modelin temel değişkenidir. HAL'daki her öğe farklı bir dokunma genliğini temsil eder.
- Bu model, temel dokunsal kullanıcı deneyimini uygulamak için gereken minimum şarttır.
- Daha gelişmiş bir dokunma kullanıcı deneyimi için gelişmiş donanım ve gelişmiş bir model (sürekli model) gerekir.
Sürekli model (gelişmiş)
- Doku ve genlik bu modelin temel değişkenleridir. HAL'deki her öğe farklı dokunma dokularını temsil eder. Her HAL öğesinin genliği, ölçek faktörü (
S
) tarafından kontrol edilir. - Bu model için gelişmiş donanım gerekir. OEM'ler
VibrationEffect.Composition
ile gelişmiş dokunma deneyimi kullanmak istiyorsa (en son dokunma API'lerinin en iyi şekilde kullanılması için) donanımlarını bu modeli kullanarak uygulamaları önerilir.
- Doku ve genlik bu modelin temel değişkenleridir. HAL'deki her öğe farklı dokunma dokularını temsil eder. Her HAL öğesinin genliği, ölçek faktörü (
Ayrık model
API'de sağlanan tüm herkese açık sabitlerin uygun HAL sabitleriyle eşlenmesi önerilir. Bu işleme başlamak için cihazın HAL'de ayrık genliğe sahip kaç dokunma dalgası tanımlayabileceğini öğrenin. Bu kavram etrafında yapılandırılmış belirli bir soru şu şekildedir: Telefonumda, insan tarafından algılanabilir genlik farklılıklarına sahip kaç tek darbeli dokunma etkisi tanımlanabilir? Eşlemeyi bu sorunun cevabı belirler.
HAL sabitlerini tanımlama işlemi, donanıma bağlı bir işlemdir. Örneğin, giriş seviyesi bir telefonda yalnızca tek bir dokunma dalga biçimi üretebilecek donanım özellikleri bulunabilir. Daha gelişmiş donanım bileşenlerine sahip cihazlar, daha geniş bir ayrık genlik seviyesi aralığı oluşturur ve HAL'de birden fazla dokunma dalga biçimi tanımlayabilir. HAL-API sabit eşleme, HAL sabit değerini alır (orta amplitüdü referans olarak kullanır) ve daha güçlü veya daha zayıf efektleri bu değere göre düzenler.
Şekil 14. Genliğe göre HAL sabit aralığı
Ayrık genliğe sahip HAL sabitlerinin sayısı tanımlandığında HAL ve API sabitlerini HAL sabitlerinin sayısına göre eşleme zamanı gelir. Bu eşleme işlemi, tek bir dürtü API sabit değerini üç ayrı genlik düzeyi grubuna ayırabilir. API sabitlerinin segmentlere ayrılması, eşlik eden giriş etkinlikleri için kullanıcı deneyimi ilkelerine dayanır. Daha fazla bilgi için Dokunma duyusu kullanıcı deneyimi tasarımı başlıklı makaleyi inceleyin.
Şekil 15. HAL-API sabit eşleme: Ayrık model
Cihazınız ayrık genliklere sahip yalnızca iki HAL sabit değerini destekliyorsa Orta ve Yüksek genlik düzeyindeki HAL sabitlerini birleştirebilirsiniz. Bu kavramın pratikte bir örneği, EFFECT_CLICK
ve EFFECT_HEAVY_CLICK
'un aynı HAL sabitiyle eşlenmesidir. Bu sabit, orta genlik düzeyi HAL sabit olacaktır. Cihazınız ayrık genliğe sahip yalnızca bir HAL sabit değerini destekliyorsa üç seviyenin tümünü tek bir seviyede birleştirebilirsiniz.
Sürekli model
Genlik ölçeklenebilirliğine sahip sürekli model, HAL sabitlerini tanımlamak için uygulanabilir. Ölçeklendirilmiş HAL (HAL_H0
x S
) oluşturmak için HAL sabitlerine (ör. HAL_H0
, HAL_H1
) ölçek faktörü (S
) uygulanabilir. Bu durumda, ölçeklendirilmiş HAL, API sabitlerini (HAL_H0
x S1
= H0S1
= EFFECT_TICK
) tanımlamak için eşlenir (Şekil 16'da gösterildiği gibi). Bir cihaz, sürekli modelin genlik ölçeklenebilirliğini kullanarak ayırt edici dokulara sahip az sayıda HAL sabiti depolayabilir ve ölçek faktörünü (S
) ayarlayarak genlik varyasyonları ekleyebilir. Cihaz üreticileri, sunmak istedikleri farklı dokunma dokularının sayısına göre HAL sabitlerinin sayısını tanımlayabilir.
Şekil 16. Dokuya göre HAL sabit aralığı (HAL_H0) ve genlik ölçeği (S)
Şekil 17. HAL-API sabit eşleme: Sürekli model
Sürekli modelde farklı HAL sabitleri, farklı genlikler yerine farklı dokunma dokunuşlarını temsil eder. Ölçek faktörü (S
), genliği yapılandırabilir. Ancak doku algısı (ör. keskinlik) süre ve genlik algısı ile ilgili olduğundan doku ile ölçek faktörünün (HAL-API eşleme tasarım sürecinde) birleştirilmesi önerilir.
Şekil 18, genlik ölçeklenebilirliğiyle bir HAL'den birçok API sabitine kadar varyasyonu artırarak sabit eşlemeyi göstermektedir.
Şekil 18. Genlik ölçeklenebilirliğiyle varyasyonu artırma
VibrationEffect.Composition
içindeki PRIMITIVE_TICK
ve PRIMITIVE_CLICK
gibi tüm ölçeklenebilir API sabitleri için API sabitinin enerji seviyesi, API sabitinin addPrimitive(int primitiveID, float scale,
int delay)
aracılığıyla tanımlandığı float scale
parametresine bağlıdır. PRIMITIVE_TICK
ve PRIMITIVE_CLICK
, farklı HAL sabitleri kullanılarak net bir şekilde ayırt edilebilir şekilde tasarlanabilir. Dokuya çeşitlilik eklemek istiyorsanız bu yaklaşım önerilir.
4. adım: Donanımı değerlendirin
Donanım değerlendirmesi, bu değerlendirme için 1, 2 ve 3 Etkileri olarak etiketlenen üç dokunma etkisini tanımlamayı içerir.
1. efekt: Önceden tanımlanmış kısa dokunma sabitleri
VibrationEffect.EFFECT_CLICK
sabit, 2. adımda sağlanan HAL-API eşlemesindeki temel etki veya ortak paydadır. En çok kullanılan efektle (HapticFeedbackConstants.KEYBOARD_PRESS
) eşlenir.
Bu etkiyi değerlendirmek, hedef cihazınızın net dokunma için hazır olup olmadığını belirlemenize yardımcı olur.
2. efekt: Kısa özel dokunma etkisi
VibrationEffect.createOneShot(20,255)
sabit, özel dokunma efektleri içindir. Kısa, tek özel impulslar için süreyi tanımlamak üzere önerilen maksimum eşik 20 ms'dir. 20 ms'den uzun tek bir darbe, vızıltılı bir titreşim olarak algılandığı için önerilmez.
Şekil 19. Kısa özel dokunma etkisi
3. efekt: Genlik değişimi içeren uzun özel dokunma efekti
VibrationEffect.createWaveform(timings[], amplitudes[], int
repeat)
sabit, genlik değişimi olan uzun özel efektler içindir. Özel dokunma efektleri için değişen genlikler üretme özelliği, cihazın zengin dokunma özellikleri açısından değerlendirilmesini sağlayan göstergelerden biridir. Önerilen timings []
ve amplitudes []
değerleri sırasıyla {500, 500}
ve {128, 255}
'dır. Bu değerler, 500 ms örnekleme hızıyla% 50 ile %100 arasında artan bir genlik trendi sunar.
Şekil 20. Genlik değişimi içeren uzun özel dokunma etkisi
3. efekt için genlik kontrolünün donanım özelliklerini kontrol etmek üzere Vibrator.hasAmplitudeControl()
yöntemini kullanın. Sonuç, VibrationEffect.createWaveform
sinyalini istenen şekilde değişen genlikle yürütmek için true
olmalıdır.
Şekil 21. 1, 2 ve 3 numaralı dokunma etkisinin özne değerlendirmesi
Öznel değerlendirme yapma
Hızlı bir tutarlılık kontrolü için önce öznel bir değerlendirme yapın. Subjektif değerlendirmenin amacı, cihazın insan tarafından algılanabilir genliklere sahip dokunma hissi oluşturup oluşturamayacağını belirlemek için dokunma etkilerinin genliğini gözlemlemektir.
Bu kavram etrafında yapılandırılmış belirli bir soru şu şekildedir: Cihaz, kullanıcılara beklendiği gibi algılanabilir dokunma etkileri sağlayabiliyor mu? Bu soruyu yanıtlamak, kullanıcıların hissedemediği algılanamayacak dokunma hisleri veya dalga formlarının istenen şekilde desen oluşturmadığı istenmeyen dokunma hisleri gibi başarısız dokunma hislerinden kaçınmanıza yardımcı olur.
Gelişmiş değerlendirme yapma
İleri düzey kalite değerlendirmeleri yapmanız önemle tavsiye edilir. Gelişmiş kalite değerlendirmeleri, kaliteli dokunma teknolojisi uygulamak için dokunma efektlerinin ölçülebilir özelliklerini karakterize eder. İşlem tamamlandığında cihaz üreticileri mevcut dokunma durumunu teşhis edebilecek. Bu sayede genel kaliteyi iyileştirmeye yönelik hedefler belirleyebilirler. Donanım değerlendirmesi başlıklı makaleyi inceleyin.