Скрыть строку поиска в браузере андроид

Обновлено: 02.07.2024

Данный поисковой модуль для рабочего стола является стандартным виджетом, предустанавливаемым в « чистой » версии Android и ряде сборок. Суть использования модуля заключается в том, что поисковый запрос может быть задан прямо с рабочего стола без вызова «Голосового помощника» или запуска браузера. Из материала далее можно узнать о том, как убрать строку поиска Google с экрана Android 7 (и других модификаций ОС).

Зачем удалять панель поиска Google

Google хочет, чтобы его помощник был популярен. Таким образом, они положили значок микрофона на панель поиска, надеясь, что вы его используете благодаря удобному размещению. Но если вы не вникаете в это, вам определенно стоит освободить место на главном экране.

Наиболее распространенной проблемой является заполнение экрана: этот бар занимает пространство, которое можно было бы лучше использовать, отображая значки приложений или красивые обои.

Отключение поисковой строки

Итак, чтобы отключить надоедливый поиск на рабочем столе вашего смартфона/планшета, достаточно будет проделать следующие действия:

Как скрыть поиск Google на разных девайсах

На большинстве аппаратов виджет поиска выглядит так:

Чтобы его скрыть, подержите на нем палец, пока ваше устройство не завибрирует. Тогда виджет поиска открепится от места, где он находился, а в верхней части экрана появится значок мусорного ведра. Просто перенесите туда виджет, не отрывая руку. Как только вы доведете его в нужное место – отпустите палец.

После этого поисковая строка пропадает с рабочего стола, но остается в меню виджетов. Приложение поиска тоже останется на месте, в главном меню.

На некоторых моделях телефонов, например, Sony, строка поиска прячется чуть иначе. Вам нужно будет подержать палец на ней до появления надписи «Скрыть».

Нажмите на кнопку, обведенную на скриншоте, и панель скроется. Находится она будет, как и в предыдущем случае, в меню виджетов.

Телефоны Samsung

  • Нажмите и удерживайте панель поиска Google.
  • Перетащите его в значок корзины в верхней части экрана.

Чтобы вернуть строку поиска:

  • Нажмите и удерживайте пустое место на главном экране.
  • Нажмите «Виджеты» в появившемся меню.
  • Найдите папку Google App и коснитесь ее.
  • Перетащите панель поиска из папки в подходящее место на одном из ваших домашних экранов.

Телефоны Sony

  • Нажмите и удерживайте панель поиска Google. Появится новое меню.
  • В верхней части экрана будет панель поиска Google, а с правой стороны — Hide (Скрыть). Нажмите «Скрыть».

Если вы хотите вернуть панель поиска Google после того, как вы ее удалили, просто отмените вышеуказанные шаги!

Варианты, предложенные пользователями

Существует больше, чем один способ решения такого вопроса, как строка поиска Google, и мы нашли в интернете несколько вариантов, предложенных пользователями из европейских стран.

Например, британец по имени Даниэль Фьюри рекомендует отключить приложение Google в настройках, причем этот способ должен быть рабочим во многих версиях Android. Вот что нужно сделать:

  • откройте раздел «Настройки», далее войдите в «Приложения»;
  • в секции «Все приложения» найдите приложение Google, кликните по нему, после чего найдите опцию «Отключить» и нажмите на нее;
  • перезагрузите ваш девайс, и строка поиска должна будет исчезнуть.

Другой пользователь делится другим способом, который может помочь многим людям:

  • сделайте долгое нажатие на пустое место домашнего экрана вашего телефона;
  • перед вами появятся несколько опций, в том числе «Настройки». Выберите ее;
  • уберите галочку возле «Показать панель инструментов Google на домашнем экране» (или похожей надписи).

Удаление Гугл поиска перетаскиванием виджета

Убрать с экрана строку поиска Гугл можно и простым перетаскиванием, поскольку это обычный виджет. Но на разных устройствах это делается по-разному.

Нажмите на строчку и задержите палец.


Если вверху экрана появится изображение корзины, то просто перетащите на нее виджет. После этого с рабочего стола он пропадет.


Может быть и такой вариант: задержите на строке палец, откроется небольшое контекстное меню. В нем выберите пункт «Удалить».


Гугл поиск с главного экрана исчезнет, а если понадобится, вы всегда можете его вернуть назад, выбрав в списке виджетов.


