Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.71/24: Рейтинг темы: голосов - 24, средняя оценка - 4.71
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
1

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

26.02.2013, 16:03. Просмотров 4473. Ответов 30
Метки нет (Все метки)

Предполагаю, рефлексия в данном случае - это когда одним методом получаешь другой метод для использования, динамически. ?
Deprecated - насколько я понимаю, если что-то устарело, то дальнейшая поддержка не гарантированна и оно может быть вообще исключено в дальнейших версиях?
Собственно задача, что делать если метод/класс устарел (deprecated), а нужно чтобы приложение работало на всех версиях?
Нужно как-то на меньшей версии (где гарантированно есть ещё этот deprecated метод/класс) - именно его и использовать, а на большей версии - использовать уже нововведенный аналог.
Наверное, в этом случае и пригодится рефлексия, но опять же, вроде где-то видел, что рефлексия была запрещена на андроиде (наверное от какой-то версии ОС). ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2013, 16:03
Ответы с готовыми решениями:

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future
Здравствуйте! Сделал пример http://devcolibri.com/1486 со сборкой денвер...

Разъясните гуру как такое может быть!
Купил Навигатор с регистратором. На андроиде. Но андроид какой-то...

Что и зачем такое appcompat_v7 - как убрать ?
День добрый! При создании проекта в Eclipse: Android Application Project...

Как правильно начать что бы не быть привязаным к одной технологии/языку?
Всем привет. Хочу начать писать под iOS (есть:Macbook Pro, iPhone 5, деньги на...

Как поступать если метод стал deprecated?
Доброго дня! Как поступать если метод стал deprecated? Например,...

30
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
27.02.2013, 00:57  [ТС] 21
Ну API10 мне не интересен. В данном случае, я столкнулся со сменной класса в API4.

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

Даже 0.1% довольно большая цифра если рассматривать андроид в целом.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.02.2013, 01:02 22
и этот 0.1% наверное маленькие дети которым родители отдали свои старые девайсы

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

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

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

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

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

Добавлено через 4 минуты
думаю почти все из этих 0,1%, это те кто умеют(или им только это и нужно от девайса) только звонить - старики и дети(до 8 лет) например.
0
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
27.02.2013, 01:53  [ТС] 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 кода.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.02.2013, 02:01 26
Цитата Сообщение от V0v1k Посмотреть сообщение
думаю почти все из этих 0,1%, это те кто умеют(или им только это и нужно от девайса) только звонить - старики и дети(до 8 лет) например.
тесть, например, если из тех кто имеет андроид API8 80% умеют скачивать приложения, то из тех кто имеет API3 только 1% умеют скачивать приложения, соответственно будет не 0,1% от скачавших, а например 0,1/80.
и это я еще не упомянул об предпочтениях этих разных категорий...


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

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

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

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

Добавлено через 18 минут
а конкретно поддержку множества реализаций одного интерфейса, хотя может я не во все классы заглянул...
0
tester3000
4 / 4 / 0
Регистрация: 19.10.2012
Сообщений: 33
28.02.2013, 16:46 31
http://android-developers.blogspot.c...r-android.html

п.с. пост за 2009 год насколько это сейчас актуально не знаю.
0
28.02.2013, 16:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2013, 16:46

Что такое "кэш" в android? Как можно программно сохранить что-то в кэш?
что такое КЭШ в android? как можно программно сохранить что то в кэш??можете...

Что такое Maven?
В уроке 161 startandroid есть такое замечание для тех, кто хочет протестировать...

Что такое хэширование?
Можете обьяснить что такое хэширование как это понимать??Я в википедии читал...


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

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru