Para o exemplo "Hello World" no android.com , o nome do pacote é
"package com.example.helloandroid;"
Existe alguma diretriz / padrão para nomear este pacote? (referências seria bom)
Para o exemplo "Hello World" no android.com , o nome do pacote é
"package com.example.helloandroid;"
Existe alguma diretriz / padrão para nomear este pacote? (referências seria bom)
Respostas:
O Android segue as convenções normais de pacotes java, e aqui está um trecho de texto importante para ler (isso é importante em relação ao amplo uso de arquivos xml durante o desenvolvimento no Android).
O motivo para tê-lo na ordem inversa está relacionado ao layout na mídia de armazenamento. Se você considerar cada ponto ('.') No nome do aplicativo como um separador de caminhos, todos os aplicativos de um publicador permanecerão juntos na hierarquia de caminhos. Então, por exemplo, os pacotes da Adobe teriam o formato:
com.adobe.reader (Adobe Reader)
com.adobe.photoshop (Adobe Photoshop)
com.adobe.ideas (Adobe Ideas)
[Observe que isso é apenas uma ilustração e esses podem não ser os nomes exatos dos pacotes.]
Eles poderiam ser mapeados internamente (respectivamente) para:
com / adobe / reader
com / adobe / photoshop
com / adobe / ideas
O conceito vem das Convenções de Nomenclatura de Pacotes em Java, sobre o que pode ser lido aqui: *
http://en.wikipedia.org/wiki/Java_package#Package_naming_conventions
Fonte: http://www.quora.com/Why-do-a-majority-of-Android-package-names-begin-with-com
O nome do pacote é usado para identificação exclusiva para seu aplicativo.
O Android usa o nome do pacote para determinar se o aplicativo foi instalado ou não.
A nomeação geral é:
com.companyname.applicationname
por exemplo:
com.android.Camera
http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
As empresas usam seu nome de domínio de Internet reverso para iniciar seus nomes de pacotes - por exemplo, com.example.mypackage para um pacote chamado mypackage criado por um programador em example.com.
As colisões de nomes que ocorrem em uma única empresa precisam ser tratadas por convenção nessa empresa, talvez incluindo a região ou o nome do projeto após o nome da empresa (por exemplo, com.example.region.mypackage).
Se você possui um domínio da empresa, www.example.com
Então você deve usar:
com.example.region.projectname
Se você possui um nome de domínio como exemplo.com.br, deve ser:
uk.co.example.region.projectname
Se você não possui um domínio, deve usar seu endereço de email:
para name@example.com, deve ser:
com.example.name.region.projectname
Com = commercial application (just like .com, most people register their app as a com app)
First level = always the publishing entity's' name
Second level (optional) = sub-devison, group, or project name
Final level = product name
Por exemplo, o iniciador do Android (tela inicial) é Com.Google.android.launcher
Geralmente, as 2 primeiras "palavras" do pacote são o seu endereço da Web ao contrário. (Você teria três aqui como convenção, se tivesse um subdomínio.)
Portanto, algo que o stackoverflow produz provavelmente estaria no pacote com.stackoverflow.whatever.customname
algo que o asp.net produz pode ser chamado de net.asp.whatever.customname.omg.srsly
algo do mysubdomain.toplevel.com seria com.toplevel.mysubdomain.whatever
Além dessa convenção simples, o céu é o limite. Esta é uma antiga convenção linux para algo que não me lembro exatamente ...
spectorsky
no aplicativo calendar
é referido no Device File Explorer como com.tmp.spectorsky.calendar
. Não consigo entender por que o tmp
nível aparece aqui?
Mas se o seu Android App for apenas para fins pessoais ou criado por você sozinho, você poderá usar:
me.app_name.app