Çünkü Android sonuçta dokunmaya zorlayamaz

Erdemitlee

Global Mod
Global Mod


  1. Çünkü Android sonuçta dokunmaya zorlayamaz

Zorla Dokunma – bu, dokunmatik ekranın parmak basıncının yoğunluğunu algıladığı ve böylece farklı eylemleri tetiklediği teknolojinin adlarından biridir. iPhone 6S, Apple’ın onu akıllı saat ve dizüstü bilgisayar dokunmatik yüzeyleriyle tanıştırmasından sonra mağazalara giren ilk akıllı telefon oldu. Bazı Android cihazlar artık benzer teknolojiye sahip: Huawei Mate S (aslında iPhone’dan birkaç gün önce sunuldu,

burada IFA’dan uygulamalı)

Android geliştiricisi Adam Outler rapor verirken, Android’in API1’den edinilebilen ve API5’ten beri çoklu dokunma özelliğine sahip MotionEvent.getPressure() işlevi biçimindeki bir basınç düzeyi sorgusunu uzun süredir desteklediğini belirtti. Daha sonra parmak basıncını görüntülemek için küçük bir uygulama programladı.

Ancak birçok yorumcu tarafından minnetle karşılanan, Android’in bu nedenle Force Touch ile uyumlu olduğu yorumu yanlıştır. Mevcut uygulama yetersiz kalıyor ve en iyi ihtimalle bir ön koşul. Google’dan daha fazla detaylandırma olmaksızın, Android, Force Touch konusunda uzman değildir. Detayda:

getPressure yalnızca kalemler içindir


Bir programcının bakış açısından getPressure(), MotionEvent sınıfının bir yöntemidir. Bu MotionEvents, birçok girdi cihazı tarafından tetiklenir, ancak Google, getPressure() içinde bunlardan hangisinin anlamlı bir değer döndürdüğünü belirtmez. Google’dan örnek bir program, yalnızca kalem girişleri için basıncı değerlendirirken, başka bir program da dokunmatik ekran girişleri için baskı toplar. Akıllı telefonlar buna uygun olarak öngörülemez şekilde davranır:




Force Touch Demo: Uygulama, akıllı telefonların getPressure() işlevini nasıl farklı şekilde doldurduğunu gösterir.



Force Touch Demo: Uygulama, akıllı telefonların getPressure() işlevini nasıl farklı şekilde doldurduğunu gösterir.



  • Nitekim c’t laboratuvarındaki basınca duyarlı ZTE Axon Mini, bu arayüz üzerinden ölçülen basıncı bildirir. (Henüz evde Huawei yok.)
  • Diğer bazı akıllı telefonlar şunlardan birini sunar: Destek yüzeyi basınç için yetersiz bir ikame olan bağımlı değer.
  • Diğerleri sadece 1 döndürür.
  • Bir kalemin MotionEvents’i için, örneğin Samsung Note’tan, getPressure() beklendiği gibi kalemin basınç kuvvetiyle eşleşir.
getPressure olmadan standart API onClick ve onLongClick


Geliştiriciler için ek bir sınırlama olarak, getPressure normal olay iş akışına uymaz. Tipik olarak geliştiriciler, onClick() ve onLongClick() EventListener’ları uygulayarak tek ve uzun tıklamalar için yoklama yapar. Ancak ikisi de tıklamaya neden olan MotionEvent’i alamıyor bile.


Bir çözüm, MotionEvent’ten geçirilen onTouch() alternatif EventListener’ı dinlemek olabilir. Bununla birlikte, geliştiricilerin artık bir tıklama (ve tek, uzun bir tıklama) ile gelen tüm yukarı, aşağı ve hareket olaylarını bir araya getirmesi gerekiyor – önemsiz değil, özellikle çoklu dokunma ile. Genellikle sadece oyunlar ve çizim uygulamaları bu dinleyiciyi kullanır, normal UI öğeleri için aşırı yüklemeden kaçınmak isteyeceksiniz.

Ayrıca, tek tip bir tepki yoktur: Apple ile Force Touch, akıllı telefon ve akıllı saat en belirleyici basıncı hissedilir bir titreşimle işaret ettiğinden sezgisel olarak da çalışır. ZTE akıllı telefon, kısa bir süre için normal titreşim motorunu çalıştırır. Android bu sarsıntıya tek başına neden olmadığı için, her uygulamanın bunu kendisi yapması gerekir. Bu nedenle, geliştiricilerin ayrıca onTouch() uygulamalarında herkesin biraz farklı şekilde düzeltmesi gereken titreşime neden olması gerekir. Böylece her uygulama kendi ritmine göre dans eder.

Açılış ekranı API’si yok


Ana ekranda bir uygulama simgesine uzun bastığınızda Apple, uygulamayı belirleyen bir içerik menüsü görüntüler. ZTE bunu benzer bir şekilde yapıyor, ancak böyle bir menü yalnızca dahil edilen uygulamalarda görünüyor – Android’in bu bağlam menüsü için bir arayüzü olmadığı için şaşılacak bir şey yok. ZTE, Android’i – veya başlatıcı dahil – yeniden tasarlıyor, ancak bir geliştiricinin uygulamasına ZTE cep telefonlarında böyle bir menü görüntülemeyi öğretip öğretemeyeceğini ve nasıl öğretebileceğini henüz yayınlamadı.

ZTE bir şey çıkarsa bile, Huawei ve – S7 Force Touch’ı kullanabilseydi – Samsung’un aynı arayüzü paylaşması pek olası değil. En olumsuz örnek, uygulama simgesi sayacıdır; örneğin, uygulamaların okunmamış e-postaların sayısı hakkında bilgi sağladığı simgelerin üzerindeki bu küçük baloncuk. Android’de buna sahip değil, ancak bazı akıllı telefon üreticileri ve bazı Android başlatıcı geliştiricileri, farklı API’lerle onu güncelledi. Sonuç olarak, bu üreticilerin uygulamaları dışında neredeyse hiçbir uygulama sayıları göstermiyor. Neredeyse hiçbir uygulama, Samsung’un Note serisi kalem için sunduğu fareyle üzerine gelme tepkisi gibi özel özellikleri kullanmaz.

Çözüm


Android API’nin şu anda sundukları, tam bir Force Touch için yeterli değil. Uygulamalar, algılamadan yanıt vermeye ve daha sert basmaya kadar her şeyi kendileri yapmalıdır. Şu anda herhangi bir geliştiricinin işi yapmak istemesi pek olası değil, ancak yalnızca resmi Samsung API’sini içeren Force Touch destekli bir Galaxy S7 ortaya çıkarsa buna değecek.

Ancak yalnızca Google, örneğin bir onForceClick() EventListener ile API’sini genişlettiğinde gerçekten başlar. Bununla birlikte, önceki deneyimler, Android akıllı telefonlardaki ek hareketin pek bir anlam ifade etmediğini gösteriyor: bir öğeye uzun basmak bir hareket haline geldi, bu nedenle ek hareketin, ZTE telefonunda basitleştirmek yerine işlemi karmaşıklaştırdığını hemen fark ediyorsunuz. . Belki de Google için en mantıklı şey, daha sert basmayı uzun basmaya bir alternatif olarak ele almak ve basitçe yukarıdaki onLongClick() dinleyicisini ateşlemek olacaktır. Ardından, tüm uygulamalar doğrudan Force Touch’ta ustalaşacaktır.


(sağ)



Haberin Sonu
 
Üst