İçindekiler:
- Üç çeşit sesle kontrol
- Niyet Filtresini Kurma
- Sesli metin alma
- Google Play ile bağlantıyı açın
- public void onConnected (Paket paketi) {
- Not kaydedildikten sonra, telefonunuzdaki Görevler uygulamasını yukarı çekin ve yeni öğeyi görmeniz gerekir :
Video: {Whatsapp hileleri} 2024
Android Wear saatiniz var mı? Eğer öyleyse, muhtemelen seveceksiniz ve zaten bir klavyesi olmadığını fark ettiniz. Değilse, birini aramayı deneyin. Bekleyeceğim.
Android Wear geliştiricisiyseniz, Android Wear'daki çoğu uygulamanın genellikle salt okunur olduğunu bilmelisiniz. Android Wear uygulamaları, yapmanız gereken belirli şeyler konusunda bilgilendirilmek için kullanışlıdır, ancak karışık bir şey yapmak istiyorsanız, büyük olasılıkla telefonunuzu saatinizde değil de çekip çıkarmalısınız.
Ses kontrolü, bu kuralın heyecan verici bir istisnasıdır. Sesli dikte ile, klavyeyi kullanmanıza gerek olmadan kolayca saatinize "bilgi" yazabilirsiniz.
Burada, sesinizi kullanarak veritabanınıza yeni öğeler ekleyeceğinizi öğreneceksiniz.
Üç çeşit sesle kontrol
Android Wear, kutunun dışına üç tür ses kontrolü sağlar.
-
Sistem tarafından sağlanan, "Not alın" veya "Bir taksi çağır / taksi" gibi sesli eylemler.
-
"Başlat Görevler" veya "Başlat MyRunningApp" gibi uygulama tarafından sağlanan ses "Başlat" komutları
-
Serbest form sesli dikte
Sistem tarafından sağlanan sesli eylemler, kullanıcılar için. Kullanıcıların yeni sesli komut istemini öğrenmelerini istemezler ve yalnızca herhangi bir yerden "çalış "ıyorlar. Android'in dahili sesli işlemlerinden bir tanesi uygulamanız için uygunsa, bu en iyi yol yoludur.
Uygulamanın sağladığı ses "Başlat" komutları, uygulamanıza sesli komut eklemek için uygulanabilir ancak daha az güçlü bir yoldur. Uygulamanızdaki her etkinlik, etkinlik etiketi tarafından belirtilen ayrı bir başlangıç adına sahip olabilir. Örneğin, Görevler etkinlik etiketinizi MyTasksApp olarak ayarlarsanız, kullanıcı "Start MyTasksApp" yazan Görevler etkinliği başlatılır. Kullanıcı, sesli eylemin ortak alternatiflerini tanıyan sistem tarafından sağlanan sesli eylemlerin aksine, etiketi tam olarak eşleştirmelidir. Örneğin, "Start TasksApp" uygulaması, örneğin, uygulamayı başlatmaz.
Serbest biçimli sesli dikte seçeneği çok güçlü bir seçenektir ancak avantajdan yararlanmak için kullanıcının uygulamanızda olması gerekmektedir. Bir Android Wear uygulamasının nasıl başlatılacağı her zaman açık değildir, bu seçenek iyi ama daha az yaygın.
Android Wear, sistem tarafından sağlanan "Not alın" işlemi ile gelir; bu yüzden uygulamamıza bir Görev eklemek için onu kullanalım.
Niyet Filtresini Kurma
Kullanıcı Android saatine "Not yaz" yazdığında sonuç metni bir Niyet yoluyla uygulamanıza gönderilir. Bu amacı elde etmek için, niyet ile eşleşen bir etkinlik ve niyet filtresi oluşturmalısınız.
AndroidManifest'e bir TakeVoiceNote etkinliği ekleyin. xml öğesini seçin ve SELF_NOTE niyetini yakalamak için niyetli bir filtre kaydedin:
Sesli metin alma
Dünyada sesli tanıyıcı etkinliğinden çıktı almak için en kolay şey. TakeVoiceNote etkinliğini eklemeniz ve metni niyetten almanız yeterlidir:
public class TakeVoiceNote, Etkinliği genişletir {@Override protected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); String voiceNote = getIntent (). getStringExtra (Niyet. EXTRA_TEXT);}}
İşte! Kullanıcı ne yazarsa yapsın, sesli Not değişkenine yazılır ve yerleştirilir.
Şimdi zor kısım, o metinle ne yapılacağı.
Google Play ile bağlantıyı açın
Sesle ilgili eylem API'leri oldukça kolaydır, ancak bunları kullanmak için Google Play Hizmetleri API'larını kurmanız gerekir ve bunlar biraz daha karmaşıktır.
Google Play Hizmetleri Konum API'sını projenize eklemek için, yapınıza aşağıdaki bağımlılığı yerleştirin. yapılandırma dosyası:
bağımlılıklar {compile 'com. Google. android. gms: play-services-wearable: 6. 5. 87 '}
Daha sonra, AndroidManifest ürününüze aşağıdakileri ekleyin.
= " @ integer / google_play_services_version" /> Google Play Hizmetleri ile bağlantı kurmak için etkinliğinize aşağıdakileri ekleyin: // Google
API
istemcisi, için giyilebilir hizmetler GoogleApiClient googleApiClient; @Override public void onCreate (Bundle savedInstanceState) {süper. onCreate (savedInstanceState); googleApiClient = yeni GoogleApiClient. Oluşturucu (bu) . addConnectionCallbacks (bu). addOnConnectionFailedListener (bu). addApi (Giyilebilir API). inşa etmek(); …} @Override public void onStart () {süper. onStart (); googleApiClient. () Bağlamak; } @Override public void onStop () { googleApiClient. bağlantı kesme (); süper. onStop ();} Telefonunuzun uygulama kimliğinin ve Wear uygulamasının aynı olması gerektiğini unutmayın! Farklıysa, bağlantı kurulmaz. Bu kod, onCreate () ürününde Google Play Hizmetlerine bağlanmak için yeni bir GoogleApiClient nesnesi oluşturur ve onStart () bağlanmaya ve onStop'unuzdaki () bağlantısını kesmeyi dener. GoogleApiClient, bir bağlantı oluşturulduğunda bunu bildirmek için bir geri arama nesnesine ihtiyaç duyar; bu nedenle, etkinliğinize geri arama eklemeniz gerekecektir.public class TakeVoiceNote extends Etkinlik,
GoogleApiClient'ı uygular. ConnectionCallbacks, GoogleApiClient. OnConnectionFailedListener
{@Override kamu hükümsüz onConnected (Bundle connectionHint) { // Bağlı 'den Google Play hizmetlerine! Bu // olan Burada Eğer dönüşüm yazma 'in yanına yeni görev < // veritabanı. } @Override kamu hükümsüz onConnectionSuspended (int nedeni) { // Google Oynat < bağlantı olmuştur> sahiptir kesildi. // Devre dışı bırak herhangi UI bileşenleri bağlı o üzerinde Google // API'leri kadar onConnected () denilen olduğunu. için // Bu // örnek doesn ' t gerek do şey burada. } @Override kamu hükümsüz onConnectionFailed (ConnectionResult sonuç) { // Bu Geri arama olduğunu < önemli için ele hatalar // o may meydana bağlamak> 999 <çalışılırken > ile // Google. // // fazla bilgi hakkında ila hatalarını işlemek için // > bkz. // // geliştirici. android. com / google / auth / API-istemcisi. html } } Tebrikler! Artık, etkinliğiniz durdurulduğunda otomatik olarak bağlantısını kesen Google Play Hizmetleri ile bağlantı kurduk. Bir sonraki adım telefonun yeni bir görev oluşturmasını istemenizdir.Telefona yeni bir görev ekleme talebinde bulunma Artık Google Play ile bir bağlantınız var, bir sonraki adım sesli mesajı telefonunuza göndererek telefonun Veritabanına. Sesli dikte içeriğiyle telefonunuza mesaj göndermek için etkinliğinizin onConnected () yöntemini güncelleyin: public class TakeVoiceNote extends Activity, GoogleApiClient'ı uygular. ConnectionCallbacks, GoogleApiClient. OnConnectionFailedListener {// El cihazında gerçekleştirmek istediğiniz işlemi tanımlayan yol (bir URI gibi). private static final String PATH_ADD_TASK = " / addTask " ;
…
@Overridepublic void onConnected (Paket paketi) {
Günlüğü. d ("
TakeVoiceNote " , " onConnected "); // Konuşma tanıma metni // niyet String voiceNote = getIntent () aracılığıyla iletilir. getStringExtra (Niyet. EXTRA_TEXT); // Dizeyi bayt son bayt [] olarak değiştirin voiceNoteBytes = voiceNote. getBytes (Charset forName ( " utf-8 " )); // Bağlandığınız ' re // tüm cihazların listesini alın. Genellikle bu sadece // telefonunuz olacaktır. Başka cihazlar da mesajınızı yoksayar. Giyilebilir. NodeApi. getConnectedNodes (googleApiClient). setResultCallback (yeni ResultCallback () { @Override public void onResult (GetConnectedNodesResult düğümleri) { için (Düğüm düğümleri: düğümler, getNodes ()) { // Telefona, // görevin veritabanına eklenmesini isteyen bir mesaj gönder Giyilebilir MessageApi sendMessage (googleApiClient, düğüm, getId (), PATH_ADD_TASK, voiceNoteBytes); } finish (); } }); } } Telefonda yeni görev yaratYapmanız gereken tek şey telefonunuzdaki mesajı dinlemek ve böylece talep edildiğinde yeni bir görev oluşturabilmenizdir. Bunu basit bir WearableListenerService ile yapacaksınız. Telefon uygulamanızda AddTaskWearableListenerService adında yeni bir sınıf oluşturun ve aşağıdaki kodu ekleyin: public class AddTaskWearableListenerService extends WearableListenerService {// TakeVoiceNote'daki dizeyle eşleşmelidir private static final String PATH_ADD_TASK = "/ addTask"; @Override public void onMessageReceived (MessageEvent messageEvent) {if (PATH_ADD_TASK.equals (messageEvent. getPath ())) {// Görevin tüm bilgilerini depolayan ContentValues nesnesini oluşturun String title = yeni String (messageEvent.getData (), Charset. forName ("utf-8")); ContentValues değerleri = yeni ContentValues (); değerler. koy (COLUMN_TITLE, başlık); değerler. put (COLUMN_DATE_TIME, Sistem currentTimeMillis ()); // Görevi veritabanına yerleştirin getContentResolver () insert (CONTENT_URI, values);}}} servisinizi telefonunuzun AndroidManifest.xml dosyasına kaydetmek için aşağıdakileri uygulama düğümünüze ekleyin: Test yapın! Sizin için bir emülatör kullanıyorsanız Android Wear cihazını Android telefonunuza bağlamak istersiniz. Bu işlem tamamlandıktan sonra, eylemler menüsünü getirmek için Android Wear'a hafifçe vurun ve ardından Not yaz seçeneğine tıklayın > Bir saat emülatörü kullanıyorsanız, yanıtınızı yazın.
Not kaydedildikten sonra, telefonunuzdaki Görevler uygulamasını yukarı çekin ve yeni öğeyi görmeniz gerekir:
Tebrikler! Bir sesli notu başarılı bir şekilde dikte ettiniz ve Tasks uygulamalarınıza kaydettiniz.Android ve Android Wear platformlarında Voice Controls ile yapabileceğiniz her türlü ilginç şey var., c Android Geliştirici web sitesinde Ses Yetenekleri Ekleme ve Ses Girişini Bir Bildirimde Bulma makalesine dikkat edin. Mutlu hack!