Страница 1 из 1

startManagingCursor и SimpleCursorAdapter - deprecated

Добавлено: 16 авг 2014, 10:19
myandroid
Вот код, который я с трудом нашел в интете из кучи разного кода и взял только необходимое, но сейчас некоторые методы стали deprecated.
[syntax=java5]
Spinner spin1 = (Spinner) findViewById(R.id.spin1);
Cursor spin1_cur = dbHelper.GetCursorSprav("spin1"); // возврат return getReadableDatabase().rawQuery(cmd, null);
startManagingCursor(spin1_cur); // Это уже deprecated, что лучше использовать?
CursorAdapter spin1_curad = new SimpleCursorAdapter(this,android.R.layout.select_dialog_singlechoice ,spin1_cur, new String[]{"spin1"}, new int[]{android.R.id.text1}); //Здесь в конце можно добавить 0 но только для версии 11+, а хочется и для 10
spin1.setAdapter(spin1_curad);[/syntax]


На что лучше заменить startManagingCursor и SimpleCursorAdapter?
Не могли бы вы на моем примере это сделать?
Прошу помощи в решении этого вопроса. Видел несколько примеров, но мне кажется они перегружены, а мне нужно решение только для этого случая.

На третьем сообщении уже можно во всю пользоваться редактированием кода

Re: startManagingCursor и SimpleCursorAdapter - deprecated

Добавлено: 16 авг 2014, 10:24
Foenix
Нельзя просто так взять эти методы и заменить другими.
Новый подход - использование CursorLoader и ContentProvider в связке. Об этом есть отдельные уроки.

Re: startManagingCursor и SimpleCursorAdapter - deprecated

Добавлено: 16 авг 2014, 10:32
Foenix
а вообще, тебе для спиннера, что ли, надо? Да сбрось эти данные в массив и используй его под спиннером, зачем эта маета с курсором?

Re: startManagingCursor и SimpleCursorAdapter - deprecated

Добавлено: 16 авг 2014, 11:39
myandroid
Я понимаю что вы профи, но я новичек и просмотрел множество примеров, все они заточены под что то другое, на мой взгляд должно быть простое решение, но я его не нашел.

1) "а вообще, тебе для спиннера, что ли, надо? Да сбрось эти данные в массив и используй его под спиннером, зачем эта маета с курсором?" - да для спиннера, как бросить в массив, подскажите?

2) "Новый подход - использование CursorLoader и ContentProvider в связке. Об этом есть отдельные уроки." - я видел эти примеры, но как мне быть когда несколько спиннеров? И как правильно использовать? Все примеры с контактами, а как сделать их со своей базой?

Re: startManagingCursor и SimpleCursorAdapter - deprecated

Добавлено: 16 авг 2014, 11:47
Foenix
внизу есть кнопка "редактор", там есть цитаты и теги "код" и прочее.

Re: startManagingCursor и SimpleCursorAdapter - deprecated

Добавлено: 16 авг 2014, 11:53
Foenix
http://www.mkyong.com/android/android-s ... t-example/
http://startandroid.ru/ru/uroki/vse-uro ... hij-spisok
только заполняй список не как в примерах, а пройдись по курсору и заполни массив своими данными. Если не знаешь как цикл сделать - то учи основы.

Re: startManagingCursor и SimpleCursorAdapter - deprecated

Добавлено: 16 авг 2014, 13:13
myandroid
Спасибо за ответ.

ArrayAdapter я уже делал такое брал данные из xml
Вопрос как взять из sql и передать туда id и name для data
[syntax=java5]String[] data = {"one", "two", "three", "four", "five"};[/syntax]

[syntax=java5]ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);[/syntax]

Вернее вопрос как вместо data установить cursor, можно вообще сделать?
Типа такого:
[syntax=java5]return getReadableDatabase().rawQuery(cmd, null);[/syntax]

Re: startManagingCursor и SimpleCursorAdapter - deprecated

Добавлено: 16 авг 2014, 13:36
Foenix
я же сказала - организовать цикл по курсору, который у вас был.

Re: startManagingCursor и SimpleCursorAdapter - deprecated

Добавлено: 16 авг 2014, 13:44
myandroid
Это сгодится для spinner-ов я так понимаю, но все же как правильно для spinner-а передать _id и name если data = {"one", "two", "three", "four", "five"};
data = {"1=>one", "2=>two", "3=>three", "4=>four", "5=>five"};

Просто сейчас под рукой нет IDEA.

И другой вопрос можно ли использовать ArrayAdapter для большого массива данных типа ListView?

Я реально не понимаю что лучше использовать, чтобы это был не огромный код.

Re: startManagingCursor и SimpleCursorAdapter - deprecated

Добавлено: 22 авг 2014, 17:40
myandroid
На вопрос про:
Это сгодится для spinner-ов я так понимаю, но все же как правильно для spinner-а передать _id и name если data = {"one", "two", "three", "four", "five"};
data = {"1=>one", "2=>two", "3=>three", "4=>four", "5=>five"};

??? Если нельзя напишите.
Уже несколько дней не могу найти решения.

Re: startManagingCursor и SimpleCursorAdapter - deprecated

Добавлено: 22 авг 2014, 18:27
Foenix
да массив используй - в нем есть данные и номера элементов, при выборе пробегайся по массиву и смотри какой номер, например.
либо map - там пары значений
я же говорила, чего тут две недели думать-то?