Променлив android.os.Environment.DIRECTORY_WHATEVER?

Вижте в master:

https://github.com/android/platform_frameworks_base/blob/master/core/java/android/os/Environment.java#L419

Защо тези са променливи? Какво означава? Какъв е случаят на употреба?


person Michal Rus    schedule 15.01.2014    source източник
comment
Те не успяха да добавят final или в случай, че е нарочно, е да позволят тези стойности да бъдат различни на други устройства. Действителните константи се компилират във вашето приложение и не биха позволили това.   -  person zapl    schedule 15.01.2014


Отговори (1)


Ако бяха final, можеха да бъдат вградени по време на компилиране въз основа на дефинициите в файл android.jar в мъниче в SDK.

Сега производителите на устройства са свободни да променят пътищата към каквото искат. Чрез превръщането на дефинициите в различни от final се гарантира, че вместо това се използва дефиницията в платформата за изпълнение.

Има и други методи за предотвратяване на вграждането.

person laalto    schedule 15.01.2014