Ver mensagens sem resposta | Ver tópicos ativos Hoje é 11 Nov 2019, 23:50



Responder Tópico  [ 5 Mensagens ] 
 De iniciante para iniciante. Leia antes de iniciar. 
Autor Mensagem
Hello World!
Hello World!

Data de registro: 02 Jun 2014, 14:17
Mensagens: 22
Mensagem De iniciante para iniciante. Leia antes de iniciar.
Bem galera, iniciei no Android efetivamente a uns 15 dias. Então tenho pouquíssimo a ensinar claro. Porém, tem muita informação básica que perdemos tempo pesquisando, então acredito que vai ajudar em algo essas pequenas dicas. Lembrando que todos podem dar opinião e até mesmo me corrigir, que edito aqui e faço as alterações. Vamos começar :D

:arrow: Sobre Layouts e componentes de Layout:

As Activitys são seus arquivos .xml responsáveis pelo layout das telas (esses arquivos se encontram na pasta layout). Eu particularmente crio todas as activitys com o prefixo activity_ para depois diferenciar rapidamente as activitys dos .java

Quando adicionamos os componentes no layout, várias dúvidas simples como "campo somente númeno, campo com limite de caracteres, cor de texto" nos surgem imediatamente, são fáceis de serem encontradas Então aqui já deixo algumas dicas se tratando de TextViews e EditText e outros.


 <EditText
         android:id="@+id/editAno" //id do elemento, e essa id que você usara para se referenciar ao elemento nos seus arquivos .java

         android:layout_width="270dp" //largura do elemento, aconselhável utilizar dp ao inves de px (densidade de pixels)

         android:layout_height="wrap_content" //altura do elemento, aconselhável utilizar dp ao invés de px (densidade de pixels)

         android:layout_marginTop="15dp" //margem do elemento, lembrando que margens são os espaços externos ao elemento (assim como no css)

         android:paddingTop="15dp" //padding do elemento, lembrando que padding são os espaços internos do elemento (assim como no css)

         android:digits="0123456789/" //para configurar os dígitos que são aceitos no edit, esse edit por ex, aceita de 0 a 1 e também aceita a "/"

         android:ems="10" //não sei ainda o que é isso, quem souber da o toque ai  rs...

         android:textColor="#FFFFFF" //cor do texto, más e aconselhável que você crie um arquivo de cores na pasta "values" e coloque as cores nele. Como se       fosse um css de cores. Veja exemplo mais abaixo.

         android:background="#FF00FF" //para cor de fundo, vale lembrar que a dica do textColor acima se aplica também a cor de background

         android:layout_gravity="center_horizontal" //posição do elemento referente ao layout, o comportamento pode variar dependendo do elemento

         android:text="texto desejado" //para um edit, acredito que o texto não faz tanto sentido. E melhor utilizar o hint, pois ele é aquele texto mais claro que e exibido dentro do edit apenas para alertar o Usuário de qual valor deve ser digitado naquele edit.

         android:hint="Insira a data dd/mm/aaaa" //o hint é bastante utilizado no edit, caso ele não tenho um textview fazendo referencia a ele para o usuário saber o que vem no campo (o textview e o famoso "label" de outras linguagens. E aconselhável que você coloque todos os valores de texto no arquivo string dentro da pasta values, e faça referencia para esses valores. Veja explicação e exemplo mais abaixo.

         android:maxLength="4" //utilizado para setar qual o máximo de caracteres que o campo aceita

         android:inputType="number" />
//utilizado para dizer que o campo aceita apenas números, essa opção faz com que o android exiba apenas o teclado numérico quando o usuario for digitar. Mas atenção a um detalhe: Caso você for utilizar um campo de data e for utilizar o "number", o usuário não poderá digitar as "/" da data. Portanto você deve utilizar também uma mascara onde o ela automaticamente adicionara os "/" da data

 


*Se tratando de utilizarmos cores e strings, e aconselhável utilizarmos arquivos externos e fazermos referencia aos arquivos. Por ex:

Ao invés de utilizarmos

           
android:text="Cadastro de contato"
//ou
 android:hint="Cadastro de contato"
 


