LINUX.ORG.RU

@minSdkVersion для блока кода

 


0

1

Я правильно понимаю, что @minSdkVersion обычно применяют к функциям, и применить @minSdkVersion к участку кода - нельзя?

Не нашёл такого способа в гугле.

Хотелось бы что-то вроде:

@minSdkVersion(23,on)
int a = 0;
int b = 0;
@minSdkVersion(23,off)



Последнее исправление: Mirage1_ (всего исправлений: 1)

Аннотации к блокам вроде неприменимы.

a1batross ★★★★★
()

А такой вариант не подойдет?

if(android.os.Build.VERSION.SDK_INT >= some_version_number)
{
}
else
{
}


Плюс @SuppressWarnings("deprecation") на устаревший метод.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

К тому же, if ... else локализует объявленные переменные в блоке кода {...}

Они будут недоступны из методов класса.

Mirage1_
() автор топика

Ладно, как говорят классики: «Пиши код!»

Оформлю два разных класса: @TargetApi(22) (для Camera, который вроде пока шевелится под 5.0-5.1) и @minSdkVersion(23) для (Camera2).

Mirage1_
() автор топика

Мда. Проблема. @minSdkVersion() не существует.

При попытке добавления @minSdkVersion(23) перед классом, предлагает создать:

import static android.R.attr.minSdkVersion;

Mirage1_
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.