Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 INTRODUÇÃO A PLATAFORMA ANDROID 2 O QUE É O ANDROID? 3 Plataforma de desenvolvimento para aplicativos móveis como smartphones e tablets e contêm um sistema operacional baseado em Linux e adotou-se a linguagem Java para desenvolver as aplicações e jogos, usufruindo de todos os recursos. Também possível usar C++ e novo suporte é para a linguagem Kotlin. O QUEM CRIOU O ANDROID? 4 O QUEM CRIOU O ANDROID? 5 Ele foi inicialmente desenvolvido pela Android Inc. E depois o Google comprou (2005) e posteriormente foi para Open Handset Alliance – OHA. OHA – É um grupo formado pelos os gigantes do mercado da telefonia de celulares liderados pelo Google. HTC – LG – MOTOROLA – SAMSUNG – SONY – ERICSON – TOSHIBA – INTEL – ASUS – DELL- ACER. Hoje é a Alphabet! Configuração do Ambiente 6 Para iniciar o desenvolvimento de aplicações para Android, é necessário instalar o SDK, que contém o emulador e todas as ferramentas necessárias para o desenvolvimento. A IDE que será utilizada é o eclipse por isso para se ter o ambiente completo basta realizar o download do ADT Bundle que venho com o eclipse, SDK e o ADT (plugin eclipse) configurado. Link para download: http://moodleesvnemesio.info/version7D/node/20 Plataforma – Versão Android 7 Como existem vários celulares Android no mercado, é possível que cada um deles tenha uma versão diferente do sistema operacional. No Android, uma versão do sistema operacional é conhecida como plataforma. Então podemos dizer que existem diversão plataformas diferentes do Android (1.0, 1.1, 1.5 e etc...) API LEVEL 8 Cada plataforma tem um código identificador, chamado de API Level a lista mostra a relação delas e cada plataforma: API Level 8: Corresponde a Plataforma do Android 2.2 Froyo API Level 9: Corresponde a Plataforma do Android 2.3 Gingerbread API Level 10: Corresponde a Plataforma do Android 2.3.3 API Level 11: Corresponde a Plataforma do Android 3.0 Honeycomb API Level 12: Corresponde a Plataforma do Android 3.1 API Level 13: Corresponde a Plataforma do Android 3.2 API Level 14: Corresponde a Plataforma do Android 4.0 Ice Cream Sandwich API Level 15: Corresponde a Plataforma do Android 4.0.3 API Level 16: Corresponde a Plataforma do Android 4.1 Jelly Bean API Level 17: Corresponde a Plataforma do Android 4.2 Jelly Bean API Level 18: Corresponde a Plataforma do Android 4.3 Jelly Bean API Level 19: Corresponde a Plataforma do Android 4.3 KitKat Instalando Plataforma 9 Recomenda-se que baixe a versão mais nova e mais antiga do Android. Por exemplo, há aparelhos com Android 2.2, isto é, API Level 8, logo se quiser deixar seu aplicativo compativel com a versão 2.2 voce deve baixar e referencia como versão mínima no seu projeto . Para realizar o download é necessário acessar o SDK Manager e marcar os checkboxes da versão que desejar instalar e na pasta extras marque SDK Platform-tools e fora marque o checkboxes dos seguintes itens: • Android Support Library – compatibilidade 3.x e 4.x - Fragments • Google Play Services – API de mapas • Google USB Driver – celular real no USB EMULADOR 10 Android Virtual Device (AVD) EMULADOR 11 Android Virtual Device (AVD) EMULADOR 12 Android Virtual Device (AVD) EMULADOR 13 Android Virtual Device (AVD) EMULADOR 14 Android Virtual Device (AVD) o que não dar para fazer com emulador: 1. Acessar as redes das operadoras 2. Encontrar Redes Wi-Fi 3. Utilizar o bluetooth 4. Sensores de Acelerômetro Estrutura do Projeto em Android 15 1. src - as classes do projeto 2. gen – contém a classe R.java 3. assets – arquivos opcionais: fontes costumizadas 4. libs – inserir .jars 5. res – contém recursos da aplicação, drawble, layout, menu e values 5.1 drawable – contém as imagens da aplicação 5.2 layout – contém os XML de layouts para construir telas 5.3 menu – contém os XML que criam menus 5.4 values – contém os XML para internacionalização e temas Classe R 16 Cada arquivo dentro da pasta res contém uma referência na classe R, que é automaticamente gerada pelo plug-in do Eclipse no pacote padrão definido para o projeto. Os arquivos são referenciados através de uma constantes dentro da classe R: public static final class drawable { public static final int ic_launcher=0x7f020000; } Classe R 17 Para acessar algum recurso da pasta res dentro de uma Classe Java é necessário usar a Classe R.java. Por exemplo: para acessar: public final class R { public static final class drawable { public static final int ic_launcher=0x7f020000; } } Vemos a imagem ic_launcher na classe java ela deve ser chamada assim: R.drawable.ic_launcher assets 18 É a pasta onde ficam arquivos de mídia que são usados na aplicação. Podem ser quaisquer tipos como vídeos, sons, imagens entre outros. Por exemplo, podemos colocar um game em HTML e chamar pelo endereço abaixo dentro do APP android: "file:///android_asset/index.html" libs 19 É a pasta onde podemos inserir arquivos .jars para serem adicionados ao classpath do projeto o android-support-v4.jar foi adicionado por padrão. android-support-v4.jar: classes de compatibilidade criadas no Android 3.x res - drawable 20 É a pasta de imagens no projeto Android. Existem pasta de imagem para cada resolução: • drawable-ldpi – QVGA (240X320) baixa resolução • drawable-mdpi – WVGA (320X480) média resolução • drawable-hdpi – WVGA (480X800) alta resolução Obs: Estas pastas não tem relação com o tamanho de tela, e sim com densidade e resolução da tela o tamanho da tela pode ser o mesmo, mas a quantidade de pixels que ela consegue exibir pode ser diferente. res - layout 21 • Pasta onde ficam os XMLs das telas Obs: Mas o Android permite criar telas diretamente pelo código- fonte utilizando API Java. • Dentro de um XML existem componentes que é um Item Gráfico (widget) <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> LogCat 22 • Para vermos os logs no Android é necessário usar a classe android.util.Log que podemos ver os seguinte tipos de logs: NÍVEL SIGLA COR Debug D Verbose V Info I Warn W Error E 23 A seguir os passos para criar o projeto dessa pesquisa em ANDROID na IDE Eclipse Projeto - Android 24 Projeto - Android 25 Projeto - Android 26 Projeto - Android 27 Projeto - Android 28 Projeto - Android 29 RESULTADO 30 31 ACTIVITY Activity 32 É a Tela da Aplicação, a classe que vai ser executada deve extender a Activity. Por padrão a primeira Activity é gerada no momento que criamos o Projeto Android. Activity 33 Quando é criada no momento da criação do projeto, a Activity se apresenta conforme abaixo: NÃO É OBRIGATÓRIO, PODEMOS DELETAR! É OBRIGATÓRIO, ELE É QUEM CRIA A TELA Método para desenhar a tela feita em XML Caminho da Tela em XML obtido pela classe R 34 XML Modificar a Tela do login.xml 35 Podemos criar a tela no Android usando XML. Por padrão essa telas ficam no diretório res/layout. A seguir vamos colocar novos códigos para essa tela. Modificar a Tela do login.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:padding="5dp"> <TextView android:id="@+id/txtLogin" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Usuário" /> <EditText android:id="@+id/edtUsuario" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > </EditText> <TextView android:id="@+id/txtSenha" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Senha" /> <EditText android:id="@+id/edtSenha" android:layout_width="match_parent" android:layout_height = "wrap_content" android:ems="10" android:inputType="textPassword" /> <Button android:id="@+id/btnEntrar" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="logar" android:text="Entrar" /> </LinearLayout> Observação: As propriedades: android:layout_width android:layout_height são obrigatórias em todos os componentes; Seus valores: fill_parent match_parent Ocupa o tamanho do layout wrap_content Ocupa o tamanho necessário do componente Espaço entre a borda e o conteúdo. Padding ems Define a largura do EditText. Modificar a Tela do login.xml Observação: A propriedade: android:id serve para identificar os componentes para serem encontrado na Classe Java através do método: findViewById(int) A propriedade: android:inputType serve para definir o tipo de entrada de daos, na nossa tela queremos que seja de senha, logo usamos: “textPassword" Todo valor de um atributo devemos colocar “” aspas duplas. No componente Button usamos: android:onClick para chamar um método que atribuirmos a ele quando o botão for acionado. No caso seria o logar 38 CLASSE Login 39 package br.leitor.activity; import br.leitor.activity.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class Login extends Activity{ private EditText edtUsuario; private EditText edtSenha; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.login); edtUsuario = (EditText) findViewById(R.id.edtUsuario); edtSenha = (EditText) findViewById(R.id.edtSenha);} public void logar(View view) { if(edtUsuario.getText().toString().equalsIgnoreCase("uml")&&edtSenha.getText().toString().equalsIgnoreCase("uml")){ Toast.makeText(this.getApplicationContext(), “Oi!", Toast.LENGTH_SHORT).show(); } else{ Toast.makeText(this.getApplicationContext(), "Senha Inválida!", Toast.LENGTH_SHORT).show(); } } } Logica da classe Login que é uma Activity. Validando usuário e senha com o valor: uml. 40 Onde está a main no Andorid? AndroidManifest.xml 41 Arquivo onde fica as configurações do app/game em android. E onde colocamos a main que executará a Acrivity que definirmos dentro dela: Definimos a main na Activity Login Devemos sempre add toda Acitivity que criarmos aqui nesse AndroidManifest.xml RESULTADO 42 43 RESUMO Activity 44 1. É uma classe que deve herdar android.app.Activity; 2. Responsavel por trata eventos na tela; 3. Deve implementar o método onCreate; 4. Chamar o método setContentView para definir a interface de usuario; 5. Cada activity deve ser obrigatoriamente declarada no arquivo AndroidManifest.xml; 6. Tem ciclo de vida AndroidManifest.xml 45 1. É a base da aplicação android; 2. Deve ficar na Raiz; 3. Comparado ao web.xml; 4. É obrigatório que cada activity seja declarada nele; 5. Tipos de permissões: <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.VIBRATE" /> .... AndroidManifest.xml 46 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.activity“ PACOTE ÚNICO DO PROJETO android:versionCode="1“ VERSÃO GOOGLE PLAY - PROGRAMADOR android:versionName="1.0" > VERSÃO GOOGLE PLAY - USUARIO <uses-sdk android:minSdkVersion="8“ VERSÃO MINIMIMA SUPORTADA android:targetSdkVersion="17" /> VERSÃO DO BUILD <application android:allowBackup="true“ Se permite backup android:icon="@drawable/ic_launcher“ Icone no home android:label="@string/app_name“ nome do app no home android:theme="@style/AppTheme" > estilo do values AndroidManifest.xml 47 <activity android:name="com.example.activity.CicloActivity“ activity android:label="@string/app_name" > <intent-filter> filtro para executar activity //indica que essa activity é será executada inicialmente <action android:name="android.intent.action.MAIN" /> //indica que essa activity pode ser executada no home <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 48 INTENT INTENT 49 • Uma intent está presente em todos os lugares e representa uma mensagem da aplicação para o sistema operacional, solicitando que algo seja realizado, e representa um importante papel na arquitetura do Android para integrar diferentes aplicações. • Cabe ao sistema operacional interpretar essa mensagem e tomar as providências necessárias, que pode ser para abrir uma simples aplicação, fazer uma ligação para determinado número ou até abrir o browser em uma determinada página da internet. INTENT 50 • Abrir uma tela Intent intent = new Intent(this, “alguma ação aqui”); startActivity(intent); • Fazer uma ligação Uri uri = Uri.parse("tel:"+telefone); /** * Precisa de permissão: <uses-permission android:name="android.permission.CALL_PHONE"/> */ Intent intent = new Intent(Intent.ACTION_CALL,uri); startActivity(intent); • Abrir o browser Uri uri = Uri.parse(endereco); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); INTENT 51 • Visualizar todos os contatos Uri uri = Uri.parse("content://com.android.contacts/contacts/"); Intent it = new Intent(Intent.ACTION_PICK,uri); startActivity(intent); 52 MÉTODOS PARA ABRIR OUTRA ACTIVITY Métodos para Abrir outra Activity 53 REFERÊNCIAS 54 Lecheta, R. R. Google Android – Aprenda a criar aplicações para dispositivos móveis com Android SDK. 3. ed. São Paulo: Novatec Editora. 2013
Compartilhar