|
Página 1 de 1
|
[ 5 Mensagens ] |
|
De iniciante para iniciante. Leia antes de iniciar.
Autor |
Mensagem |
ogai
Hello World!
Data de registro: 02 Jun 2014, 14:17 Mensagens: 22
|
 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 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=27491Atualizado: 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 |
|
 |
raphaelframos
Google employee
Data de registro: 28 Jun 2012, 19:13 Mensagens: 1308 Localização: Itaperuna-RJ
|
 Re: De iniciante para iniciante. Leia antes de iniciar.
Bacana a iniciativa, parabéns!
|
20 Jun 2014, 10:50 |
|
 |
SHENN
I am API
Data de registro: 04 Jan 2012, 12:44 Mensagens: 809
|
 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#precosBoa 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 |
|
 |
ogai
Hello World!
Data de registro: 02 Jun 2014, 14:17 Mensagens: 22
|
 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 |
|
 |
Bruno Xavier
What is Android?
Data de registro: 01 Out 2015, 17:17 Mensagens: 1
|
 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 |
|
|
|
Página 1 de 1
|
[ 5 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: abruzzi, Adeja, AdrianoMM, Alan Unger, alberto, alexandrefett, allart, alylson, andrelom, antoniodourado, arquivo51, Arthas, Augusto, Bass, Bitetti, BOMBER27, bozzano, breko, brpiassa, bruno.abd, cabelo, Carlos Almeida, carlos.macleod, cehills, Celso Jr., cesschneider, Chanceler Supremo Finis Valorum, ciro, cleiton_maciel, Corneta, Crazy_Droid, criscmaia, d.paim, danilosouza, dchechetto, diemesleno, digiwise, Dirceu W. C. Conte, du_sr, edervieira, eduardo.ali, eliasmachado_rj, eloilton, Emanuella, epsilva, fabricioLeonard, Felipe, Fernando Cardia, fernandofsf, flaviohssantos, fmakula, freak, fredjpa, geco, Geire Robson Gadelha, Guilherme, gutem25, hugomarinho, HyagoRules, igor_meneguzzo, ismaelbpaiva, jacard, JackBlackJack, JairoCN, jandersonjc, Jango Fett, Jar Jar Binks, jefficojava, Jenius, Jless@, Joessi2007, jorgecardoso, José Guilherme, julianofischer, Juliobcosta, juniorsk8, Juniorvs, kecyobarros, kristopher, leonardodamata, linukiss, LordElfo, LucasNascimento, luiz, Mace Windu, marcelorferrari, marciosoliveira, Marco Magoo, marianatallas, marinho5, Marlosm, marlovich, maximilianjx, mcurtis, mravel, MSPRAFAEL, nandokanarski, neimarguerra, o-raposa, paulo.esantos, pchofard, pemam.com.br, pererinha, phfmendes, phpower1, poponeis, pumadeejay, r.wil, rafaelmonoh, ramonsa, regisjj, renatocoliveira, rerp7, rguadagnini, Ricardo Chikasawa, Rickxdx, rodrigo_mg, rogerio, rogeriopgomes, romuloff, sephct, shazaum, siker C3PO, Stryder, suissa, talves, Thelemita, Thitto, vaniuz, wilsond, xGambit, xikin e 2 visitantes |
|
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
|
|