Може ли името на пакета на приложението за Android да съдържа неанглийски знаци?

Може ли името на пакета на приложението за Android да съдържа неанглийски знаци?

например може ли да е com.android.नमस्ते

Преди да направя това, настроих eclipse да използва UTF-8 (Windows->Preferences->General->workspace->Text encoding to UTF-8)


person Harkish    schedule 27.08.2012    source източник
comment
Не знам, но бих се почувствал много сърдит, ако не можеше. Символи като препинателни знаци е разумно да бъдат забранени, но букви като नमस्ते (или срички или идеограми за този въпрос) трябва да бъдат разрешени от всяка цивилизована конвенция за именуване.   -  person Jon Hanna    schedule 28.08.2012
comment
цивилизацията няма нищо общо с това. Просто така е проектирано. Харесва ви или не, но спазвайте правилата или няма да можете да изградите своя пакет.   -  person Marcin Orlowski    schedule 28.08.2012
comment
Разбира се, че е така, ако е проектирано лошо, тогава трябва да живеете с това, но това няма да попречи да бъде глупав дизайн да се забраняват произволни букви без причина.   -  person Jon Hanna    schedule 28.08.2012
comment
Харкиш. Опитахте ли да компилирате такъв, за да видите какво ще се случи?   -  person Jon Hanna    schedule 28.08.2012
comment
@JonHanna Опитахте ли първо да прочетете ръководството за Android?   -  person Marcin Orlowski    schedule 28.08.2012
comment
@WebnetMobile.com не, нямам представа за това, но го намирам за интересно (и въпросът за приетите идентификатори в съвременните компютърни езици като цяло е много интересен). Обърнете внимание, че не предлагам отговор, но поставям +1 на вашия, за да задоволя любопитството си.   -  person Jon Hanna    schedule 28.08.2012
comment
Според този документ docs.oracle.com/javase/specs/jls/se7 /jls7.pdf спецификацията на езика java, страница 166, java изглежда позволява не-ascii знаци. Моята интерпретация грешна ли е?   -  person Harkish    schedule 28.08.2012
comment
@Harkish, Android поддържа Java 5 и по-голямата част от Java 6, но не и Java 7.   -  person Stephan Branczyk    schedule 28.08.2012
comment
Опитах да използвам \uxxxx escape като в спецификацията на Java 5 docs.oracle. com/javase/specs/jls/se5.0/jls3.pdf   -  person Harkish    schedule 28.08.2012


Отговори (1)


Не. Пакетът Java трябва да следва конвенцията за именуване на пакети Java. Вижте документи за Android

person Marcin Orlowski    schedule 27.08.2012
comment
Как примерът във въпроса противоречи на тези конвенции? - person Jon Hanna; 28.08.2012
comment
Питате за com.android.नमस्ते? Той е невалиден, защото съдържа не-ascii знаци: вижте: oracle.com/technetwork /java/codeconventions-135099.html - person Marcin Orlowski; 28.08.2012
comment
c, o и m всички са ASCII, което е единственият бит, който връзката, която давате, казва, че трябва да бъде ASCII. - person Jon Hanna; 28.08.2012
comment
Да, и префиксът (com в този случай) е определен като ASCII - и някои други правила, докато останалото не е. - person Jon Hanna; 28.08.2012