Ir para conteúdo



Foto

Como programar seu primeiro app android


  • Por favor, faça o login para responder
15 respostas neste tópico

#1

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 21 Nov 2013 - 11:22

Este artigo será o início de uma série no AndroidPIT dedicada ao desenvolvimento e à programação de apps. Conhecimentos de linguagem de programação serão úteis para acompanhar este tutorial, mas não imprescindíveis.
O desenvolvimento em Android é em grande parte feito no Java, que é a linguagem usada para ensinar programação nos cursos de ciência da computação. O ambiente de desenvolvimento que iremos usar é o novo Android Studio anunciado na última conferência de desenvolvedores do Google (I/O 2013).
Nosso objetivo no mini-projeto desta semana é criar um aplicativo que mostre “Hello AndroidPIT” na tela do seu dispositivo Android.

© AndroidPIT
Primeiros passos

A primeira coisa a ser feita é instalar o Android Studio.
Usarei o Ubuntu Linux para este tutorial, mas você também pode usar o Windows ou Mac. É preciso apenas adaptar as instruções para o seu programa.
O Android Studio é desenvolvido em Java, e você irá desenvolver em Java para este tutorial, portanto você também deve instalar o Java Development Kit (JDK). Baixe aqui a versão para o seu sistema.
Iremos instalar o nosso app “Hello” diretamente em seu smartphone. Por essa razão, você deve habilitar o USB debugging em seu dispositivo, que só está disponível se você estiver no modo de desenvolvedor do seu dispositivo.
Para ativar o modo de desenvolvedor, vá a “Configurações > Sobre o aparelho e clique em “Número da compilação” até que apareça a notificação de que você é um desenvolvedor. Em seguida, na tela anterior você verá uma nova entrada chamada “Opções de desenvolvedor” e ali você deve habilitar o USB debugging.
Criando seu primeiro projeto Android

Depois de instalar o Android Studio, chegou a hora de criar um novo projeto. Usarei screenshots para facilitar a visualização do processo.

© AndroidPIT
Vamos chamar o nosso projeto de HelloAndroidPIT. Com isso, Module name, Package name e Project Location são preenchidos automaticamente e você não precisa mudá-los.
O que devemos mudar é o SDK para API 15. Sim, vamos ignorar o Android 2.3 (API 8) que irá morrer provavelmente em 2014. Sei que o Android 2.3 ainda ocupa 26,3% do mercado, mas essa porcentagem deve começar a cair rapidamente depois do Natal. Se quiser saber mais sobre o número de usuários de cada versão do Android, clique aqui.
Nosso SDK alvo será o KitKat, e você pode escolher o Java 6 ou o 7. Algumas funções para este último só estarão disponíveis se o seu SDK mínimo for 19, o que não irá acontecer tão cedo.
Como não iremos criar um ícone próprio, você pode desmarcar essa opção.
Depois de pressionar “Next”, você verá esta tela:

© AndroidPIT
Clique novamente em “Next” e você verá o seguinte:

© AndroidPIT
Ignore todos esses campos e clique em “Finish”.
Depois disso, conecte o seu dispositivo ao computador, clique no botão verde de “Play” e o código auto-gerado deverá ser executado.
Agora que o aplicativo está rodando, ele deve mostrar “Hello world”. Dizer olá para o mundo é legal, mas vamos dizer olá para o AndroidPIT também.

© AndroidPIT
Hello AndroidPIT

Para isso, você deve abrir o arquivo strings.xml dentro da pasta values, que por sua vez está dentro da pasta res. Lá você verá a frase “Hello World!”, mude-a para Hello AndroidPIT e clique em "Play" novamente.

© AndroidPIT
Localização (L10n)

Localização (usualmente abreviada por L10n) é muito importante hoje em dia. Não estamos mais na época em que um software só estava disponível em inglês, portanto é necessário saber como o Android lida com a L10n.
Como sou de Lisboa, vivo em Berlim e falo inglês todos os dias no trabalho (sim, alemão não é fácil), vamos aprender como dizer “Hello” nessas duas outras línguas.
Entrando na pasta values do seu projeto, você verá que lá existe um arquivo strings.xml.
Para adicionar outras línguas, basta adicionar uma pasta values seguida de um traço e o código do país à sua pasta res dentro do seu projeto. Por exemplo: values-pt e values-de. Copie o arquivo strings.xml da pasta padrão de values para cada uma das duas pastas e em seguida edite esses arquivos e substitua "Hello AndroidPIT” por “Hallo AndroidPIT” e “Olá AndroidPIT” para o alemão (values-de) e português (values-pt) respectivamente.
Se mudar a língua do seu dispositivo e rodar o aplicativo de novo, você verá a tradução.
Espero que este tutorial tenha despertado a sua curiosidade sobre a programação Android. Talvez meu próximo texto mostre como exibir os artigos de notícias do AndroidPIT. O que acha?
Você gostou do tutorial? Por favor deixe-me saber nos comentários abaixo.





