С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

SQLite поиск по двум значениям (динамический поиск) - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Создание врагов http://www.cyberforum.ru/android-dev/thread1771459.html
Привет есть вот такой класс, работаю в андроид студио, пытаюсь создать большое количество врагов. Но отрисовывает только одного в методе onDraw, как бы при удаление добавляю нового и так он будет...
Программирование Android Не запускается php файл на сервере через WebWiew String web = "http://домен.ru/my/version.php?ver=1&serial=" + ver1; webView.loadUrl(web);Скрипт PHP не срабатывает, с компьютера - все отлично http://www.cyberforum.ru/android-dev/thread1771376.html
MainActivity AsyncTask Программирование Android
Добрый вечер. Ребята тут небольшая проблема. Мне нужно Заполнить NavigatorDrawer (из базы). Почему когда я пытаюсь в MainActivity получить данные через json с сервера выдает ошибку.
Программирование Android Как указать стандартным галере или фото путь поиска картинок
Всем доброго. Вот такая загвоздка, в приложении нужно показать картинку которая находится где то на SD карте. Код Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);...
Программирование Android Jsoup парсинг сайта http://www.cyberforum.ru/android-dev/thread1770917.html
Помогите пожалуйста. Пытаюсь получить названия книг с сайта livelib. Но он ничего не парсит. Все сайты парсит нормально а на этом не получается . public class NewsFragment extends Fragment { ...
Программирование Android Что-то случилось с Android Studio что то слетело видимо. sdk? библиотеки? нужно восстановить с минимальным скачиванием с инета, ибо инет деревенский, то бишь переустановить sdk не пойдет) подробнее

Показать сообщение отдельно
ul_mralex
2 / 2 / 0
Регистрация: 02.04.2013
Сообщений: 103

SQLite поиск по двум значениям (динамический поиск) - Программирование Android

28.06.2016, 10:14. Просмотров 337. Ответов 0
Метки (Все метки)

Здравствуйте!
Помогите выполнить поиск в базе по двум значениям. Пока поиск осуществляется по одному реквизиту в двух полях MAR и OST, мне необходимо что бы поиск был по двум реквизитам и в двух полях одновременно...
С андроид студио и с "разработкой" приложения для телефона столкнулся впервые, поэтому разобраться сам в этой ситуации не могу, прошу вашей помощи.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
    ListView userList;
    EditText userFilter;
    DatabaseHelper sqlHelper;
    Cursor userCursor;
    SimpleCursorAdapter userAdapter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tram);
 
        userList = (ListView)findViewById(R.id.userList);
        userFilter = (EditText)findViewById(R.id.userFilter);
        sqlHelper = new DatabaseHelper(getApplicationContext());
        // создаем базу данных
        sqlHelper.create_db();
    }
    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
    @Override
    public void onResume(){
        super.onResume();
        try {
            sqlHelper.open();
            userCursor = sqlHelper.database.rawQuery("select * from " + DatabaseHelper.TABLE, null);
            String[] headers = new String[]{DatabaseHelper.COLUMN_MAR, DatabaseHelper.COLUMN_OST, DatabaseHelper.COLUMN_TIME,DatabaseHelper.COLUMN_NAPR};
            userAdapter = new SimpleCursorAdapter(this, R.layout.my_,
                    userCursor, headers, new int[]{R.id.textmar, R.id.textost, R.id.texttime, R.id.textnapr}, 0);
 
            if(!userFilter.getText().toString().isEmpty())
                userAdapter.getFilter().filter(userFilter.getText().toString());
 
            userFilter.addTextChangedListener(new TextWatcher() {
 
                public void afterTextChanged(Editable s) {
                }
 
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                }
 
                public void onTextChanged(CharSequence s, int start, int before, int count) {
 
                    userAdapter.getFilter().filter(s.toString());
                }
            });
 
 
            userAdapter.setFilterQueryProvider(new FilterQueryProvider() {
                @Override
                public Cursor runQuery(CharSequence constraint) {
 
 
                    if (constraint == null || constraint.length() == 0)  {
 
                        return sqlHelper.database.rawQuery("select * from " + DatabaseHelper.TABLE, null);
                    }
                    else {
 
                        return sqlHelper.database.rawQuery("select * from " + DatabaseHelper.TABLE +
                                        " where " + DatabaseHelper.COLUMN_MAR + " like ?" + " or "
                                        + DatabaseHelper.COLUMN_OST + " like ?",
                                new String[]{"%" + constraint.toString() + "%", "%" + constraint.toString() + "%"});
 
 
                        //return sqlHelper.database.rawQuery("select * from " + DatabaseHelper.TABLE + " where " +
                        //      DatabaseHelper.COLUMN_OST + " like ?", new String[]{"%" + constraint.toString() + "%"});
                    }
                }
            });
 
            userList.setAdapter(userAdapter);
        }
        catch (SQLException ex){}
    }
 
    @Override
    public void onDestroy(){
        super.onDestroy();
        // Закрываем подключения
        sqlHelper.database.close();
        userCursor.close();
    }
}
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" android:orientation="vertical"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:weightSum="1">
    <EditText android:id="@+id/userFilter" android:layout_width="match_parent"
        android:layout_height="wrap_content" android:ems="10"
        android:hint="Введите первый параметр"
        />
 
    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Введите второй параметр" />
 
    <ListView
        android:id="@+id/userList"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:focusable="true"
        android:focusableInTouchMode="true">
    </ListView>
 
</LinearLayout>
Добавлено через 21 час 31 минуту
Есть ли у кого примеры расширенного поиска в базе по нескольким параметрам в нескольких полях? Можно ли вообще это реализовать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.