Devemos colocar esses textos no arquivo "string.xml" situado dentro da pasta "values" como segue no exemplo:


<string name="titulo_cadastro_contato">Cadastro de contato</string>
 


e no .xml do elemento, fazer a referencia ao invés de setar o texto diretamente


 android:hint="@string/titulo_cadastro_contato"
 


Mas, porque isso? Quando formos alterar os textos todos estão centralizados no mesmo arquivo facilitando sua localização, mas não é só isso, outro detalhe ainda mais importante, e que, quando se tornar necessário traduzir sua app para outros idiomas, basta duplicar este arquivo e renomear suas pastas pai para o idioma desejado. Assim, logo que a app se iniciar, ela vai identificar qual o idioma do dispositivo móvel, e utilizar o arquivo de string correto. Na minha app por ex, utilizo 3 idiomas, então tenho 3 pastas dentro da pasta "res", cada uma referente a um dos idiomas.


-res
--values/
---strings.xml
--values-es/
---strings.xml
--values-en/
---strings.xml

Então, para entendermos melhor as pastas acima, o que temos e uma pasta "res" e dentro dela temos outras 3 pastas. A pasta "values" sera utilizada pelo sistema como idioma padrão, caso ele não encontre outra pasta que faça referencia ao idioma do android. Caso for um android em inglês, ele reconhecera o conteúdo do arquivo string.xml que esta dentro da pasta values-en e assim sucessivamente.

Como você já deve ter percebido, para fazer referencia a um arquivo de cores por exemplo (como citado anteriormente em background color e text color) você deve criar um arquivo chamado "color.xml" e colocar as cores dentro dele. Um exemplo de um arquivo .xml para cores:


<resources>
    <color name="btn_t_cadastrar">#FFFFFF</color>
    <color name="btn_bg_cadastrar">#D68929</color>
    <color name="btn_t_entrar">#FFFFFF</color>
    <color name="btn_bg_entrar">#D68929</color>
</resources>
 


e quando for fazer referencia no componente, ao invés de utilizar isto:

    android:textColor="#FFFFFF"
    android:background="#D68929"
 

utilize isto:

    android:textColor="@color/btn_t_cadastrar"
    android:background="@color/btn_bg_cadastrar"
 



Dúvida comum: Possuo uma activity que se repete dentro de outras activitys. Como referencia-las nas "activitys pai".
Simples, basta inserir na activity pai (a activity que conterá a outra activity a qual você esta se referenciando) o seguinte código:


<include layout="@layout/activity_seu_activity_que_sera_importado"/>  
 


E para tornar minha tela full screen?
No arquivo .java responsável pela activity que você deseja torna-la full utilize o seguinte código na chamada do metodo construtor:

 protected void onCreate(Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN);
        super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_cadastrar_xxx);
 

Uma observação, mantenha a ordem de chamada citada acima, caso você por exemplo, chamar o método "requestWindowFeature" depois de fazer referencia a super.onCreate, o mesmo retornará um erro dizendo que você fez a referencia aposta ja ter utilizado o super método onCreate. Ou seja: Caso fizer como no código abaixo o mesmo retornara um erro:


    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_cadastrar_abastecimento);
 


Bem, se esse artigo se mostrar útil para alguém, vou adicionando mais dicas... Sou péssimo em escrever (principalmente quando se trata de algo que sou iniciante também) mas talvez ajude alguém :)

Atualizado 20/06/2014: Uma dica bacana para executar suas aplicações mais rapidamente.

viewtopic.php?f=7&t=27491

Atualizado: 26/02/2015
Não sei se funciona apenas no Eclipse luna mas fica dica.
É normal quando iniciante criarmos a classe, depois a activity e apontarmos a classe para a activity. Dessa forma acabamos por esquecer de adicionar a Activity no AndroidManifest.xml.
Uma forma mais indicada e utilizar a criação de Activity do próprio Eclipe (Botão direito em cima do pacote> new > other > Android > Android Activity). Assim quando colocamos apenas o nome da Classe/Activity que desejamos o Eclipse faz todo o trabalho. Cria a Classe, nomeia o xml, aponta a classe para o xml respectivo e adiciona a Activity no AndroidManifest.xml.


