Форум программистов, компьютерный форум CyberForum.ru

Что такое Рефлексия? Как быть с deprecated? - Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.66
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
26.02.2013, 16:03     Что такое Рефлексия? Как быть с deprecated? #1
Предполагаю, рефлексия в данном случае - это когда одним методом получаешь другой метод для использования, динамически. ?
Deprecated - насколько я понимаю, если что-то устарело, то дальнейшая поддержка не гарантированна и оно может быть вообще исключено в дальнейших версиях?
Собственно задача, что делать если метод/класс устарел (deprecated), а нужно чтобы приложение работало на всех версиях?
Нужно как-то на меньшей версии (где гарантированно есть ещё этот deprecated метод/класс) - именно его и использовать, а на большей версии - использовать уже нововведенный аналог.
Наверное, в этом случае и пригодится рефлексия, но опять же, вроде где-то видел, что рефлексия была запрещена на андроиде (наверное от какой-то версии ОС). ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
27.02.2013, 00:57  [ТС]     Что такое Рефлексия? Как быть с deprecated? #21
Ну API10 мне не интересен. В данном случае, я столкнулся со сменной класса в API4.

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

Даже 0.1% довольно большая цифра если рассматривать андроид в целом.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.02.2013, 01:02     Что такое Рефлексия? Как быть с deprecated? #22
и этот 0.1% наверное маленькие дети которым родители отдали свои старые девайсы

Добавлено через 23 секунды
ладно, щас попробую на эмуляторе протестить ваш код.
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
27.02.2013, 01:15  [ТС]     Что такое Рефлексия? Как быть с deprecated? #23
Ну так не факт что краш только на андроиде 1.5, я выше не тестировал.
Да и разве проблема перенести код в отдельный клас чтобы небыло краша, чтобы не терять на ровном месте даже этих 0,1%.

Добавлено через 3 минуты
на 1.6 тоже краш

Добавлено через 1 минуту
на 2.0 уже краша нет
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.02.2013, 01:37     Что такое Рефлексия? Как быть с deprecated? #24
действительно, на API3 такой трюк не проходит, но на API8 никогда не замечал подобных ограничений, ниже API8 никогда не сапортили...

Добавлено через 4 минуты
Цитата Сообщение от elf32 Посмотреть сообщение
ровном месте даже этих 0,1%
а сколько из этих 0,1% скачает ваше приложение?)

Добавлено через 58 секунд
писать отдельный код для 0.1% девайсов никто не станет.

Добавлено через 4 минуты
думаю почти все из этих 0,1%, это те кто умеют(или им только это и нужно от девайса) только звонить - старики и дети(до 8 лет) например.
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
27.02.2013, 01:53  [ТС]     Что такое Рефлексия? Как быть с deprecated? #25
0.1% на 1,5
0,3% на 1,6
вместе уже 0,4%

Почему никто не станет писать отдельный код? У каждого свои задачи. Например мне, важны все версии и я готов переписать класс под две версии андроида.

а сколько из этих 0,1% скачает ваше приложение?)
Елементарно, по логика, из 100% скачавших приложение, 0,1% из них будет андроид 1,5. 0,3% андроид 1,6
Хотя, на практике куда меньше.

Добавлено через 2 минуты
Даже и не объязательно писать отдельный код, а достаточно его просто вынести в отдельный класс и не использовать если API девайса меньше API кода.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.02.2013, 02:01     Что такое Рефлексия? Как быть с deprecated? #26
Цитата Сообщение от V0v1k Посмотреть сообщение
думаю почти все из этих 0,1%, это те кто умеют(или им только это и нужно от девайса) только звонить - старики и дети(до 8 лет) например.
тесть, например, если из тех кто имеет андроид API8 80% умеют скачивать приложения, то из тех кто имеет API3 только 1% умеют скачивать приложения, соответственно будет не 0,1% от скачавших, а например 0,1/80.
и это я еще не упомянул об предпочтениях этих разных категорий...


ну это так для примера инфа....

Добавлено через 51 секунду
Цитата Сообщение от elf32 Посмотреть сообщение
Даже и не объязательно писать отдельный код, а достаточно его просто вынести в отдельный класс и не использовать если API девайса меньше API кода.
ну я не говорил отдельную APK, а просто отдельный код, в смысле дополнительный код.

Добавлено через 2 минуты
сами подумайте в чьих руках древние телефоны и в чем такие люди заинтересованы.
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
27.02.2013, 02:04  [ТС]     Что такое Рефлексия? Как быть с deprecated? #27
Ну я же сказал, у каждого свои задачи. Может быть такая специфика, что от пользователя и не нужно никаких умений по установке и использованию (например rat).
Тема не об этом же. Мы обсуждаем маркетинг и реализацию продукта, а меня интересует техническая сторона приложения.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.02.2013, 02:17     Что такое Рефлексия? Как быть с deprecated? #28
ну, техническую сторону уже выяснили)
с практической стороны тоже смотреть нужно.
еще представьте как быстро этот 0.1% стремится к нулю при многомиллионных ежесуточных продажах новых девайсов.

Добавлено через 8 минут
просто часто взглядом с практической стороны определяю что человек или делает то, что не нужно, или выбрал неправильный подход или неправильный инструмент.
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
27.02.2013, 15:16     Что такое Рефлексия? Как быть с deprecated? #29
если вам надо использовать апи которые добавились в более поздних версиях то можно использовать метод реализованный как тут.
посмотрите пакеты camera и common для примера. Вы поймёте как задейстовать дополнительное апи при достижении определённого апи левела.
там подключаетсяапи управления выдержкой камеры котрытием камеры, асинктаск как использовать на более поздних версях. в общем я думаю это хороший пример. и да, там используется рефлексия.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.02.2013, 17:17     Что такое Рефлексия? Как быть с deprecated? #30
ну, там рефлексия решает вопрос проектирования, а вообще хороший подход.

Добавлено через 18 минут
а конкретно поддержку множества реализаций одного интерфейса, хотя может я не во все классы заглянул...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2013, 16:46     Что такое Рефлексия? Как быть с deprecated?
Еще ссылки по теме:

Android Что такое setWakeMode
Android Как поступать если метод стал deprecated?
Что такое system_process Android
Android Что такое Maven?
Android Что такое хэширование?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
tester3000
4 / 4 / 0
Регистрация: 19.10.2012
Сообщений: 33
28.02.2013, 16:46     Что такое Рефлексия? Как быть с deprecated? #31
http://android-developers.blogspot.c...r-android.html

п.с. пост за 2009 год насколько это сейчас актуально не знаю.
Yandex
Объявления
28.02.2013, 16:46     Что такое Рефлексия? Как быть с deprecated?
Ответ Создать тему
Опции темы

Текущее время: 01:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru