Как добавить опцию поиска в приложении для Android? - PullRequest
3 голосов
/ 18 июля 2011

Я занимаюсь разработкой приложения для Android в Android, в котором я хочу использовать опцию поиска, с помощью которой я могу искать определенный элемент данных либо из веб-служб, либо из базы данных?

Ответы [ 4 ]

3 голосов
/ 18 июля 2011

Создайте файл XML с именем list_item.xml и сохраните его в папке res / layout /. Отредактируйте файл, чтобы он выглядел так:

 ?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp"
android:textColor="#000">
</TextView>

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal"
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
android:padding="5dp">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Country" />
<AutoCompleteTextView android:id="@+id/autocomplete_country"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dp"/>
</LinearLayout>

Java

 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

  AutoCompleteTextView textView = (AutoCompleteTextView)  findViewById(R.id.autocomplete_country);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES);
textView.setAdapter(adapter);
}

Внутри класса HelloAutoComplete добавьте массив строк:

  static final String[] COUNTRIES = new String[] {
   "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",};
3 голосов
/ 18 июля 2011

Поиск в вашей базе данных

SQLLite предоставляет встроенную функциональность, позволяющую осуществлять полнотекстовый поиск

Из веб-сервиса

Если при обычном поиске через веб-службу вы просто отправляете условия поиска на сервер через веб-службу, сервер выполняет поиск, а вы анализируете ответ.

Lucene

Если вы ДЕЙСТВИТЕЛЬНО не спрашиваете о поисковом индексе, где у вас могут быть ключевые слова, позволяющие быстро индексировать большую базу данных, или веб-сервис, поскольку данные могут не дублироваться между ними.

В этом случае вы можете использовать LUCENE

Однако, чтобы заставить lucene работать с Android, вам может понадобиться проверить исходный код и удалить несколько зависимостей с RMI.

Смотрите решение в нижней части этой страницы (нужно удалить только 2 файла, и оно должно скомпилироваться и работать с Android).

Как реализовать диалоговое окно поиска

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

Руководство для разработчиков Android

Пример кода

1 голос
/ 10 января 2012

вы можете использовать диалог поиска; см. следующую ссылку: http://developer.android.com/guide/topics/search/search-dialog.html также: http://mobileorchard.com/android-app-development-implementing-search-activities/

1 голос
/ 18 июля 2011

Используйте edittext с кнопкой или автоматическое заполнение текста с помощью кнопки.

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

Надеюсь, я выполнил требование и помог вам.

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