Editado pela última vez por ogai em 26 Fev 2015, 09:54, no total de 2 vez



19 Jun 2014, 11:49
Perfil
Google employee
Google employee

Data de registro: 28 Jun 2012, 19:13
Mensagens: 1308
Localização: Itaperuna-RJ
Mensagem Re: De iniciante para iniciante. Leia antes de iniciar.
Bacana a iniciativa, parabéns!

_________________
Powell


20 Jun 2014, 10:50
Perfil
I am API
I am API

Data de registro: 04 Jan 2012, 12:44
Mensagens: 809
Mensagem Re: De iniciante para iniciante. Leia antes de iniciar.
Amigo, parabens pelo tutorial! Mas só umas dicas

Não se cria classe em java com o nome activity_cadastrar, não é uma boa pratica! O mais comum é: CadastrarActivity, e pra você diferenciar/ficar mais facil de achar voce cria um pacote com todas as activitys..

Não sei como você está aprendendo, mas um livro que eu recomendo é esse aqui:
http://www.buscape.com.br/google-androi ... tml#precos

Boa sorte e bons estudos!

_________________

E-Mail: thales.bm@hotmail.com
LinkedIn: LinkedIn
Aplicativos no Google Play: Biblioteca de Aplicativos
Livro de Estudos: Google Android - 3ª Edição


23 Jun 2014, 10:54
Perfil
Hello World!
Hello World!

Data de registro: 02 Jun 2014, 14:17
Mensagens: 22
Mensagem Re: De iniciante para iniciante. Leia antes de iniciar.
Opa, depois de um tempo na correria estou voltando.. rs..

SHENN, obrigado pela dica. Acabo de adquirir o livro depois de uma bela pesquisada sobre qual seria um bom livro para um iniciante.

Assim que estiver apito vou colaborar com mais uns tutoriais... :)


26 Fev 2015, 09:46
Perfil
What is Android?
What is Android?

Data de registro: 01 Out 2015, 17:17
Mensagens: 1
Mensagem Re: De iniciante para iniciante. Leia antes de iniciar.
Estou iniciando no Android e estou na duvida de qual IDE usar. Qual você indica, Eclipse ou Android Studio?
Obrigado e belo tutorial


01 Out 2015, 17:19
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 5 Mensagens ] 

Quem está online

Usuários vendo este fórum: ac0502, Aderbal Nunes, aechiara, agtavares, Alexandre Castro, aluclinux, anaguerra, andreluzz, Andrey, arnaldo.miranda, augustomig, Bravox, brunogh, Carla Luz, Catapan, Chewbacca, claudioalfonso, comolatti, Cr-Informática, Cynthia, dannieltec, dbispo, diemesleno, dkclan, dudu795, eduardo.ali, EduardoYC, eferrari, fabric01, faco, felipecomp19, felipetesc, gamito, gfgodoy, guto.pro, hbarroco, helder, icarodavi, jairom, joaquimfoto, Jota, jrsilva, JRSIQUEIRA, kidush, klausenner, Kureiton, lanlan, leonardodamata, lfirpo, Liviosousa, luiz.lago, luizfilipe, maiconjunches, Marcelo, marcelocastellani, marcos_trb, marcosrogel, marianatallas, Mayara Trevisol, mcurtis, mikasjau, mmiottobarbosa, Moisés Souto, mrangel, Mvitor, neimarguerra, neviim, nivea, nrsf, pamonteiro, paulanegreiros, Paulo Bizzo, pedro, pgsnit, piagg, pilon, pomarolli, pumadeejay, r.wil, Rafael Alencar, Ranieri, regeriob2br, renan.fernandes, renatocoliveira, retardad0, rguadagnini, Rickxdx, RodReis, rogerio.alcantara, Roney dos Santos, SEO Crawler, Stormtrooper, tavares767, Teodoro, thiago@xbrain.com.br, thienne, tiagofalcao, vaniuz, vanmars, vieira, wagner_francisco, wesley.messias, Wookiees, XPTO, YaCy e 1 visitante


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:
cron

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi