Всем привет. Я типа начинающий программировать в Андроид. (ну написал уже пару программок типа телефонного справочника с загрузкой данных из csv) , а так опыт в программирование есть (с,с++,java)
Сейчас встал наконец вопрос (то есть я задумался) о корректной работе на разных версиях АПИ.
Так вот вопрос..
Допустим я хочу использовать.. ну пусть "фрагменты". Хочу что бы они работали на 2.3 и на 4.3. Какие я должен использовать классы? Ведь если я хочу чтобы оно работало на 2.3, я должен пользоваться апи-супорт-лайбрари 4 или 7, но в голове не укладывается, а нафига тогда ее использовать при работе приложения на 4.3?
Кто знает Си - там у нас все просто: #ifdef APIVERSION_18 и включаем нужные хедеры в зависимости от обстоятельств. А что здесь?
Ведь поддержка всяких фич в апи-суппорт-лайбрари обычно урезанная, относительно базовых фич в новых версиях..
Как быть? Писать разные версии для разных версий апи? а в плей маркете есть такая возможность подсунуть юзеру версию в соответсвии с его платформой?
а, все. нашел ответ http://developer.android.com/training/m ... s/api.html
Если у кого еще есть умные мысли - буду рад..
Supporting Different Platform Versions
Re: Supporting Different Platform Versions
import в java это просто указание из какого пакета использовать класс(пространство имен) import ничего на самом деле не импортирует и это совсем не то же самое, что #include в С.foxsv писал(а): Кто знает Си - там у нас все просто: #ifdef APIVERSION_18 и включаем нужные хедеры в зависимости от обстоятельств.
Как бы в java нет препроцессора. Но никто не мешает:
[syntax=java5]
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= android.os.Build.VERSION_CODES.FROYO){
// Do something for froyo and above versions
} else{
// do something for phones running an SDK before froyo
}
[/syntax]
Но зачем?