Если хотите убрать с рабочего стола Гугл поиск на планшете, то действия очень схожи с теми, что нужно сделать на телефоне. Задержите на виджете палец, а потом или переместите его вверх на изображение корзины или слово «Удалить», или выберите из контекстного меню подходящий пункт.


Отключаем приложение Google

Данные метод позволяет убрать строку поиска Гугл с экрана через настройки телефона. Стоит отметить, что способ работает на довольно старых версиях Андроида, поэтому рекомендовать его для каждого смартфона бессмысленно. Итак, приступим.

Сначала необходимо зайти в настройки устройства.


Теперь спускаемся и переходим во вкладку «Приложения».


Здесь из большого списка программ нужно найти утилиту «Google Поиск». Стоит понимать, что в зависимости от прошивки название может быть другим, например, просто «Google».


После мы попадаем на окно с программой, где требуется нажать кнопку «Остановить».


Система спросит о нашем согласии, нажимаем «ОК».


После этого вкладка «Остановить» окрасится в серый цвет, что свидетельствует о неактивности приложения.

Как видим, убрать строку поиска Гугл с экрана телефона не сложно. Главное – быть внимательным и не выключить какую-то нужную программу.

Через настройки смартфона

Если по какой-то причине предыдущий способ не подошел или вы хотите не просто убрать виджет с главного экрана, а полностью удалить его с устройства, то можно воспользоваться тремя другими методами. Первый из них подразумевает удаление утилиты в настройках телефона, а также остановку приложения Google. Для этого первым делом необходимо перейти в настройки смартфона. Сделать это можно из меню приложений или опустив верхнюю шторку Android.


В настройках найдите раздел «Приложения». Там можно найти все установленные на смартфоне программы, вплоть до системных инструментов Android. В этом списке необходимо приложение «Google Поиск». На некоторых устройствах можно воспользоваться поиском. Открыв параметры нужного приложения, нажмите на кнопку «Остановить». Система попросит дать подтверждение этому действию, после чего отключит программу.


В более новых версиях андроида необходимо искать «Google». Однако стоит понимать, что остановка этой программы выключит не только виджет поиска на главном экране, но и другие сервисы от этой компании.


Помимо этого, важно отметить, что это только временная мера и после перезагрузки телефона поисковая строка вновь появится. Если вы обладатель старого телефона с версией Android ниже 5.0, то эту программу можно не только остановить, но и удалить.

Устанавливаем сторонний лаунчер

Отличным способом удалить Гугл поиск является установка стороннего лончера. С его помощью можно не только убрать не нужный элемент, но и настроить рабочий стол на свой вкус. Сейчас в Google Play можно найти множество различных лаунчеров , некоторые из которых даже копируют прошивки известных брендов (Samsung, Apple).

Мы рассмотрим удаление панели поиска на примере лончера «Nova Launcher». Во-первых, программа полностью бесплатная. Во-вторых, приложение не занимает много места на телефоне.


Сразу после загрузки нажмите на смартфоне кнопку «Home». Система спросит вас об используемом лаунчере, где нужно выбрать установленную программу. Чтобы данное окно больше не всплывало рекомендуется поставить галочку возле пункта «Всегда».

Теперь рабочая область значительно изменилась. Можно посмотреть настройки лончера и подогнать некоторые детали под себя.

Для того, чтобы убрать строку поиска Google, нужно удержать на ней палец, а после выбрать «Удалить».


С помощью прав суперпользователя

Последний способ, который будет разобран в этой статье, подразумевает полное удаление этого сервиса с устройства. Однако важно отметить, что такой способ может не сработать на телефонах с андроидом версии выше 6.0. Однако вы все равно можете попробовать сделать это. Данный метод подразумевает получение прав суперпользователя и дальнейшее их использование для удаления утилиты.


Когда права суперпользователя будут получены, необходимо скачать приложение под названием Root Uninstaller. Оно бесплатное и загружается с официальной площадки Google Play. После установки программы рекомендуется придерживаться следующего алгоритма:

  1. Откройте программу Root Uninstaller.
  2. Перейдите в раздел «SystemApps».
  3. Найдите нужное приложение. Оно должно называться Google Start.
  4. Кликните по нему, чтобы открылась дополнительная информация. В этом меню можно включить (Enable), сделать резервную копию (Backup), сбросить (Reset) или удалить (Uninstall) приложение.

Главный минус этой программы — отсутствие интерфейса на русском языке. Однако особые знания не требуются, поскольку здесь все понятно на интуитивном уровне.

Через установку другого Launcher

Если нужно не просто убрать Гугл поиск с экрана на телефоне на Андроид, а настроить рабочий стол полностью «под себя», тогда можете воспользоваться установкой стороннего лаунчера. Найти их можно в Плей Маркете, просто напишите в строку поиска «лаунчер». Они есть как платные, так и бесплатные. Рассмотрим Nova Launcer, который распространяется бесплатно и обладает большим количеством настроек.


После установки просто нажмите на устройстве кнопку «Домой». Она может быть сенсорная или механическая. Потом появится окно: «Что использовать?». Укажите только что установленное приложение и выберите «Всегда». Ваш рабочий стол изменится. Настраивайте его как вам удобно. Чтобы удалить строку Гугл поиск, достаточно задержать на ней палец и выбрать из списка «Удалить».


Как удалить строку поиска Google, наделив Android-устройство root-правами

Это не станет сюрпризом для тех, кто слышал о таком процессе. Если вы наделили ваш телефон root-правами, вы можете удалить поисковую строку Google. Если вы еще ничего не знаете, что такое root-права, то мы можем кратко сказать: это тот случай, когда вы предоставляете себе полный контроль над вашим телефоном – на уровне так называемого «корневого системного каталога». При наличии root-прав Android можно настраивать почти бесконечно, и, как только на вашем устройстве появились такие права, почти любая пользовательская прошивка позволит вам удалить приложение Google Search.

Заключение

Из материала выше можно понять, как убрать поиск Гугл с рабочего стола Андроид за несколько шагов. Если в приоритете находится любая другая поисковая система либо владельцу телефона проще говорить « Ok, Google! », чтобы задать свой вопрос, то нужно воспользоваться одним из предложенных способов удаления данной надстройки.

Google Поиск

По выходу четвёртого обновления системной оболочки смартфонов Android, её разработчики зачем-то решили внести поправки, касающиеся графического интерфейса, а не технических качеств. Другими словами, это был именно тот апдейт, когда в Android была добавлена надоедливая строка «Google Поиск», появившаяся на главном окне смартфона каждого пользователя. Вы можете сказать, что она и раньше присутствовала, но тогда её было очень просто стереть. Сейчас же, это стало чуть посложней.

Специально ли вы искали эту статью или случайно на неё набрели, но для вас не будет секретом факт, что находящаяся на основном экране вашего Android смартфона поисковая строка «Google» совершенно там не кстати и её нужно убрать. Подавляющее большинство людей заходит в браузер, которым они пользуются, и производят все манипуляции с поиском уже там. Возможно потому, что это просто-напросто удобней. Надеемся, эта статья поможет вам решить это маленькое неудобство.

На самом деле, на большинстве смартфонов удалить виджет «Google Поиск» крайне легко. Проблема заключается именно в тех непонятных моделях, где вендоры не захотели добавлять такую возможность в заводской комплектации, вынуждая бедных пользователей рыскать просторы Интернета в поисках решения.

Одну из которых мы будем обсуждать далее. Ну а если вам повезло больше – то вы сможете удалить виджет как и любой другой – тапнуть по нему пальцем и зажать, пока не появится меню снизу. Одной из иконок снизу должна быть корзина. Перемещаем виджет на неё и вуаля – надоедливой строки больше нет. Ну а теперь к детальной полной остановке приложения Google.

На новых версиях ( Андроид 10, Андроид 9 ), если мы удерживаем палец на самом Гугл поиске, то нам выходит менюшка ввиде маленького окошка

Гугл поиске

Как остановить/отключить Google Поиск?

Перейдём к детальной пошаговой инструкции. Советуем взять в руки ваш смартфон и следовать шагам по мере прочтения.

Google Поиск

    Для начала удаления виджета поисковика гугла с основного окна нам необходимо зайти в меню «Настройки» смартфона и нажать пальцем на опцию «Приложения».

Затем нам необходимо найти опцию «Все» приложения, теперь ищем «Google», который так вам мешает. После нажатия на нужную нам опцию нажмите на «О приложении», теперь мы в субменю Гугл поиска.

ищем гугл поиск

останавливаем гугл поиск

Являюсь руководителем проекта, люблю андроид. Слежу за новинками, новостями, а так же помогаю решить проблему возникшую у пользователей в андроид смартфонах!

Для того чтобы воспользоваться полными возможностями сайта, пожалуйста авторизуйтесь с помощью социальных сетей.

Если у вас возникли вопросы с решением проблемы на вашем смартфоне. Оставьте комментарий подробно описав проблему, и обязательно укажите модель вашего смартфона. Мы постараемся помочь вам!

Не успела остыть кнопка «Установить» на странице Яндекс.Поиска для Android после недавнего обновления с готовыми ответами, а у нас ещё одна новость на тему поиска и этой платформы.

Теперь у вас есть возможность включить поисковую строку с информерами Погоды и Пробок в панели уведомлений. Чтобы лёгким движением руки можно было бы узнавать температуру воздуха и «температуру асфальта», а также, конечно, задавать вопросы Яндексу.

Например, пишете вы в Твиттер или читаете СМС, пишете СМС или читаете Твиттер — и нужно что-то узнать «прямо сейчас». Не выходя из приложения, выдвигаете панель уведомлений, нажимаете на поисковую строку и спрашиваете Яндекс.

У скачавших приложение Яндекс.Поиск строка в панели уведомлений появится автоматически. Отключить её можно в настройках самой панели.

С сегодняшнего дня быстрый поиск также можно включить в Яндекс.Метро. В других приложениях эта возможность станет доступна пользователям в ближайшее время. Приложения сами предложат вам такую возможность, а вы уже решите, включать или не включать быстрый доступ к поиску в вашем Android.

Команда мобильного поискаУскоряемся!

Как убрать строку поиска Google в Android — избавляемся от ненужных подарков

С появлением четвёртой версии ОС Android Ice Cream Sandwich кроме множества технических и дизайнерских решений, изменился и встроенный лаунчер, теперь в нём появился новый элемент — поисковая строка от Google. И если в более ранних версиях этот элемент присутствовал в виде виджета, то начиная с Android 4.0 ICS поисковая строка стала элементом интерфейса.


Убираем строку поиска

На самом деле, мы можем довольно просто отключить поисковую строку от Google. Что для этого нужно сделать:

Открываем «Настройки» (Settings), выбираем «Приложения» (Apps), в разделе приложений переходим во вкладку «Все» (All). Находим приложение «Google поиск» (Google Search) (перед этим удалить кэш, и удалить обновления), затем появится предупреждение о возможном сбое в работе приложений, игнорируем его и нажимаем «ОК»:


В более поздних версиях OS Android действия могут выглядеть несколько иначе, но смысл тот же: «тапаем по пустому месту на главном экране -> «Настройки» -> «Приложения» -> «Выключить»:


В общем, после описанных манипуляций, подарок от Гулуа в виде поисковой строки больше не будет вам мозолить глаза, но не исключено, что после перезагрузки смартфона, поисковая строка вернётся на своё место.

Это связано с тем, что это приложение (как говорилось выше) является встроенным, и если у вас так и произошло, а избавиться хочется кардинально, то есть смысл установить другой лаунчер или удалять, как системное приложение, а для этого понадобятся ROOT-права. Про удаление системных приложений читаем тут, а как получит рут права читаем здесь.

Оставайтесь на связи, удачи!

Очистить Яндекс Браузер в Андроиде: легко и просто


История – это место, в котором сохраняются адреса всех посещенных интернет-площадок (исключением является время, когда используется режим «Инкогнито»).

У пользователя, еще не освоившегося в использовании андроида или самого приложения Яндекс, могут появиться вопросы по тому, как ее (историю) очистить. Данные рекомендации могут помочь и при удалении историй других браузеров и операционных систем.

Если вы не хотите, чтобы кому-то стало известно о посещенных вами ресурсах, вам приходится чистить историю браузера, причем там сохраняются не только названия сайтов, но и подразделов, в которые вы переходили. Очищение истории не всегда подходящий вариант.

Если с вашего устройства будет выполнен запрос, историю по которому вы удаляли, посещенные страницы все равно будут обладать фиолетовым оттенком. А при самом процессе вбивания запроса может выйти фраза, по которой вы решили искать информацию. При режиме «Инкогнито» ничего подобного (ни страниц, ни запросов) поисковик и само приложение не запоминают.

После использования режима «Инкогнито» удалять историю ненужно.

Как удалить историю с телефона и планшета?

Удалять историю на андроид-телефоне нужно таким образом:

  • Запустите Яндекс.Браузер.
  • Найдите значок три, заложенный в две горизонтальные полоски.
  • Затем перейдите по иконке в виде часов.
  • Удерживайте ссылку, которую нужно удалить. Возможно, в вашей мобильной версии яндекса можно отметить галочкой сразу несколько страниц, которые необходимо удалить.


Удалить историю на планшете намного легче:

  • Открываете приложение.
  • Нажимаете рядом с вкладкой на значок в виде плюсика «+».
  • Затем выбираете функцию «История».
  • Выбираете необходимые ссылки и удаляете их.

Если хотите избавиться от всей истории посещенных страниц, чтобы она была полностью очищенной, то легче и быстрее будет это сделать через быстрое меню:

Быстрый поиск Яндекса теперь в Android

26.06.2012 | «Мобильные сети»

Все владельцы смартфонов и планшетных компьютеров на базе операционной системы Android получили возможность включить поисковую строку с информерами Яндекс.Пробок и Погоды в панели уведомлений, благодаря чему теперь можно своевременно получать информацию о загруженности дорог и текущей температуре «за бортом», а также осуществлять обратную связь с Яндексом. Иными словами, если вам требуется быстрая и оперативная информация, можно прямо находясь в приложении активировать панель уведомлений, кликнуть по поисковой строке и задать вопрос Яндексу.

У всех пользователей, установивших приложение Яндекс.Поиск, строка в панели уведомлений активируется автоматически. Убрать ее можно с помощью настроек данной панели. Также быстрый поиск модно включить и в приложении Яндекс.Метро. В других программах такая опция появится в течение ближайшего времени. Приложения сами предложат вам новую функцию, а владелец устройства примет решение – активировать ему быстрый доступ к поиску или нет.

Рейтинг материала: 2.9/5 звезд (47 голосов)

Как очистить историю поиска в Яндексе на телефоне андроид должен знать каждый пользователь современных гаджетов. Так как именно данный браузер используется в большинстве случаев для просмотра сайтов. Заходя в Яндекс-браузер, сохраняются все введенные запросы, сайты и другая достаточно важная информация, которой в отдельных случаях могут завладеть нежелательные персоны. Именно потому очень важно знать, где и как можно стереть свои запросники. Только в этом случае Вы сможете гарантировать сохранность персональных данных, а именно информация просто не сможет попасть кому-то другому в случае утери. Ведь данные просто будут удалены.


Следует учитывать тот момент, что нередко владельцы смартфонов или планшетов, вводя в поисковую строку Яндекс-браузера какие-либо запросы пугаются того факта, что на экране появляются запросы. Они считают, что эти запросы, которые сохранились ранее, соответственно, история не очищена.

Однако, это заблуждение, так как так называемая «подводка» — те запросы, которые выскакивают, генерируются автоматически самой системой. Подводка не имеет ничего общего с историей Вашего браузера. Историю поисковых запросов можно скорректировать, если удалить данные отдельного периода. Также можно удалить полностью всю историю.



Учитывая эти моменты, важно осознавать, что полностью исключить доступ к своей личной информации в Яндексе не получится, если просто удалить данные в браузере. Кроме этого следует удалить историю поиска, которая находится в глобальных настройках.


Как удалить историю поиска в Яндексе на телефоне мы расскажем прямо сейчас. Следует учитывать, что данный браузер дает возможности удаления не только запросов и истории, которые были заданы из-под него. Плюс к тому, можно удалить запросы, которые были экспортированные из других браузеров. К примеру, таких как Opera или Goggle. Естественно, здесь берутся случаи, когда Вы согласились на экспорт.



Для того, чтобы удалить прежние данные поиска, следует сделать следующее:

  1. Запускаем Яндекс-браузер, после чего тапаем на иконку с буквой «S». Вы переходите в навигационное меню между вкладок;
  2. Чтобы перейти в меню «История» тапаем на иконку «Часы»;
  3. В меню, которое открылось, смотрим перечень сайтов, которые Вы посещали ранее. Важно, что удалять данные можно не только полностью. Имеется возможность выборочной очистки.

При частичной очистке указанные, посещенные ранее страницы, удаляются, остальные же остаются, как и были. Пользоваться частичным удалением следует, если имеется необходимость в удалении отдельных посещений.

Однако, в большинстве случаев вернее удалить всю сетевую активность.


Чтобы произвести такую очистку необходимо сделать следующее:

  1. Тапаем на иконку с тремя вертикально расположенными точками;
  2. В появившемся меню находим пункт «Настройки»;
  3. Откроется новый экран, где будут собраны все возможные элементы для управления браузера;
  4. Находим раздел «Конфиденциальность». Здесь следует убедиться, что такая функция, как «История» включена;