Créditos: Henrique Rocha, tradução Daniel Carrara do AndroidPit

Arquivo(s) anexado(s)


Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.


#2

LiveSorcerer™

    I see the future...rs

  • Supervisor
  • 1.460 posts

Postado 21 Nov 2013 - 12:11

Isso muito me interessa, acompanhar esse tópico.

Apple iPhone 7 Silver 32GB iOS 10.3.3 (VIVO) / Huawei Mate 10 Pro  6GB/128GB (TIM)

Apple Macbook Pro 13" 2012 + 16GB DDR3L + 1TB SSD (Series 840 Evo+Series 850 Evo RAID 0) + MacOS Sierra / Dell Inspiron i15 5548 i5 5200U / 2.2 GHz@2.7GHz8GB DDR3 + Radeon M265 2GB DDR3 + 1TB + Windows 10 Pro

(Xbox Classic) Biostar AMD A8-5545 @2.7GHz + HD8510G/GALAX GT 1030 2GB 64Bits + 8GB DDR3 + 120GB SSD + 2TB HDD + Windows 10 Pro

(PS3 FAT) Gigabyte GA-H81N-D2H i5-4570 @3.6GHz + Intel® HD 4600 + 16GB DDR3 + 240 GB SSD + 2TB HDD + Windows 10 Pro


#3

David

    Alone In The Blue!

  • Supervisor
  • 16.620 posts

Postado 21 Nov 2013 - 12:20

Live, eu startei, há alguns anos, alguns tópicos sobre programação Android.
Como ninguém acompanhou, eu abandonei.
Se for bacana e tiver acompanhamento, me ofereço pra postar tutoriais e ajudas ao desenvolvimento de apps.

Shits Happen All the Time!


#4

LiveSorcerer™

    I see the future...rs

  • Supervisor
  • 1.460 posts

Postado 21 Nov 2013 - 12:23

Opa, seria uma boa.
É que estou com alguns projetos pessoais aqui, e estou querendo desenvolver um app, tanto para Android, quanto iOS.
Por isso comprei o MacBook Pro, alem de usá-lo para edição de vídeo.

Apple iPhone 7 Silver 32GB iOS 10.3.3 (VIVO) / Huawei Mate 10 Pro  6GB/128GB (TIM)

Apple Macbook Pro 13" 2012 + 16GB DDR3L + 1TB SSD (Series 840 Evo+Series 850 Evo RAID 0) + MacOS Sierra / Dell Inspiron i15 5548 i5 5200U / 2.2 GHz@2.7GHz8GB DDR3 + Radeon M265 2GB DDR3 + 1TB + Windows 10 Pro

(Xbox Classic) Biostar AMD A8-5545 @2.7GHz + HD8510G/GALAX GT 1030 2GB 64Bits + 8GB DDR3 + 120GB SSD + 2TB HDD + Windows 10 Pro

(PS3 FAT) Gigabyte GA-H81N-D2H i5-4570 @3.6GHz + Intel® HD 4600 + 16GB DDR3 + 240 GB SSD + 2TB HDD + Windows 10 Pro


#5

CronusStrife

    Membro Platinum PluS

  • Supervisor
  • 2.410 posts

Postado 22 Nov 2013 - 00:02

Minha pergunta é, para programar um app para android, tenho que aprender alguma linguagem de programação, correto?

"O conselho é uma dádiva perigosa, mesmo dos sábios para os sábios, e tudo pode dar errado." - Gildor


#6

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 22 Nov 2013 - 01:46

Sim, tem de aprender no mínimo Java e a API da SDK, e dependendo do que queira fazer C++ da API NDK também é recomendável, porém Java é essencial porque mesmo se for C++ vai ser embutido no Java para rodar pela VM-Dalvik ou VM-ART .

Também pode programar em C posix para fazer binários rodando no Linux embaixo do Android, porém tem de ter um crosscompiler com suporte ao Binder do Android , ou seja o crosscompiler tem de dar suporte ao tipo de gerenciamento de processos e tarefas do Linux no Android . Além disso se programar diretamente em binários executáveis você perde boa parte da compatibilidade com outros aparelhos .
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#7

David

    Alone In The Blue!

  • Supervisor
  • 16.620 posts

Postado 22 Nov 2013 - 07:11

Minha pergunta é, para programar um app para android, tenho que aprender alguma linguagem de programação, correto?

Cronus, Java e HTML são necessários.
E os dois são usados de formas diferentes.
Única diferença é que para o HTML você vai precisar do Node.js e do Phonegap, pra poder criar os apks.
O processo de criação é o mesmo que de uma página HTML responsiva, para se adaptar ao tamanho das telas.

Já em JAVA o processo é diferente, pois você precisa entender de Java, e a API, onde muitos programadores chamam de Java Android, por ter suas particularidades.

Não importa qual seja a linguagem, o principal é ter a ideia na mente e correr atrás do conhecimento.

Shits Happen All the Time!


#8

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 22 Nov 2013 - 11:38

HTML não, XML .

Porém XML já é uma necessidade embutida no aprendizado do Java .

