Aramayı Android sisteminin yardımıyla uygulamak, yani arama
bir etkinliği sorgular ve arama önerileri sağlar. Uygulamanızın, bir arama sorgusu
XML dosyası biçiminde bir yapılandırma dosyası biçimindedir.
Bu sayfada, arama yapılandırma dosyası söz dizimi ve kullanımı açısından açıklanmaktadır. Daha fazla
uygulamanız için arama özelliklerini nasıl uygulayacağınızla ilgili daha fazla bilgi için bkz.
Arama arayüzü oluşturun.
dosya konumu:
res/xml/filename.xml
Android, kaynak kimliği olarak dosya adını kullanır.
Android sisteminin destekli arama sağlamak için kullandığı tüm arama yapılandırmalarını tanımlar.
Özellikler:
android:label
Dize kaynağı. (Zorunlu.) Uygulamanızın adı. Bu değer,
öğenizin android:label özelliğine uygulanan ad
<activity>
veya
<application>
manifest öğesi. Bu etiket, yalnızca şu ayarı yaptığınızda kullanıcı tarafından görülebilir:
android:includeInGlobalSearch - "true"; bu durumda bu etiket kullanılır
uygulamanızı sistemin arama ayarlarında aranabilir öğe olarak tanımlamasını sağlar.
android:hint
Dize kaynağı. (Önerilir.) Oluşturulduğunda arama metni alanında
metin girilmedi. Hangi içeriğin aranabileceği konusunda kullanıcıya ipucu verir. Tutarlılık için
diğer Android uygulamalarıyla android:hint dizesini "Arama Ağı" olarak biçimlendirin
<içerik-veya-ürün>". Örneğin, "Şarkı ve sanatçı arayın" veya
"YouTube'da ara".
android:searchMode
Anahtar kelime. Arama sunumunu kontrol eden ek modlar ayarlar. Uygun
modlar, özel bir öneri alındığında sorgu metninin nasıl yeniden yazılması gerektiğini tanımlar.
odaklanacağız. Aşağıdaki mod değerleri kabul edilir:
Değer
Açıklama
"queryRewriteFromData"
Şu değeri kullanın:
SUGGEST_COLUMN_INTENT_DATA.
sütununu kullanabilirsiniz. Bu yalnızca
SUGGEST_COLUMN_INTENT_DATA, kullanıcı denetimi ve düzenlemesi için uygundur,
HTTP URI'leri buna dahildir.
Dize kaynağı. Aramayı yürüten düğmede gösterilecek metin. Ölçüt
Arama simgesi (büyüteç) görüntülenir. Bu simge, kullanıcının
uluslararası hale getirme sürecidir. Bu nedenle, davranış aşağıdaki gibi olmadığı sürece düğmeyi değiştirmek için bu özelliği kullanmayın:
arama dışındaki bir şey (web tarayıcısındaki URL isteği gibi).
android:inputType
Anahtar kelime. Kullanılacak giriş yönteminin türünü (ör. yumuşak geçiş türü) tanımlar
klavye kısayollarını da kullanabilirsiniz. Serbest biçimli metnin beklendiği çoğu arama için bu özelliğe ihtiyacınız yoktur.
Aşağıdakilerin listesi için bkz. inputType
değerleri girin.
android:imeOptions
Anahtar kelime. Giriş yöntemi için ek seçenekler sağlar. Çoğu arama için
beklenen serbest biçimli metin için bu özelliğe ihtiyacınız yoktur. Varsayılan IME
actionSearch, "arama"yı sağlar yerine bir satır başı karakteri
klavyeyi kullanın. Bkz. imeOptions
değerini girin.
Arama önerisi özellikleri
Arama önerileri oluşturmak için bir içerik sağlayıcı tanımlarsanız,
İçerik sağlayıcıyla iletişimi yapılandıran ek özellikler. Arama özelliği sunulurken
önerilerinde aşağıdaki <searchable> özelliklerinden bazılarına ihtiyacınız vardır:
android:searchSuggestAuthority
Dize. (Arama önerileri sağlamak için gereklidir.) Bu değer,
android:authorities içindeki yetkili dizesi
özelliğini kullanın.<provider>
android:searchSuggestPath
Dize. Bu yol, önerilerin bir kısmı olarak kullanılır
Uri sorgusu ön ekinden sonra ve
daha çok bilgi edindiniz. Bu yalnızca
tek bir içerik sağlayıcı, farklı türde öneriler (örneğin, farklı
ve e-posta aldığınızda öneri sorgularını netleştirmek için bir yönteme
gerekir.
android:searchSuggestSelection
Dize. Bu değer,
sorgu fonksiyonunu selection parametresi olarak kullanıyor. Genellikle bu bir WHERE ifadesidir
ve her sorgu için yer tutucu olarak tek bir soru işareti içermelidir.
kullanıcı tarafından girilen gerçek sorgu dizesi (örneğin, "query=?"). Ancak,
selectionArgs parametresini alıp selection parametresini yoksayabilirsiniz.
android:searchSuggestIntentAction
Dize. Bir kullanıcı aşağıdaki işlemleri gerçekleştirdiğinde kullanılacak varsayılan intent işlemi
"android.intent.action.VIEW" gibi bir özel arama önerisine dokunduğunda.
Bu değer,
SUGGEST_COLUMN_INTENT_ACTION.
sütununda, değer,
Kullanıcı dokunduğunda Intent
öneriyorum.
android:searchSuggestIntentData
Dize. Bir kullanıcı aşağıdaki durumlarda kullanılacak varsayılan intent verileri:
özel bir arama önerisine dokunduğunda.
Seçilen öneri tarafından geçersiz kılınmazsa
SUGGEST_COLUMN_INTENT_DATA.
sütunu. Bu değer,
Kullanıcı dokunduğunda Intent
öneriyorum.
android:searchSuggestThreshold
Tamsayı. Karakter sayısını göstermek için
bir öneri aramasını tetikler. Bu yalnızca, sistemin
her tür içerik sağlayıcı tarafından görüntülenebilir. Varsayılan değer 0'dır.
Özel arama önerilerinizi Çabuk Arama Kutusu'nda kullanılabilir hale getirmek için
aşağıdaki <searchable> özellikleri:
android:includeInGlobalSearch
Boole. (
Hızlı Arama Kutusu'nu tıklayın.) Önerilerinizin gösterilmesini istiyorsanız "true" olarak ayarlayın
genel olarak erişilebilen Hızlı Arama Kutusu'na eklenmiştir. Kullanıcı
önce uygulamanızı sistem arama ayarlarında aranabilir öğe olarak
önerileriniz Hızlı Arama Kutusu'nda görünür.
android:searchSettingsDescription
Dize kaynağı. Arama önerilerinin kısa bir açıklamasını sunar.
Hızlı Arama Kutusu'na sağlarsınız; bu bilgi, arama sorgunuzun aranabilir öğeler girişinde görüntülenir
bir uygulamadır. Açıklamanızda, aranabilir içerik kısa ve öz bir şekilde açıklanmalıdır. Örneğin,
örnek: "Sanatçılar, albümler ve parçalar" müzik uygulaması veya "Kayıtlı notlar" -
not defteri uygulamasıdır.
android:queryAfterZeroResults
Boole. İçerik sağlayıcınızın olmasını istiyorsanız "true" olarak ayarlayın
daha önce sıfır sonuç döndüren sorguların üst kümeleri için çağrılır. Örneğin,
içerik sağlayıcınız "bo" için sıfır sonuç döndürdüğünde, "ali" için tekrar sorgulanması gerekir. Eğer
"false" olarak ayarlanırsa üst kümeler tek bir oturum için yoksayılır: "ali"
bir yeniden sorgu çağırmaz. Bu yalnızca arama iletişim kutusunun veya arama
etkinliği görebilirsiniz. Arama iletişim kutusu veya etkinliği yeniden açıldığında
"bo" içerik sağlayıcınızı yeniden sorgular. False varsayılan değerdir.
Sesli arama özellikleri
Sesli aramayı etkinleştirmek için şunlardan bazılarına ihtiyacınız vardır:
aşağıdaki <searchable> özellikleri:
android:voiceSearchMode
Anahtar kelime. (Sesli arama özelliklerini sağlamak için gereklidir.)
Belirli bir sesli arama moduyla sesli aramayı etkinleştirir.
Sesli arama cihaz tarafından sağlanamayabilir. Bu durumda bu işaretler
etkisi yoktur. Aşağıdaki mod değerleri kabul edilir:
Değer
Açıklama
"showVoiceSearchButton"
Cihazda sesli arama kullanılabiliyorsa bir sesli arama düğmesi görüntüler. Ayarlanırsa
"launchWebSearch" veya "launchRecognizer" de ayarlanmalıdır.
dikey çizgi (|) karakteriyle ayrılır.
"launchWebSearch"
Sesli arama düğmesi, kullanıcıyı doğrudan
yerleşik bir sesli web arama etkinliğine dönüştürme. Çoğu uygulama bu işareti kullanmaz, çünkü
kullanıcıyı, aramanın çağrıldığı etkinlikten çıkarır.
"launchRecognizer"
Sesli arama düğmesi,
yerleşik bir ses kaydı etkinliğine
yönlendirebilirsiniz. Bu etkinlik
kullanıcının konuşmasını ister, konuşulan metni metne dönüştürür ve üretilen metni iletir.
sorgu metnini kullanıcı tarafından
kullanıcı arayüzü üzerinden arama yapıp arama düğmesine dokundu.
android:voiceLanguageModel
Anahtar kelime. Her bir görev için geçerli olan
ses tanıma sistemi tarafından kullanılmalıdır. Aşağıdaki değerler kabul edilir:
Değer
Açıklama
"free_form"
Sorguları dikte etmek için serbest biçimli konuşma tanıma özelliğini kullanın. Bu birincil olarak
İngilizce için optimize edilmiştir. Bu, varsayılan ayardır.
"web_search"
Arama benzeri daha kısa ifadeler için web arama terimi tanımayı kullanın. Bu
"free_form" taneden fazla dilde kullanılabilir.
Dize kaynağı. Ses girişi iletişim kutusunda gösterilecek ek mesaj.
android:voiceLanguage
Dize. Beklenen konuşma dili, dize değeri olarak ifade edilir:
Locale içindeki bir sabit değer, örneğin
Almanca için "de" veya Fransızca için "fr". Bu yalnızca farklıysa gereklidir
Locale.getDefault() arasından seçim yapabilirsiniz.
android:voiceMaxResults
Tamsayı. Döndürülecek maksimum sonuç sayısını ayarlar,
“en iyi” (her zaman
ACTION_SEARCH.
intent'in birincil sorgusu. 1 veya daha büyük olmalıdır. Tekliflerinizi otomatikleştirmek ve optimize etmek için
EXTRA_RESULTS.
amaçlanan sonuçları elde etmektir.
Sağlanmazsa tanıyıcı, kaç sonucun döndürüleceğini seçer.
<actionkey>
Arama işlemi için bir cihaz tuşu ve davranışı tanımlar. Arama işlemi,
cihazdaki bir düğmeye dokunduğunda, geçerli sorguya veya odak noktasına
öneririz. Örneğin, Kişiler uygulaması bir telefon görüşmesini başlatmak için
ARA düğmesine dokunulduğunda, o sırada odaklanılan kişi önerisine çağrı.
Bazı işlem tuşları her cihazda kullanılamaz ve bu cihazda tüm tuşlar geçersiz kılınamaz
sağlar. Örneğin, "Ev" anahtar geçersiz kılınamaz ve her zaman ana sayfaya dönmelidir
tıklayın. Ayrıca, arama sorgusu yazarken gerekli olan bir tuşa ilişkin işlem tuşu tanımlamadığınızdan emin olun
emin olun. Böylece, kullanılabilir ve makul işlem tuşları arama düğmesi ve menü ile sınırlanır
düğmesini tıklayın.
Anahtarı veandroid:keycode
diğer üç özelliği kullanmak isteyebilirsiniz.
Özellikler:
android:keycode
Dize. (Zorunlu.) Şuradan bir anahtar kodu:
Temsil eden KeyEvent
yanıt vermek istediğiniz işlem tuşu (örneğin, "KEYCODE_CALL"). Bu
parametresi
ACTION_SEARCH.
amaca aktarılan bir anahtar kelimedir. Anahtar kodunu incelemek için
getIntExtra(SearchManager.ACTION_KEY)
Bir arama işlemi için tüm tuşlar desteklenmez; çünkü birçoğu yazma amacıyla kullanılır.
veya sistem işlevleri.
Dize. Ekran başındayken işlem tuşuna basıldığında gönderilecek
net bir şekilde ulaşabilirsiniz. Bu, sistemin
öneri için tanımladığınız işlemi kullanarak.
dize, kullan
getStringExtra(SearchManager.ACTION_MSG)
Bu seçeneği yalnızca tüm önerileriniz bu işlem tuşunu destekliyorsa kullanılmalıdır. Tüm
öneriler aynı işlem tuşunu işleyebilir, ardından bunun yerine aşağıdakileri kullanmanız gerekir:
android:suggestActionMsgColumn özelliği için de kullanılmaktadır.
android:suggestActionMsgColumn
Dize. İçerik sağlayıcınızda,
kullanıcı işlem tuşuna bastığında gönderilecek olan işlem mesajı
bir öneriye odaklanılır. Bu özellik, bir cihazdaki işlem tuşunu kontrol etmenizi
bunu her öneride ayrı ayrı yapabilirsiniz. Çünkü
Tümü için işlem mesajını tanımlamak üzere android:suggestActionMsg özelliği
önerilerinde, içerik sağlayıcınızdaki her giriş kendi işlem mesajını sağlar.
Öncelikle, içerik sağlayıcınızda sağlanacak her öneri için bir sütun tanımlamanız gerekir
bir işlem mesajı gönderin, ardından bu özellikte söz konusu sütunun adını sağlayın. Sistem
öneri imlecinize bakar ve işleminizi seçmek için burada sağlanan dizeyi kullanır
mesaj sütununu, ardından imleçten işlem mesajı dizesini seçer. Bu dize
daha önce girdiğiniz işlemi kullanarak, sistemin aranabilir etkinliğinize ilettiği amaca eklenir.
tanımlamayı öğrendiniz. Dizeyi incelemek için
getStringExtra(SearchManager.ACTION_MSG)
Seçilen öneri için veri yoksa işlem tuşu yoksayılır.
örnek:
XML dosyası res/xml/searchable.xml itibarıyla kaydedildi:
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.