Devam Eden Görev Kalıbı

Bu kılavuzda, Kronometre biçiminde devam eden bir görevi oluşturan bileşenler açıklanmaktadır. Devam eden bir görev, kullanıcının bir göreve dahil olduğu süre boyunca canlı kart bilgisi gösterir ve kullanıcının ihtiyaç duyduğu anda canlı kartın içine girip çıkmasını sağlar.

Eğitim sırasında, kendi Glassware'inizi geliştirmeniz için önemli olan tasarım, geliştirme ve dağıtım ipuçlarını da öğreneceksiniz.

Başlamadan önce

Kronometrenin tam kaynağına Github'dan ulaşabilirsiniz. Kılavuzda bu kılavuzdan bahsedildiğinden, uygulamayı kullanmaya başlamadan önce Android Studio'ya aktarın.

  1. Hızlı Başlangıç ekranından Sürüm kontrolü > Git'i tıklayın.
  2. Kronometre'den klon URL'sini kopyalayın.
  3. Klon URL'yi Vcs Deposu URL'sine yapıştırın ve Klon'u tıklayın.
  4. Sonraki ekranda Evet'i tıklayın.
  5. Sonraki ekranda Tamam'ı tıklayın.
  6. Projeyi oluşturun ve Oynat düğmesini tıklayarak bağlı Glass'ınızda çalıştırın. Çağrı ayrıntıları için örneğin README sayfasını kontrol edin.

Neler öğreneceksiniz?

Android SDK'daki bileşenleri kullanarak Sürekli Kronometre görevinin büyük bir kısmını oluşturacaksınız. Ardından GDK ile Glass deneyimine odaklanacaksınız. Öğreneceğiniz konuların listesini aşağıda bulabilirsiniz:

  • Canlı karta çizim yapmak için özel görünüm oluşturma
  • Canlı kartı yönetmek için hizmet oluşturma
  • Kullanıcıların canlı kartı zaman çizelgesinden kaldırmasını sağlayan bir menü sunar
  • Ana sesli menüden kronometreyi başlatmak için sesli tetikleyici bildirme

Tasarım

Geliştirmeye başlamadan önce biraz zaman geçin ve Glassware'i tasarlayın. Bu, hangi kullanıcı arayüzü akışlarının Glass'ta en iyi sonucu verdiğine, hangi ses komutunu kullanacağınıza ve kartlarınızın nasıl görüneceğine dair iyi bir fikir verir.

Elbette Glassware'i tasarlamak tekrar tekrar yapılan bir süreçtir ve şu anda tasarladığınız bazı şeyler değişecektir. Ancak, bu işin başında iyi bir iş yapmak harika bir deneyim oluşturmak için oldukça önemlidir.

Kullanıcı arayüzü akışı

Kullanıcı arayüzü akışını tasarlamak basit bir alıştırmadır ve bir kod satırı yazmadan önce Glassware'inizi görselleştirmenize olanak verir. Geliştirdiğimiz Glassware için her zaman bunu yapıyoruz!

Kronometrenin ana kullanıcı arayüzü öğelerini inceleyelim. Böylece, kullanıcı arayüzünün nasıl çalıştığı ve kendi Glassware'inizi oluştururken bu işlemin ne kadar faydalı olabileceği hakkında bir fikir edinebilirsiniz.

Ana kullanıcı arayüzü

Kronometre oldukça basit bir deneyim olduğu için yalnızca bir ana akış içerir.

Kullanıcılar Glassware'i çağırdığında, gerçek kronometre başlamadan önce 3 saniyelik geri sayım geçiş reklamı sunulur. Ardından, kullanıcı bir Durdur menü öğesiyle kronometreyi zaman çizelgesinden kaldırana kadar geri sayım devam eder.

Sesli komut

Sesli komutu, tasarım sürecinin başlarında bırakmalısınız. Sesli komutlar, kullanıcıların Glassware'i Glass Home (saat kartı) sesli menüsünden başlatmasına olanak tanır ve gerektiğinde Glassware'i tasarlama şeklinizin önemli bir parçasıdır.

Örneğin, Bir güncelleme yayınla komutu, kullanıcıların metni okuduğu ve Glassware'in başka bir kullanıcı müdahalesi olmadan işlediği bir ateşleme ve unutma modelinde iyi çalışır. Bu, kullanıcıların yaptıkları işlere hızlı bir şekilde geri dönmesine olanak tanır.

Öte yandan, Oyun oyna gibi yerlerde kullanıcıları genellikle bir başlangıç ekranına yönlendirerek önce bu yönde ilerlemelerini istersiniz. Bu sesli komut büyük ihtimalle kullanıcıların ilgisini çektiği için kullanıcıların oyunu başlatmak için ekstra ekran ve menü görme konusunda sakınca görmelerini bekleyebilirsiniz. Sesli komuttan hemen sonra kullanıcıları oyun deneyimine yönlendirmek, oyunlar için genellikle kötü bir deneyimdir.

Kronometre, Kronometreyi başlat sesli komutunu kullanır. Kullanıcılar sesli komutu çağırdıktan sonra, kronometre kısa bir geçiş sonrası ekrandan hemen başlar. Bu adım, başlamak için bir menü öğesi sağlamaktan daha iyidir. Devam eden görevler için genellikle kullanıcıları olabildiğince kısa sürede ve en mantıklı şekilde deneyime getirmeye odaklanmak istersiniz.

Kart düzenleri

Yoğun içerik veya canlı kart oluştururken, mümkün olduğunda CardBuilder veya XML düzenlerini kullanmanız gerekir.

Genellikle kendi düzeninizi oluşturmanız gerekir, bu yüzden en iyi görünümlü Glassware'e sahip olmak için kullanıcı arayüzü yönergelerimize uyun.

Kronometre genel düzen yönergelerine uyar, ancak görünümler ve düzenler gibi standart Android bileşenlerini kullanan özel kullanıcı arayüzü düzenlerine sahiptir.

Geliştirme

Canlı kartlar geliştirmek için, Androidware'de kullandığınız araçların aynısını Glassware'in büyük bir kısmını oluşturmak ve ardından GDK eklentisindeki API'leri kullanarak canlı kartlar ve sesli komutlar gibi Glass'a özgü işlevlere erişebilirsiniz.

Glassware oluşturmak için sık kullanılan Android bileşenlerini kullanacaksınız ancak bazı kavramların bazen farklı olduğunu unutmayın. Örneğin, canlı kartları bir Android hizmetiyle oluşturup yönetebilirsiniz. Bu da geleneksel Android uygulamalarında hizmet kullanmanın tipik bir yolu değildir. Canlı kartların kendi kullanıcı arayüzü bağlamları yoktur. Bu nedenle, canlı kartın menüsünü gösteren bir kabuk etkinliği kullanmanız gerekir. Bu bileşenlerin nasıl oluşturulacağını bu kılavuzda daha sonra öğreneceksiniz.

Geliştirme bölümlerinin geri kalanında, Kronometrenin nasıl yapılandırıldığı ve daha önce içe aktardığınız projenin ana bileşenleri ele alınır. Takip edebilmek için Android Studio'yu şu anda çalışır durumda tutmak faydalıdır. Kaynak kodunun kendisi için yorum girildiğinden bu bölümde her dosyanın üst düzey amacı ve kendi Glassware'inize uygulayabileceğiniz faydalı ipuçları işlenmektedir.

Sesli komut

Kullandığınız komutu belirten bir XML kaynak dosyasıyla ve daha sonra, AndroidManifest.xml dosyasında XML kaynağını belirterek sesli komutlar oluşturursunuz.

Aşağıdaki dosyalar Stopwatch sesli komutuyla ilişkilidir:

  • res/xml/voice_trigger_start.xml - Kullanılacak sesli komutu tanımlar.
  • AndroidManifest.xml - Sesli komut söylenirken başlatılacak canlı kart hizmetini tanımlar.

Geri sayım görünümü

Kronometre, kullanıcılara zamanın dolmak üzere olduğunu bildirmek için, süre kaydedilmeden önce bir geri sayım gösterir.

Aşağıdaki dosyalar geri sayım görünümüyle ilişkilendirilir:

  • res/layout/card_countdown.xml - Geri sayım görüntüleyicinin düzenini tanımlar
  • src/com/google/android/glass/sample/stopwatch/CountDownView.java- Geri sayım görünümünü tanımlar.

Kronometre görünümü

Bu, Kronometrenin ana görünümüdür. Geri sayım geçiş tarihinden bu yana geçen süreyi görüntüler. Aşağıdaki dosyalar kronometre görünümüyle ilişkilendirilir:

  • res/layout/card_chronometer.xml - Kronometre görünümünün düzenini tanımlar
  • src/com/google/android/glass/sample/stopwatch/ChronometerDrawer.java - Görünümün nasıl oluşturulacağını tanımlar. Canlı kart hizmeti, canlı kart hizmetinden yararlanmak için bu sınıfı çağırır.
  • src/com/google/android/glass/sample/stopwatch/ChronometerView.java - Kullanıcı arayüzü olarak önceki düzeni kullanan kronometre görünümü.

Kronometre hizmeti

Bu, canlı kartın yaşam döngüsünü ve oluşturulmasını yöneten hizmettir. Aşağıdaki dosyalar bu hizmetle ilişkilendirilmiş:

  • src/com/google/android/glass/sample/stopwatch/StopwatchService.java - Kronometre canlı kartını yönetir ve hizmet yaşam döngüsünü işler.

Canlı kartlar, kullanıcı arayüzünü zaman çizelgesi bağlamında oluşturduğu için kendi kullanıcı arayüzü bağlamına sahip değildir.

Bu sınırlamayı aşmak için zaman çizelgesinin üst kısmında gösterilen yarı saydam bir etkinlik oluşturur ve ardından kullanıcılar canlı karta dokunduktan hemen sonra bu etkinliğin menüsünü görüntülersiniz.

  • src/com/google/android/glass/sample/stopwatch/MenuActivity.java - Etkinlik görünür olduğunda hemen menüyü gösteren yarı saydam menü etkinliğini tanımlar.
  • res/values/styles.xml - Menüye uygulanan yarı saydam stili tanımlar.
  • res/menu/stopwatch.xml - Zorunlu Durdur menü öğesini içeren menü kaynağı.

Android Manifest'i

AndroidManifest.xml dosyası, Glassware'in temel bileşenlerini açıklayarak sistemin nasıl çalışacağını belirler. Charades manifesti şu şeyleri bildirmektedir:

  • Glassware'in simgesi ve adı. Aynı sesli komuta birden fazla Glassware yanıt verirse Glass bu bilgileri ana dokunma menüsünde görüntüler.
  • Kronometre ile ilgili tüm hizmetler ve etkinlikler. Sistemin Glassware bileşenlerinizi nasıl başlatacağını bilmesi için bu gereklidir.
  • Sesli komut söylendiğinde canlı kart hizmetini başlatan sesli komut ve bir intent filtresi.
  • Glassware için sürüm kodu. Bu APK'nın MyGlass'a her yeni sürümü yüklendiğinde bu kod (ve genellikle sürüm adı) güncellenmelidir.