В результате, вся информация должна быть удалена. Чтобы в этом убедиться, следует зайти в меню с историей. В случае, если Вы все сделали в строгом соответствии с предоставленной выше инструкции, в истории не будет никаких данных. Теперь возникает вопрос, как удаляется глобальная сетевая история…


Как удалить историю поиска в Яндексе на телефоне мы рассмотрели, а вот как очистить сетевую информацию — нет. Об этом далее… Проводя параллели с Яндекс-браузером, с глобальной историей ситуация такая же. Ее можно удалить как частично, так всю. В итоге, данные будут полностью недоступными для Вас и конечно же для других людей, которые могут завладеть Вашим аккаунтом в случае утери девайса или какой-то другой форс-мажорной ситуации.

Чтобы удалить свои данные воспользуйтесь следующей инструкцией:

Заходим в свой аккаунт, историю которого Вы, впоследствии, хотели бы удалить. Проверьте, что Вы действительно находитесь в нем. Чтобы это сделать, заходим на абсолютно любой сайт Яндекс-сервисов. Там будет указано Ваше имя или имя того пользователя, который вошел в систему;

В результате, Ваши прежние запросы не будут влиять на выдачу браузера.

Как очистить историю поиска в Яндексе на телефоне андроид, а также как очистить глобальную истории Вы теперь знаете. Однако, если Вы хотите иметь полную анонимность в своих действиях следует использовать другие браузеры. В частности, одним из лучших таких браузеров, которые обеспечивают максимальную приватность Вашего гаджета, является TOR.

Как удалить Яндекс поиск на Андроид. После заявления Яндекса в ФАС на Google о том, что Google злоупотребляет своим положением владельца операционной системы Android и навязывает пользователям свои браузер, поисковую систему и другие приложения. Казалось бы какое дело Яндексу? Никакого, эти хитрецы захотели заработать и заставить рукой закона внедрять свой поиск в операционную систему Android.

Рекомендуем вам получение root прав в 1 клик, используя Rootkhp Pro

Мы считает что у пользователя должно быть право выбора, должна быть возможность отключить поиск от Google, Yandex и других компаний.

Как удалить Яндекс на Андроид

Полностью удалить приложение Яндекса можно только имея root права.

Root на Andro >Как удалить рекламу из приложения

Однако Яндекс поиск можно легко отключить, для этого:

Зайдите в настройки – gt; приложения – gt; выберите Яндекс и нажмите отключить. Ещё можно удалить обновления приложения и кеш почистить чтобы память освободилась. Так как у меня удалено данное приложение, я покажу скрин на примере другого.

image

В статье описывается создание несложного приложения, которое использует механизм реализации поиска, основанный на возможностях встроенного фреймворка. После прочтения вы также сможете настроить свое приложение таким образом, чтобы оно осуществляло поиск по данным, используя стандартный Android Search Dialog.

Немного теории

Android Search Dialog (далее — «диалог поиска») управляется с помощью поискового фреймворка. Это означает, что разработчику не нужно задумываться над тем как его нарисовать или как отловить поисковый запрос. За вас эту работу сделает SearchManager.

  • Конфигурационный xml файл (в нем содержится информация о диалоге)
  • Activity, которое будет получать поисковые запросы, выполнять поиск и выводить результаты на экран
  • Механизм вызова поискового диалога (так как не все устройства с Android на борту имеют на корпусе кнопку поиска)

Конфигурационный файл


Начнем с создания конфигурационного файла, потому что это самая простая часть. Конечно, вам нужно заранее приготовиться, создать новый проект, Activity (У меня используется Activity «Main» и имя проекта «SearchExample»). Всё, что нужно для конфигурации — это создать файл searchable.xml в поддиректории res/xml/ вашего проекта, со следующим содержанием.

<? xml version ="1.0" encoding ="utf-8" ? >
< searchable xmlns:android ="http://schemas.android.com/apk/res/android"
android:label ="@string/app_name"
android:hint ="@string/search_hint"
>
</ searchable >

* This source code was highlighted with Source Code Highlighter .

