fundo
Sabemos que no desenvolvimento do Android, as ofertas oficiais muitos modelos, você pode criar um conjunto de código diretamente, é conveniente para desenvolver
Na verdade, este modelo de código não é uma nova tecnologia, o Google é realmente o mecanismo de modelo Freemarker integrado no Android Estúdio em.
Vamos olhar modelos Android Studio e código de personalizar os modelos de dois.
No arquivo de modelo
Nós abrir arquivos de modelo Android Estúdio, analisar constituem um arquivo, os endereços de arquivo ... \ Android Studio \ plugins \ android \ lib \ templates \, o modelo que usamos no AS está aqui aparece.
Nós ... \ Estúdio Android \ plugins \ android \ lib \ templates \ Actividades \ LoginActivity, por exemplo, analisar o arquivo de modelo é assim que funciona
O papel da pasta e todos os arquivos no arquivo da seguinte forma:
Na figura acima, houve três arquivos, ftl, xml e png
-
ftl é lima freemarker, operações de arquivo template com operações relacionadas são definidas no arquivo ftl
-
Há dois xml, template.xml na raiz de nossa definição de interface que aparece ao usar um modelo; arquivo xml para outra pasta sob a res há funções lógicas, serão copiados diretamente para o nosso projeto
-
png apenas o diretório raiz do arquivo, na verdade, é exibido na tela exibida ao usar nosso modelo, use o modelo como um logotipo
Vejamos o conteúdo do arquivo de três arquivos no diretório raiz
· template.xml
template.xml define a interface ao usar modelos, olhamos para o LoginActivity interface de modelo
Nós olhamos como para definir a interface de template.xml
Categorias modelo personalizado
entrada definida:
Fácil de ver, o valor padrão para cada quadro de entrada, dicas, etc, são tipos definidos no xml.
Note-se que, quando mudamos o nome da atividade, Layout nome também mudança, isso é feito por "sugerem =" {activityToLayout () é uma função para a Actividade o nome de classe é convertida em nome Esquema XXXActivity activity_XXX; e os parâmetros da função de "activityClass" é "nome Actividade" correspondente ao ID de caixa de entrada "activityClass".
Finalmente, definir o nome do pacote e logotipo
Mais do que apenas o papel de definição de interface modelo modelo, na verdade, por id definido no modelo, o outro arquivo ftl pode obter o nome e arquivo de classe nome como entramos na interface, para fornecer parâmetros de entrada para a geração automática de documentação e código.
Por exemplo, na LoginActivity.java.ftl, gerando nome do arquivo XXXActivity.java do arquivo, o nome da classe, o valor será atribuído de acordo com o arquivo de modelo activityClass
· globals.xml.ftl
Definir algumas variáveis globais
Como mostrado acima, nas globals na definição da versão API de um valor booleano, este valor será gerada quando o código LoginActivity para determinar se para adicionar a parte do código
· recipe.xml.ftl
recipe.xml.ftl usado para definir como para gerar o código e documentação
· Outras arquivo de código de modelo
Além globals.xml.ftl, recipe.xml.ftl, template.xml três arquivos no diretório raiz, e outros modelos podem ser configurados livremente, conforme necessário.
Produção modelo personalizado MVPActivity
estrutura de arquivo de modelo é a seguinte:
O núcleo é que a pasta de código nos três documentos, nomeadamente o MVP da interface, Apresentador e atividades, o conteúdo do arquivo são os seguintes:
arquivo de modelo do contrato:
Apresentador arquivo de modelo:
arquivo de modelo de atividade:
Coloque um arquivo de inicialização poucos e copiá-lo para o arquivo de projeto em recipe.xml.ftl
Finalmente, a pasta inteira para ... \ Estúdio Android \ plugins \ android \ lib \ templates \ Actividades \ para baixo, reiniciar Estúdio Android , ele pode ser aplicado. Atividade na classe de modelo, mais uma atividade MVP vazio
interface aberta é a seguinte:
Notamos que há uma Biz Nome frente dos parâmetros de entrada, o papel deste parâmetro não é gerado arquivos, mas para o seguinte arquivo chamado por causa de Nome Atividade só afetam layout Nome, e espero que a criação de uma interface com o Presenter nome, mas não Freemarker e função $ {activityToLayout () para gerar interface do Presenter e o nome da função correspondente, então eu estou no topo acrescenta tal variável, especificamente para nomenclatura unificada.
Em particular arquivo template.xml, acrescenta uma variável id "activityName", e para tarefas subsequentes de variáveis, tais como o "activityClass", o valor é definido para sugerir o "$ {activityName} Activity", que soletrar o nome do seu próprio XXXActivity.
Gerando uma estrutura de arquivo da seguinte forma:
Atividade gerado arquivos:
Gerado Apresentador:
Contrato gerado:
Até agora, nós completamos a preparação modelo de código personalizado e usar.
finalmente
Você levar o seu tempo para investir em aprender, isso significa que você pode adquirir competências, têm a oportunidade de aumentar a receita.
Aqui para partilhar a minha Android PDF Daquan aprender a aprender, aprender esta Android PDF Daquan realmente conter todos os aspectos, e contém conhecimentos básicos de Java, a base de Android, Android extensão avançada, e assim por diante algoritmo de coleta
Minha coleção deste estudo, pode efetivamente ajudá-lo a compreender os pontos de conhecimento.
Em suma também estamos aqui para ajudar a melhorar a aprendizagem avançada, mas também poupa o tempo para aprender dados de pesquisa on-line também podem ser compartilhados com amigos próximos estudando juntos
Acesso: preocupação que vejo introdução pessoal ou direta clique me livre para receber