:edit

Lembrando que o PhoneGap não faz parte do Android nem do iOS , é uma framework para facilitar projetos serem usados em ambos Android e iOS com facilidade para migração entre eles .

Não é obrigatório nem necessário usar PhoneGap para programar no Android nem no iOS .
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#9

David

    Alone In The Blue!

  • Supervisor
  • 16.620 posts

Postado 22 Nov 2013 - 12:28

Não é obrigatório nem necessário, mas é bastante útil e bem usado.
E sim HTML, pois, podemos dividir em duas vertentes isso:
JAVA
HTML5+CSS3 (Phonegap ou Rhodes)

Então, basta escolher seu caminho e seguir.

Shits Happen All the Time!


#10

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 22 Nov 2013 - 12:33

A pergunta foi sobre aprender a programar apps no Android, e no Android não precisa de HTML .

A pergunta não foi sobre o PhoneGap ou outras frameworks que rodam compartilhando a API em nível de Webkit .

Tenta fazer um jogo no PhoneGap, além dele não oferecer suporte a OpenGL e WebCL, fica lento porque ele é um intermediário desnecessário no processamento nativo do Android .

Além disso justamente por ele rodar em webkit uma queixa comum é que ele é mais lento que o equivalente nativo , além de consumir mais RAM .
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#11

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 22 Nov 2013 - 12:42

Não precisa mover para lixeira, afinal não violou nenhuma regra e o assunto está organizado no tópico .
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#12

David

    Alone In The Blue!

  • Supervisor
  • 16.620 posts

Postado 22 Nov 2013 - 12:49

Eu penso que conhecimento nunca é demais.
Se você puder usar Java e fazer tudo que precisa ali, ótimo.
Se quiser usar um phonegap pra fazer um app, seja feliz, e o faça também.

Shits Happen All the Time!


#13

rodrigonewmetal

    Classic Gamer

  • Membro Prime
  • PipPipPipPipPip
  • 547 posts

Postado 22 Nov 2013 - 13:04

Sensacional esse post, estou acompanhando também!
Keep Rock!

#14

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 22 Nov 2013 - 13:28

Eu penso que conhecimento nunca é demais.
Se você puder usar Java e fazer tudo que precisa ali, ótimo.
Se quiser usar um phonegap pra fazer um app, seja feliz, e o faça também.


Se for pensar assim então tem para aprender a programar também em Python, porque também roda no Android .

Ou Perl, porque também é muito útil .

Também tem de aprender LUA , pois também roda no Android .

Tem até Pascal no Android .

"Mas PhoneGap é mais fácil .... " . Sabia que existe até Basic para Android ?

Ao invés disso, Phonegap, Python, LUA , Pascal e Basic não são necessários para programar apps em Android, nem oferecem todos recursos que o Java e o C++ nativos oferecem .

Phonegap você programa uma framework que de fato está rodando na Webkit . Você fica limitado ao que for suportado pela framework , consome mais RAM e mais processamento e como resultado tem uma App mais lenta que a nativa.

A única vantagem é que rodando pela Webkit é portável para iOS e Windows Phone, mas não deixa de ser uma WebApp, embora não se queira admitir isso .
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#15

David

    Alone In The Blue!

  • Supervisor
  • 16.620 posts

Postado 22 Nov 2013 - 13:40

Se eu me expressei mal, me desculpe.
Eu dei duas opções para o Cronus.
Falei de Java e HTML.
Sei das outras linguagens que existem e que rodam no Android, não sou leigo no assunto.
Apenas expus uma alternativa ao Java.

Para reformular meu post e deixar que o tópico tome o rumo que deveria:
Para programar NATIVAMENTE: Java e C++.

Para programar em um webkit, e usá-lo para criar um webapp: PhoneGap, Rhodes, Python, Js e etc.

Shits Happen All the Time!


#16

LiveSorcerer™

    I see the future...rs

  • Supervisor
  • 1.460 posts

Postado 23 Nov 2013 - 18:47

Baixei só agora aqui no Mac.
Agora é só começar.

Apple iPhone 7 Silver 32GB iOS 10.3.3 (VIVO) / Huawei Mate 10 Pro  6GB/128GB (TIM)

Apple Macbook Pro 13" 2012 + 16GB DDR3L + 1TB SSD (Series 840 Evo+Series 850 Evo RAID 0) + MacOS Sierra / Dell Inspiron i15 5548 i5 5200U / 2.2 GHz@2.7GHz8GB DDR3 + Radeon M265 2GB DDR3 + 1TB + Windows 10 Pro

(Xbox Classic) Biostar AMD A8-5545 @2.7GHz + HD8510G/GALAX GT 1030 2GB 64Bits + 8GB DDR3 + 120GB SSD + 2TB HDD + Windows 10 Pro

(PS3 FAT) Gigabyte GA-H81N-D2H i5-4570 @3.6GHz + Intel® HD 4600 + 16GB DDR3 + 240 GB SSD + 2TB HDD + Windows 10 Pro