Обязательным атрибутом является только android:label, причем он должен ссылаться на строку, которая является такой же, что и название приложения. Второй атрибут, android:hint используется для отображения строки в пустом диалоге. Например, это может быть «Поиск по Видео» или «Поиск контактов» и т.п. Этот атрибут указывает на то, по каким данным осуществляется поиск. Также важно знать, что элемент searchable поддерживает множество других атрибутов, подробнее можно прочесть Здесь.

Создаем Activity

Минимально, всё что нам нужно от пользовательского интерфейса Activity — это список для вывода результатов поиска и механизм вызова поискового диалога. Так и сделаем, добавив только поле для ввода текста и кнопку, чтобы мы сами могли заполнять базу. Забегая вперед, скажу, что данные будем хранить в БД SQLite.

Опишем интерфейс Activity следующим образом (файл находится в res/layout/main.xml).

<? xml version ="1.0" encoding ="utf-8" ? >
< LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android"
android:orientation ="vertical"
android:layout_width ="fill_parent"
android:layout_height ="fill_parent" >
< LinearLayout
android:orientation ="horizontal"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:gravity ="top" >
< EditText
android:id ="@+id/text"
android:layout_width ="wrap_content"
android:layout_height ="wrap_content"
android:hint ="@string/text"
android:layout_weight ="100.0" />

< Button
android:id ="@+id/add"
android:layout_width ="wrap_content"
android:layout_height ="wrap_content"
android:text ="@string/add" />

</ LinearLayout >
< ListView
android:id ="@android:id/list"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content" />

< TextView
android:layout_gravity ="left"
android:id ="@android:id/empty"
android:layout_width ="fill_parent"
android:layout_height ="fill_parent"
android:text ="@string/no_records" />

</ LinearLayout >

* This source code was highlighted with Source Code Highlighter .

Выглядит следующим образом:

image

Также нам понадобится layout для вида элемента списка, опишем его простейшим образом (файл находится в res/layout/record.xml)

<? xml version ="1.0" encoding ="utf-8" ? >
< TextView
android:id ="@+id/text1"
xmlns:android ="http://schemas.android.com/apk/res/android"
android:layout_width ="wrap_content"
android:layout_height ="wrap_content"
/>

* This source code was highlighted with Source Code Highlighter .

Также, не забываем про файл ресурсов, где хранятся наши строки (файл в res/values/strings.xml)

<? xml version ="1.0" encoding ="utf-8" ? >
< resources >
< string name ="app_name" > SearchExample </ string >
< string name ="add" > Add </ string >
< string name ="text" > Enter text </ string >
< string name ="no_records" > There are no records in the table </ string >
< string name ="search_hint" > Search the records </ string >
< string name ="search" > Search </ string >
</ resources >

* This source code was highlighted with Source Code Highlighter .


Напоминаю, что когда пользователь выполняет поиск, то нужно, чтобы SearchManager отправлял Intent вместе с поисковым запросом к нашему Activity. Чтобы SearchManager точно знал, куда ему отсылать Intent, нужно объявить об этом в манифесте. Итак, идем в AndroidManifest.xml, и изменяем его так, чтобы Activity могло принимать Intent'ы типа Search. Кроме этого, применим наш конфигурационный файл searchable.xml. Итак, манифест будет выглядеть примерно так:

<? xml version ="1.0" encoding ="utf-8" ? >
< manifest xmlns:android ="http://schemas.android.com/apk/res/android"
package ="com.example.search"
android:versionCode ="1"
android:versionName ="1.0" >
< application android:icon ="@drawable/icon" android:label ="@string/app_name" >
< activity android:name =".Main"
android:label ="@string/app_name" >
< intent-filter >
< action android:name ="android.intent.action.MAIN" />

< category android:name ="android.intent.category.LAUNCHER" />

</ intent-filter >
< intent-filter >
< action android:name ="android.intent.action.SEARCH" />

</ intent-filter >
< meta-data
android:name ="android.app.searchable"
android:resource ="@xml/searchable"
/>
</ activity >

</ application >
< uses-sdk android:minSdkVersion ="5" />

* This source code was highlighted with Source Code Highlighter .

Сейчас, вы уже можете проверить, все ли вы сделали правильно. Вызвать диалог на эмуляторе можно, например, нажав кнопку поиска. Ну или если вы проверяете на девайсе, то зажав «Меню». Выглядеть должно примерно так:

image

Выполнение поиска

  • Получение запроса
  • Поиск данных
  • вывод результатов
Получение запроса

Так как SearchManager посылает Intent типа Search нашему Activity, то всё что нужно сделать это проверить на Intent этого типа при старте Activity. Тогда, если мы получаем нужный Intent, то можно извлекать из него экстру и выполнять поиск.

Поиск данных
Вывод результатов

Вообще вывод результатов — это проблема UI, но так как мы используем ListView, то для нас проблема решается простым обновлением адаптера.

Исходный код

Наконец, привожу полный исходный код двух классов с комментариями. Первый — Main, наследник ListActivity, он используется для наполнения БД и вывода результатов. Второй класс — RecordsDbHelper, он реализует интерфейс для взаимодействия с БД. Самые важные методы — добавление записей и поиск совпадений, с помощью запроса LIKE.

Файл Main.java

import android.app.ListActivity;
import android.app.SearchManager;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.SimpleCursorAdapter;

public class Main extends ListActivity private EditText text;
private Button add;
private RecordsDbHelper mDbHelper;

@Override
public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Создаем экземпляр БД
mDbHelper = new RecordsDbHelper( this );
//Открываем БД для записи
mDbHelper.open();
//Получаем Intent
Intent intent = getIntent();
//Проверяем тип Intent
if (Intent.ACTION_SEARCH.equals(intent.getAction())) <
//Берем строку запроса из экстры
String query = intent.getStringExtra(SearchManager.QUERY);
//Выполняем поиск
showResults(query);
>

add = (Button) findViewById(R.id.add);
text = (EditText) findViewById(R.id.text);
add.setOnClickListener( new View.OnClickListener() public void onClick(View view) String data = text.getText().toString();
if (!data.equals( "" )) saveTask(data);
text.setText( "" );
>
>
>);
>

private void saveTask( String data) mDbHelper.createRecord(data);
>

private void showResults( String query) //Ищем совпадения
Cursor cursor = mDbHelper.fetchRecordsByQuery(query);
startManagingCursor(cursor);
String [] from = new String [] < RecordsDbHelper.KEY_DATA >;
int [] to = new int [] < R.id.text1 >;

SimpleCursorAdapter records = new SimpleCursorAdapter( this ,
R.layout.record, cursor, from , to);
//Обновляем адаптер
setListAdapter(records);
>
//Создаем меню для вызова поиска (интерфейс в res/menu/main_menu.xml)
public boolean onCreateOptionsMenu(Menu menu) MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true ;
>

public boolean onOptionsItemSelected(MenuItem item) switch (item.getItemId()) case R.id.search_record:
onSearchRequested();
return true ;
default :
return super.onOptionsItemSelected(item);
>
>
>

* This source code was highlighted with Source Code Highlighter .

Файл RecordsDbHelper.java

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class RecordsDbHelper

public static final String KEY_DATA = "data" ;
public static final String KEY_ROWID = "_id" ;

private static final String TAG = "RecordsDbHelper" ;
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDb;

private static final String DATABASE_CREATE = "CREATE TABLE records(_id INTEGER PRIMARY KEY AUTOINCREMENT, "
+ "data TEXT NOT NULL);" ;

private static final String DATABASE_NAME = "data" ;
private static final String DATABASE_TABLE = "records" ;
private static final int DATABASE_VERSION = 1;

private final Context mCtx;

private static class DatabaseHelper extends SQLiteOpenHelper

DatabaseHelper(Context context) super(context, DATABASE_NAME, null , DATABASE_VERSION);
>

@Override
public void onCreate(SQLiteDatabase db)

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data" );
db.execSQL( "DROP TABLE IF EXISTS tasks" );
onCreate(db);
>
>

public RecordsDbHelper(Context ctx) this .mCtx = ctx;
>

public RecordsDbHelper open() throws SQLException mDbHelper = new DatabaseHelper(mCtx);
mDb = mDbHelper.getWritableDatabase();
return this ;
>

public void close() mDbHelper.close();
>

//Добавляем запись в таблицу
public long createRecord( String data) ContentValues initialValues = new ContentValues();
initialValues.put(KEY_DATA, data);
return mDb.insert(DATABASE_TABLE, null , initialValues);
>

//Поиск запросом LIKE
public Cursor fetchRecordsByQuery( String query) return mDb.query( true , DATABASE_TABLE, new String [] < KEY_ROWID,
KEY_DATA >, KEY_DATA + " LIKE" + "'%" + query + "%'" , null ,
null , null , null , null );
>
>

* This source code was highlighted with Source Code Highlighter .

Читайте также: