You are on page 1of 71

Android 4,0 Desenvolvimento Tutorial

Lars Vogel
Verso 8,7 Copyright 2009 - 2011 Lars Vogel 2011/11/24
Histrico da Reviso
Reviso 0,1 Criado Reviso 0,2-8,7 correo de bugs e melhorias 2009/07/04 2009/07/07 - 2011/11/24

Desenvolvimento com Android Gingerbread e Eclipse Este tutorial descreve como criar aplicativos Android com o Eclipse. baseado no Eclipse 3.7 (Indigo), Java 1.6 e 4.0 do Android (Ice Cream Sandwich).

ndice 1. O que Android? 1.1. Sistema Operacional Android 1.2. Importantes componentes Android 1.3. Dalvik Virtual Machine 1.4. Segurana e permisses 2. Android Application Architecture 2.1. AndroidManifest.xml 2.2. R.java, recursos e bens 2.3. Referncia aos recursos em arquivos XML 2.4. Atividades e Layouts 2.5. Atividades e Ciclo de Vida 2.6. Contexto 3. Instalao 3.1. Eclipse e automtico Android SDK 3.2. Instalar manualmente o Android SDK 3.3. Instalar uma verso especfica para Android 3.4. Cdigo-fonte do Android 4. Usando o emulador 4.1. Criar um emulador de dispositivo Android 4.2. Atalhos emulador 4.3. Execuo 5. Tratamento de erros e problemas tpicos 5.1. Projeto limpa 5.2. LogCat 5.3. Emulador no se inicia

5.4. Mensagem de erro para @ override 5.5. Importaes em falta 5.6. Eclipse Dicas 6. Seu primeiro projeto Android 6.1. Criar projeto 6.2. Duas faces de coisas 6.3. Criar atributos 6.4. Adicionar Elementos UI 6.5. Editar propriedades UI 6.6. Cdigo do seu aplicativo 6.7. Incio do Projeto 7. Iniciando um aplicativo implantado 8. Menus e Barra de ao 8.1. Definio de entradas do menu 8.2. Barra de guias de ao 8.3. Menus de contexto 9. Tutorial: Menus e Barra de ao 9.1. Projeto 9.2. Adicionar um menu de recursos XML 10. Preferncias 11. Tutorial: Preferncias 11.1. Usando as preferncias 11.2. Correr 12. Dilogos atravs do AlertDialog 13. Layouts 14. TableLayout 14.1. Viso global 14.2. Exemplo 15. ContentProvider 15.1. Viso global 15.2. Criar contatos no seu emulador 15.3. Usando o Provedor de Contedo Contato 16. ScrollView 17. DDMS perspectiva e pontos de vista importantes 17.1. DDMS - Debug Dalvik Server Monitor 17.2. Ver LogCat 17.3. Explorador de arquivos 18. Concha 18.1. Android Debugging Bridge - Shell 18.2. Desinstalar um aplicativo via adb 18.3. Console emulador via telnet 19. Implantar o aplicativo em um dispositivo real 20. Obrigado 21. Perguntas e Discusso 22. Links e Literatura 22.1. Cdigo Fonte 22.2. Recursos Android 22.3. vogella Recursos

1. O que Android?
1.1. Sistema Operacional Android

Android um sistema operacional baseado em Linux com uma interface de programao Java. Ele fornece ferramentas, por exemplo, um compilador, depurador e um emulador de dispositivo, bem como a sua prpria mquina virtual Java (Dalvik Virtual Machine - DVM). Android oficialmente guiada pela Open Handset Alliance, mas na realidade o Google lidera o projeto. Android suporta 2-D e 3-D grficos usando as bibliotecas OpenGL e suporta o armazenamento de dados em um banco de dados SQLite. Todos os aplicativos do Android roda em seu prprio processo e sob a sua identificao de usurio prprias, que gerado automaticamente pelo sistema Android durante a implantao. Portanto, a aplicao isolado de outros aplicativos em execuo e uma aplicao mal-comportados no pode facilmente prejudicar outras aplicaes Android.

1.2. Importantes componentes Android


Uma aplicao Android consiste fora das seguintes partes:

Atividade - representa a camada de apresentao de uma aplicao Android, por exemplo, uma tela que o usurio v. Uma aplicao Android pode ter vrias atividades e pode ser comutado entre eles durante a execuo da aplicao. Visitas - a interface de usurio de um Atividades construdo com classes widget que inerente daandroid.view.View . O layout dos pontos de vista gerenciado por android.view.ViewGroups .Visto muitas vezes tm atributos que podem ser usados para alterar sua aparncia e comportamento. Servios - executar tarefas em segundo plano, sem fornecer uma interface do usurio. Eles podem notificar o usurio atravs do quadro de notificao no Android. ContentProvider - fornece dados para aplicaes, atravs de um provedor de contedo a sua aplicao pode compartilhar dados com outras aplicaes. Android contm um DB SQLite que pode servir como

provedor de dados Intenes - so mensagens assncronas que permitem a aplicao de solicitar a funcionalidade de outros servios ou atividades. Um aplicativo pode chamar diretamente um servio ou atividade (inteno explcita) ou

pedir o sistema Android para os servios registrados e pedidos de inteno (intenes implcitas). Por exemplo, o aplicativo pode pedir atravs de uma inteno para uma aplicao em contacto. Aplicaes registar-se a uma inteno atravs de um IntentFilter . Intenes um conceito poderoso, pois

permitem a criao de aplicaes de baixo acoplamento. BroadcastReceiver - recebe as mensagens do sistema e intenes implcitas, pode ser usado para reagir s condies alteradas no sistema. Um aplicativo pode registrar-se como BroadcastReceiverpara determinados eventos e pode ser

iniciado se tal evento ocorrer. Widgets - componentes interativos primrios utilizados na homescreen Android para mostrar alguns dados e permitir que o usurio tenha acesso rpido a informaes

Outros componentes so pastas Android Live e Android Wallpapers Live. Pastas ao vivo exibir dados na tela inicial, sem lanar o aplicativo correspondente.

1.3. Dalvik Virtual Machine


Android usa uma mquina virtual especial, por exemplo, a Dalvik Virtual Machine. Dalvik utiliza bytecode especial.Portanto, voc no pode executar bytecode Java padro em Android. Android fornece uma ferramenta dx que permite converter arquivos de classe Java em dex (Executvel Dalvik) arquivos. Aplicaes Android so embalados em um . apk arquivo (pacote Android) pelo programa AAPT (Android Packaging Tool Ativos) Para simplificar o desenvolvimento Google fornece as ferramentas de desenvolvimento Android (ADT) para Eclipse. A ADT realiza automaticamente a converso de arquivos de classe para dex e cria o apk durante a implantao.

1.4. Segurana e permisses


Android define permisses certas para determinadas tarefas. Por exemplo, se o aplicativo deseja acessar a Internet ele deve definir no seu arquivo de configurao que ele gostaria de usar a permisso relacionados.Durante a instalao de um aplicativo Android o usurio recebe uma tela em que ele precisa para confirmar as permisses necessrias da aplicao.

2. Android Application Architecture

2.1. AndroidManifest.xml
Uma aplicao Android descrito no arquivo AndroidManifest.xml . Este arquivo deve declarar todas asActividades , Servios , BroadcastReceivers e ContentProvider da aplicao. Deve conter tambm as permisses necessrias para a aplicao. Por exemplo, se a aplicao requer acesso rede deve ser especificado aqui. AndroidManifest.xml pode ser pensado como o descritor de implantao de um aplicativo Android.

<? Xml version = "1.0"

</ Application> <usa-sdk android: minSdkVersion = "9" />

<Manifesta />

O pacote de atributo define o pacote base para os seguintes elementos Java. Ele tambm deve ser exclusivo como o Android Marketplace s permite a

aplicao de um pacote especfico uma vez. Portanto, um bom hbito usar seu nome de domnio reverso como um pacote para evitar colises com outros desenvolvedores. android: versionName e android: versionCode . especificar a verso do seu aplicativoversionName . o que o usurio v e pode ser qualquer cadeia versionCode deve ser um inteiro e do Mercado Android usa isso para determinar se voc tiver fornecido uma verso mais recente para acionar a atualizao no dispositivos que tenham o aplicativo instalado. Voc geralmente comeam com "1" e aumentar este valor por um, se voc roll-out uma nova verso de sua aplicao. A tag <activity> define uma atividade , neste exemplo que aponta para a classe "de.vogella.android.temperature.Convert". Um filtro inteno registrado para esta classe que define que esteAtividade iniciado assim que o aplicativo iniciado (ao android: name = "android.intent.action.MAIN" ). A categoria de definio da categoria android: name = "android.intent.category.LAUNCHER" define que esta aplicao adicionada ao diretrio do aplicativo no dispositivo Android. O @ string / app_name valor referem-se a arquivos de recursos que contm os valores reais. Isto torna mais fcil para fornecer recursos diferentes, strings, por exemplo, cores, cones, para diferentes dispositivos e facilita a traduo de aplicaes. A "usa-sdk" parte do "AndroidManifest.xml" define a verso SDK mnimo a sua aplicao vlida. Isso vai impedir que o aplicativo a ser instalado em dispositivos com verses mais antigas SDK.

2.2. R.java, recursos e bens


O diretrio gen em um projeto Android contm valores gerados. R.java uma classe gerada, que contm referncias a recursos do res pasta no projeto. Estes recursos so definidos na resoluo do diretrio e podem ser valores, menus, layouts, cones ou imagens ou animaes. Por exemplo, um recurso pode ser uma imagem ou um arquivo XML que define strings. Se voc criar um novo recurso, a referncia correspondente automaticamente criada em R.java . As referncias so estticos valores int, o sistema Android fornece mtodos para acessar o recurso correspondente.Por exemplo, para

acessar uma String com o ID de referncia R.string.yourString usar o mtodogetString (R.string.yourString)); . R.java automaticamente mantida pelo ambiente de desenvolvimento Eclipse, alteraes manuais no so necessrias. Enquanto o diretrio res contm valores estruturados, que so conhecidos para a plataforma Android do diretrioativos podem ser usados para armazenar qualquer tipo de dados. Em Java voc pode acessar esses dados atravs do AssetsManager eo mtodo getAssets () .

2.3. Referncia aos recursos em arquivos XML


Em seus arquivos XML, por exemplo, os arquivos de layout que voc pode se referir a outros recursos atravs do @assinar. Por exemplo, se voc quiser se referir a uma cor que voc definido como os recursos que voc possa consultla via @ cor / your_id ou se voc tiver definido um "Ol" string como recurso que voc pode acess-lo via @ string / Ol .

2.4. Atividades e Layouts


A interface de usurio para Actividades definido atravs de layouts. Em tempo de execuo, layouts so instncias de android.view.ViewGroups . O layout define os elementos de interface do usurio, suas propriedades ea sua disposio. Elementos da interface so baseadas na classe android.view.View . ViewGroup uma subclasse da classe Ver e um layout pode conter componentes UI ( Views ) ou outros layouts ( ViewGroups ). Voc no deve nestle ViewGroups muito profundamente, pois isso tem um impacto negativo no desempenho. Um layout pode ser definido atravs de cdigo Java ou via XML. Voc normalmente usa cdigo Java para gerar o layout, se voc no sabe o contedo at a execuo, por exemplo, se o seu layout depende do contedo que voc ler a partir da Internet. Layouts baseados em XML so definidos atravs de um arquivo de recursos na pasta / res / layout . Este arquivo especifica os ViewGroups , Views , sua relao e seus atributos para um layout especfico. Se um elemento de interface do usurio precisa ser acessado por meio de cdigo Java voc tem

que dar o elemento UI um id nico atravs do android: id atributo. Para atribuir um ID de novo para uma utilizao elemento UI @ + id / yourvalue . Pela converso isso vai criar e atribuir um novo id yourvalue ao elemento UI correspondente. No seu cdigo Java voc pode mais tarde aceder a estes elementos UI atravs do mtodofindViewById (R.id.yourvalue) . Definio de layouts via XML geralmente a melhor maneira de como este separa a lgica de programao a partir da definio de layout. Ele tambm permite a definio de layouts diferentes para dispositivos diferentes.Voc tambm pode misturar as duas abordagens.

2.5. Atividades e Ciclo de Vida


O sistema operacional controla o ciclo de vida de sua aplicao. A qualquer momento o sistema Android pode parar ou destruir sua candidatura, por exemplo, por causa de uma chamada recebida. O sistema Android define um ciclo de vida para as atividades pr-definidas atravs de mtodos. Os mtodos mais importantes so:

onSaveInstanceState () - chamado se a atividade interrompida. Usado para salvar dados de modo que a atividade pode restaurar seus estados, se re-iniciados onPause () - sempre chamado se a atividade termina, pode ser usado para liberao de recursos ou salvar dados onResume () - chamado se a atividade re-iniciados, podem ser usados para inicializar os campos

A atividade tambm ser reiniciado se uma "mudana de configurao", assim chamada acontece. A mudana de configurao, por exemplo, acontece quando o usurio altera a orientao do dispositivo (vertical ou horizontal). A atividade neste caso reiniciado para habilitar a plataforma Android para carregar diferentes recursos para essas configurao, por exemplo, layouts para o modo vertical ou horizontal. No emulador voc pode simular a mudana de orientao via CNTR + F11 . Voc pode evitar um reincio do seu pedido de algumas mudanas de configurao atravs do configChanges atributo em sua definio a atividade em seu AndroidManifest.xml . A atividade a seguir no ser reiniciado em caso de mudanas de orientao ou posio do teclado fsico (oculto / visvel).

<activity android:name=".ProgressTestActivity" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden|keyboard"> </activity>

2.6. Contexto
A classe android.content.Context fornece as conexes com o sistema Android. a interface para informao global sobre o ambiente de aplicao. Contexto tambm fornece acesso ao Android Servios , Servio theLocation por exemplo. Como Atividades e Servios de estender a classe Context voc pode acessar diretamente o contexto atravs deste .

3. Instalao
A seguir pressupem que voc j tenha instalado o Eclipse. Para mais detalhes consulte Tutorial Eclipse .

3.1. Eclipse e automtico Android SDK


Use o gerenciador de atualizao Eclipse para instalar todos os componentes disponveis para o Desenvolvimento Android Tools (ADT) do URL https://dlssl.google.com/android/eclipse/ . Se voc no estiver familiarizado com o gerenciador de atualizao Eclipse o uso descrito no gerenciador de atualizao Eclipse . Depois que os componentes de desenvolvimento de novos Android so instalados voc ser solicitado a instalar o SDK Android. Voc pode fazer siga o assistente seguinte ou ir para a prxima seo para aprender como faz-lo manualmente.

3.2. Instalar manualmente o Android SDK


A etapa anterior downloads do SDK do Android automaticamente para voc. Voc tambm pode fazer o download do Android SDK manuallz a partir da homepage Android em Android SDK baixar . O download contm um arquivo zip que voc pode extrair para qualquer lugar no sistema de arquivos, por exemplo, eu coloquei-o em "c: \ android-sdk-windows". Evite usar espaos no nome do caminho de outra forma voc poder ter problemas mais tarde. Voc tambm tem que definir o local do SDK Android no Eclipse Preferncias. Em Eclipse abrir a janela de Preferncias atravs do Windows Preferncias . Selecione Android e digite o caminho da instalao do SDK Android.

3.3. Instalar uma verso especfica para Android


O Android SDK Gestor permite que voc instale verses especficas do Android. Selecione Janela Gestor Android SDK no menu Eclipse.

A caixa de dilogo permite que voc instale novo pacote e tambm permitem que voc exclu-los. Selecione "Pacotes disponveis" e abra o "Terceiro Addons". Selecione a API do Google 14 (Android 4.0) verso do SDK e clique em "Install".

Pressione o boto "Install" e confirme a licena para todo o pacote. Aps a instalao reinicie o Eclipse.

3.4. Cdigo-fonte do Android


O passo seguinte opcional. Durante o desenvolvimento do Android muito til ter o cdigo fonte do Android disponvel como Android usa um monte de defaults. Haris Peco mantm plugins que fornece acesso ao cdigo O cdigo fonte do Android. Use o gerenciador de atualizao Eclipse para instalar o plugin Source Android a partir do site seguinte atualizao: "http://adtaddons.googlecode.com/svn/trunk/source/com.android.ide.eclipse.source.updat e". Mais detalhes podem ser encontrados no website do projeto .

4. Usando o emulador
4.1. Criar um emulador de dispositivo Android
As ferramentas incluem um emulador Android. Este emulador se comporta como um dispositivo Android real na maioria dos casos e permite que voc teste a sua aplicao sem ter um dispositivo real. Voc pode emular um ou vrios dispositivos com configuraes diferentes. Cada configurao definida atravs de um "dispositivo virtual Android" (AVD). Para definir um AVD abrir o "Gerenciador de AVD" atravs do Windows Gestor de AVD e pressione "Novo".

Digite o seguinte.

Podemos tambm selecionar a caixa "Enabled" para Snapshots. Isto far a segunda partida do dispositivo virtual muito mais rpido. Na imprensa final no boto "Create AVD". Isto ir criar o dispositivo e exibi-lo sob o ttulo "Os dispositivos virtuais".Para testar se sua configurao est correta, selecione o dispositivo e pressione "Start". Depois (muito tempo) o dispositivo deve ser iniciado.

4.2. Atalhos emulador

Obviamente voc pode usar o emulador atravs do teclado do lado direito do emulador. Mas tambm existem alguns atalhos que so teis agradvel. Alt + Enter maximiza o emulador. Agradvel para demos. Ctrl + F11 muda a orientao do emulador. F8 voltas rede on / off.

4.3. Execuo
Tente usar uma resoluo menor para o seu emulador como por exemplo HVGA. O emulador fica mais lento quanto mais pixels para tornar as suas necessidades como ele est usando software de renderizao. Alm disso, se voc tem memria suficiente no seu computador, adicionar pelo menos 1 GB de memria para seu emulador. Este o valor "tamanho da memria RAM do dispositivo" durante a criao da AVD. Tambm definir o sinalizador "Enabled" para Snapshots. Isto ir salvar o estado do emulador e deix-lo comear muito mais rpido.

5. Tratamento de erros e problemas tpicos


As coisas no so sempre trabalhando como deveriam. Esta seco d uma viso geral sobre os problemas tpicos e como resolv-los.

5.1. Projeto limpa


Vrios usurios relatam que receber os seguintes erros: 1. Projeto ... est faltando pasta de origem exigido: 'gen' 2. O projeto no poderia ser construda at que os erros caminho de construo so resolvidos. 3. No possvel abrir arquivo de classe R.java. Projeto para resolver qualquer um desses erros, v at o menu projeto e selecione -> Clean.

5.2. LogCat

A viso LogCat mostra a mensagem de log do seu dispositivo Android e ajudlo a anlise de problemas. Por exemplo excees Java em seu programa iria ser mostrado aqui. Para abrir essa viso, selecione "Window -> Show View -> Other -> Android - LogCat>" a partir do menu.

5.3. Emulador no se inicia


Se o emulador no iniciar, certifique-se que a verso androd-sdk est em um caminho sem espaos no nome do caminho.

5.4. Mensagem de erro para @ override


A anotao @ override foi introduzido em Java 1.6. Se voc receber uma mensagem de erro para @ substituir alterar o nvel de compilador Java para Java 1.6 atravs do boto direito do mouse clique sobre o projeto -> Properties -> Java Compiler -> Compilador nvel de conformidade e configur-lo para "1.6".

5.5. Importaes em falta


Java exige que as classes que no fazem parte da linguagem Java padro so ambos totalmente qualificado ou declarada via importaes. Em seu editor de usar o clique do mouse clique, selecione "Source-> Organize Imports" se voc ver mensagem de erro com "XX no pode ser resolvido para uma varivel".

5.6. Eclipse Dicas


Para o trabalho mais eficiente com o Eclipse, selecione Window -> Preferences -> Java -> Editor -> Save Actions e selecione o cdigo fonte deve ser formatada e que as importaes devem ser organizadas em todos os salvar.

6. Seu primeiro projeto Android


6.1. Criar projeto
Este aplicativo tambm est disponvel no Android Marketplace. Procure por "vogella" para encontrar esse exemplo. Selecione Arquivo Novo Outros Android Projeto Android e criar o projeto Android "de.vogella.android.temperature". Digite o seguinte.

Pressione o boto "Finish". Isso deve criar a seguinte estrutura de diretrio.

Enquanto "res" contm valores estruturados, que so conhecidos para a plataforma Android do diretrio "assets" pode ser usado para armazenar qualquer tipo de dados. Em Java voc pode acessar esses dados atravs do AssetsManager eo getAssets mtodo ().

6.2. Duas faces de coisas


O SDK do Android permite definir determinados artefatos, por exemplo, cordas e interface do usurio, de duas maneiras, atravs de um editor rico e diretamente via XML. A descrio a seguir tenta usar a interface de usurio rica, mas para a validao de listas tambm o XML. Voc pode alternar entre as duas coisas, clicando na guia na parte inferior da tela. Por exemplo, no Package Explorer, selecione "res / layout / main.xml".

6.3. Criar atributos


Android permite a criao de atributos de recursos, por exemplo, para cordas e / ou cores. Esses atributos podem ser usados na definio de UI via XML ou em seu cdigo-fonte Java. Selecione o arquivo "res / valores / string.xml" e pressione "Add". Selecione "Color" e digite "MyColor" como o nome e "# 3399CC" como o valor.

Adicione tambm o seguinte "String" atributos. Atributos de cadeia permite traduzir a aplicao em um momento posterior. Tabela 1. Atributos cadeia Nome Valor Celsius para Celsius fahrenheit para Fahrenheit calc Calcular

Mudar para a representao XML e validar os valores.

<? Xml version = "1.0" encoding = "utf-8"?> <resources> <string nome = "Ol" > Ol, Mundo Convert! </ string>

<string nome = "app_name" > Temperatura Celsius </ string> <string nome = "fahrenheit" > para Fahrenheit </ string> <string nome = "calc" > Calcular </ string> </ resources>

6.4. Adicionar Elementos UI

Selecione "res / layout / main.xml" e abra o editor Android atravs de um clique duplo. Este editor permite criar a interface do usurio atravs de arrastar e soltar ou atravs do cdigo-fonte XML. Voc pode alternar entre as duas representaes por meio das guias na parte inferior do editor. Para alterar a posio e agrupamento elementos que voc pode usar a vista de destaques. A seguir mostra um screenshot da viso Palette partir do qual voc pode arrastar e soltar elementos UI novos em seu layout. Por favor, note que o "Palette" muda a vista com freqncia para a sua viso pode ser um pouco diferente.

Boto direito do mouse sobre o objeto de texto "Ol Mundo, Ol!" No layout. Selecione Excluir no menu pop-up para remover o objeto de texto. Ento, a partir da "paleta" de visualizao, selecione campos de texto e localizar "Plain Text". Arraste este sobre o layout para criar um campo de entrada de texto. Todos os tipos de objetos na seo de "campos de texto" derivam da classe "EditText", eles apenas especificar atravs de um atributo adicional que tipo de texto pode ser usado.

Agora selecione a paleta seo "Forma Widgets" e arrastar um "RadioGroup" objeto no layout. O nmero de botes de rdio adicionado ao grupo de botes de rdio depende da sua verso do Eclipse. Certifique-se que h dois botes de rdio, excluindo ou adicionando botes de rdio para o grupo. Da Paleta Widgets Formulrio seo, arraste um objeto Button para o layout. O resultado dever ser parecido com o seguinte.

Mudar para "main.xml" e verificar se o XML tem a seguinte aparncia.

<? Xml version = "1.0"

6.5. Editar propriedades UI


Se voc selecionar um elemento de interface do usurio pode alterar suas propriedades por meio da viso propriedades. A maioria das propriedades podem ser alteradas atravs do menu direito do mouse. Voc tambm pode editar as propriedades de directy campos em XML. Normalmente voc alterar as propriedades diretamente no arquivo XML como este muito mais rpido. Mas a funcionalidade direito do mouse bom se voc estiver procurando por uma determinada propriedade. Vamos apagar o texto inicial para o campo EditText em XML. Alterne para a guia "main.xml" e apague o "android: text =" EditText ". Propriedade da parte EditText Volte para a" Graphical guia Layout "e verificar que o texto removido. Use o clique direito do mouse no primeiro boto de opo para atribuir o "celsius" atributo string para seu "texto" da propriedade. E atribuir o "Fahrenheit" atributo de cadeia para o segundo boto.

A partir de agora eu suponho que voc capaz de usar o menu de propriedades sobre os elementos da interface do usurio. Voc pode editar o arquivo XML ou modificar as propriedades via boto direito do mouse. Defina a propriedade "Checked" a verdade para o RadioButton em primeiro lugar. Atribuir "calc" para a propriedade de texto do seu boto e atribuir "myClickHandler" para o "onClick" propriedade. Definir o "Input tipo" propriedade para "numberSigned" e "numberDecimal" no seu EditText. Todos os seus controles de interface do usurio esto contidos em um LinearLayout. Queremos atribuir uma cor de fundo a esta LinearLayout. Boto direito do mouse em um espao vazio no modo layout grfico, em seguida, selecione Propriedades Outros Todos por Nome Background . Selecione "Color" e depois "MyColor" na lista.

Alterne para a guia "main.xml" e verificar se o XML corretamente mantido.

<? Xml version = "1.0"

6.6. Cdigo do seu aplicativo


Durante a gerao do seu projeto Android novo voc especificou que uma atividade chamadaCovertActivity deve ser criada. O assistente do projeto tambm criou o classs correspondig Java. Alterar o seu cdigo em ConvertActivity.java para o seguinte. Note que o myClickHandler ser chamado baseada no OnClick propriedade de seu boto.

pacote de.vogella.android.temperature;

import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.RadioButton;

import android.widget.Toast;

pblico

de classe ConvertActivity estende Atividade { privada texto EditText;

@ Override pblica vazio onCreate (Bundle savedInstanceState) { super- onCreate (savedInstanceState).; setContentView (R.layout.main); text = (EditText) findViewById (R.id.editText1);

/ / Este mtodo chamado de boto de clique porque ns atribudo o nome para o / / "Na propriedade Click" do boto pblica vazio myClickHandler (Ver view) { interruptor (view.getId ()) { caso R.id.button1: RadioButton celsiusButton = (RadioButton) findViewById (R.id.radio0); RadioButton fahrenheitButton = (RadioButton) findViewById (R.id.radio1); se (text.getText () comprimento. () == 0 ) { Toast.makeText ( este , "Por favor insira um nmero vlido" , . Toast.LENGTH_LONG) show (); retorno ; }

flutuar inputValue (toString text.getText () ().) = Float.parseFloat; se (celsiusButton.isChecked ()) { text.setText (String . ValueOf (convertFahrenheitToCelsius (inputValue))); celsiusButton.setChecked (false); fahrenheitButton.setChecked (true); } mais { text.setText (String . ValueOf (convertCelsiusToFahrenheit (inputValue))); fahrenheitButton.setChecked (false); celsiusButton.setChecked (true); } quebrar ; } }

/ / Converte para celsius privada fahrenheit) { flutuam convertFahrenheitToCelsius ( flutuam

retorno ((Fahrenheit - 32 ) * 5 / 9 ); }

/ / Converte para fahrenheit privada { retorno ((celsius * 9 ) / 5 ) + 32 ; } } flutuam convertCelsiusToFahrenheit ( flutuam celsius)

6.7. Incio do Projeto


Para iniciar o aplicativo Android, selecione o seu projeto, clique direito sobre ele, Run-As-> Application Android Seja paciente, o emulador inicia-se muito lento. Voc deve obter o seguinte resultado.

Digite um nmero, selecione a sua converso e pressione o boto. O resultado deve ser apresentado e, a outra opo deve ser selecionada.

7. Iniciando um aplicativo implantado


Depois que voc executou o aplicativo no dispositivo virtual que voc pode inici-lo novamente no dispositivo. Se voc pressionar o boto Home tambm possvel selecionar o aplicativo.

8. Menus e Barra de ao
8.1. Definio de entradas do menu
Android fornece duas maneiras possveis para mostrar aes globais que o usurio pode selecionar. O primeiro o uso da barra de ao no aplicativo. A Barra de ao um recurso de janela na parte superior da atividade que pode exibir o ttulo da atividade, os modos de navegao e outros itens interativos. A segunda opo que o aplicativo pode abrir um menu que mostra aes adicionais atravs de um menu pop-up.Tpicos que voc define as entradas de menu em uma forma que eles so adicionados barra de ao, se houver espao suficiente disponvel na barra de ao e, se no que restantes itens do menu so exibidos no menu pop-up. O menu de opes ea barra de ao de sua atividade preenchido pelo onCreateOptionsMenu mtodo () de sua atividade. Neste mtodo, voc pode criar o menu de programao ou voc pode usar um dos recursos pr-definidos XML que insuflado atravs da classe "MenuInflator". Cada atividade tem j uma instncia da classe disponveis e neste caso pode ter acessado atravs do mtodo getMenuInflator (). onCreateContextMenu () chamado apenas uma vez. Se voc quer influenciar o menu mais tarde voc tem que usar o mtodo onPrepareOptionsMenu ().

8.2. Barra de guias de ao


Tambm possvel adicionar guias para uma barra de ao.

8.3. Menus de contexto


Voc tambm pode atribuir um menu de contexto para um widget UI (view). Um menu de contexto ativado se o usurio "pressiona muito" a vista. Um menu de contexto para um ponto de vista registrado atravs do mtodo registerForContextMenu (view). O mtodo onCreateContextMenu () chamado cada vez que um menu de contexto ativado como o menu de contexto descartado aps seu uso. A plataforma Android tambm pode adicionar opes vista, por exemplo, "EditText" oferece opes de contexto para selecionar o texto, etc

9. Tutorial: Menus e Barra de ao


9.1. Projeto
Este captulo ir demonstrar como criar e avaliar um menu de opes que exibido na barra de ao, se houver espao suficiente disponvel. Este exemplo ser estendido, no captulo sobre as preferncias. Criar um projeto "de.vogella.android.socialapp" com a atividade "OverviewActivity". Mudar a interface do usurio no arquivo "/ res / layout / main.xml" para o seguinte:

<? Xml version = "1.0"

Preferences " > Boto </>

Preferences " > Boto </>

<LinearLayout />

9.2. Adicionar um menu de recursos XML


Selecione o seu projeto, clique direito sobre ele e selecione Novo Outros Android Arquivo Android XMLpara criar um recurso novo XML. Selecione a opo "Menu", entra como arquivo "mainmenu.xml" e pressione o boto "Finish".

Isto ir criar um novo arquivo "mainmenu.xml" na pasta "res menu /" do seu projeto. Android fornece um editor bom para editar este arquivo, infelizmente este editor nem sempre usado automaticamente. Para usar este editor boto direito do mouse sobre o arquivo de menu e selecione Abrir com Menu Editor Android .

Interruptor se necessrio, para a guia "Layout" do editor. Pressione Adicionar e selecione "Item". Manter o valor seguinte. Isto define as entradas no seu menu. Vamos tambm definir que a entrada de menu exibido na barra de ao se no houver espao suficiente disponveis.

Alterar a sua atividade de classe "OverviewActivity" para o seguinte. O mtodo OnCreateOptionsMenu usado para criar o menu. O comportamento em "onOptionsItemSelected" est codificado para mostrar um brinde e logo chamar as configuraes de preferncias. No caso de voc desejar desativar ou ocultar itens de menu que voc pode usar o mtodo "onPrepareOptionsMenu", que chamada toda vez que o menu chamado.

pacote de.vogella.android.socialapp;

import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.Toast;

pblico

de classe OverviewActivity estende Atividade { @ Override pblica vazio onCreate (Bundle savedInstanceState) { super- onCreate (savedInstanceState).; setContentView (R.layout.main); }

@ Override pblica boolean onCreateOptionsMenu (menu Menu) {

MenuInflater inflater getMenuInflater = (); inflater.inflate (menu R.menu.mainmenu); retornar true; }

@ Override pblica boolean onOptionsItemSelected (item MenuItem) {

Toast.makeText ( este , "apenas um teste" ., Toast.LENGTH_SHORT) show (); retorno true; }

Executar o aplicativo. Como no h espao suficiente na barra de ao o item ser exibido l. Se houvesse mais itens voc pode pressionar "Menu" no emulador para v-los. Se voc selecionar o item de menu voc deve ver uma mensagem de informao de pequeno porte.

Os dois "Preferncias" botes ainda no esto ativos. Vamos utiliz-las no prximo captulo.

10. Preferncias
Android suporta o uso de preferncias para permitir que voc salvar os dados para sua aplicao. Preferncias so armazenados como valores fundamentais. A definio de preferncias tambm pode ser feito atravs de um recurso XML.

Android fornece a classe "PreferenceActivity", que estende a classe Activity. PreferenceActivity suporta a manipulao simples de preferncias. Esta atividade pode carregar uma definio de recursos preferncia atravs do mtodo addPreferencesFromResource (). Para a comunicao entre diferentes componentes Android usa Intenes. Tipicamente o PreferenceActivity iniciado a partir de outra atividade atravs de um Intent. Em seu aplicativo voc pode acessar o gerenciador de preferncia atravs do seguinte:

Preferncias SharedPreferences = PreferenceManager.getDefaultSharedPreferences ( este );

Valores podem ter acesso atravs da tecla da configurao de preferncia.

String username = preferences.getString ( "username" , "n / a" );

Para criar ou alterar as preferncias que voc tem que chamar o edit () mtodos. Depois de ter alterado o valor que voc tem que chamar commit () para aplicar as alteraes.

Editor edit = preferences.edit (); edit.putString ( "username" , "new_value_for_user" ); edit.commit ();

11. Tutorial: Preferncias


11.1. Usando as preferncias

Vamos continuar usando o projeto de exemplo "de.vogella.android.social". Criar um Android recurso XML "preferences.xml" de "PreferenceScreen" tipo.

Abra o arquivo atravs do boto direito do mouse e clique em Abrir com Resource Editor Android XML .Pressione Adicionar, adicionar um "PreferenceCategory" e adicione duas preferncias "EditTextPreferences" para esta categoria: "Usurio" e "Password".

Voc tambm pode manter outras propriedades para EditTextField, por exemplo, o inputMethod. Adicionar, por exemplo, o seguinte atributo definio XML de sua senha para fazer o input citado com * .

android: inputType = "textPassword"

Criar a classe "MyPreferencesActivity" com PreferenceActivity estende. Esta atividade ir carregar o "preference.xml" e permitir manter os valores.

pacote de.vogella.android.socialapp;

importao android.os.Bundle; importao android.preference.PreferenceActivity;

pblico

de classe MyPreferencesActivity estende PreferenceActivity { @ Override pblica vazio onCreate (Bundle savedInstanceState) {

super- onCreate (savedInstanceState).; addPreferencesFromResource (R.xml.preferences); } }

Para fazer com que esta classe est disponvel como uma atividade para Android voc precisa registr-lo em seu arquivo "AndroidManifest.xml". Selecione "AndroidManifest.xml" e na guia "Application". V at o botton da viso e adicionar sua nova atividade atravs do boto "Add".

Para fazer uso da nossa actividade nova preferncia ea preferncia valores que ajustar o "OverviewActivity". O primeiro boto ir mostrar os valores atuais das preferncias atravs de um brinde e no segundo boto ir reverter o nome de usurio mantidos para demonstrar como voc pode mudar as preferncias por meio de cdigo.

pacote de.vogella.android.socialapp;

import android.app.Activity;

import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.preference.PreferenceManager; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast;

pblico

de classe OverviewActivity estende Atividade { SharedPreferences preferncias; @ Override pblica vazio onCreate (Bundle savedInstanceState) { super- onCreate (savedInstanceState).; setContentView (R.layout.main); Boto = (Button) findViewById (R.id.Button01); / / Initialize preferncias

preferncias = PreferenceManager.getDefaultSharedPreferences ( este );

button.setOnClickListener ( nova OnClickListener () { pblicas vazio onClick (View v) {

String username = preferences.getString ( "username" , "n / a" ); String senha = preferences.getString ( "password" , "n / a" ); showPrefs (username, password); }

});

ButtonChangePreferences boto = (Button) findViewById (R.id.Button02); buttonChangePreferences.setOnClickListener ( nova OnClickListener () { pblicas vazio onClick (View v) {

updatePreferenceValue (); } }); }

privada

vazio showPrefs (String username, password String) { Toast.makeText ( OverviewActivity. este , "Entrada:" + username + "e senha:" + Senha,

Toast.LENGTH_LONG) show ().;

privada

vazio updatePreferenceValue () { Editor edit = preferences.edit (); String username = preferences.getString ( "username" ,

"n / a" ); / / Ns apenas reverter o nome do usurio atual e salvar novamente StringBuffer buffer = nova StringBuffer (); para ( int i = username.length () - 1 ; i> = 0 ; i -) { buffer.append (username.charAt (i));

} edit.putString ( "username" , buffer.toString ()); edit.commit (); / / Um brinde uma viso contendo uma mensagem rpida pouco para o / user /. Damos um pouco feedback Toast.makeText (OverviewActivity. este , "revertidas corda seqncia de nome de usurio." , . Toast.LENGTH_LONG) show (); }

Para abrir a atividade nova preferncia, vamos utilizar o mtodo onOptionsItemSelected (). Mesmo que atualmente temos apenas uma opo em nosso menu, usamos um interruptor para estar pronto para vrias novas entradas de menu. Para ver os valores atuais das preferncias ns definimos um boto e use a classe "PreferenceManager" para obter o sharedPreferences.

@ Override pblica boolean onCreateOptionsMenu (menu Menu) {

MenuInflater inflater getMenuInflater = (); inflater.inflate (menu R.menu.mainmenu); retornar true; }

/ / Este mtodo chamado quando o menu selecionado @ Override pblica boolean onOptionsItemSelected (item MenuItem) { interruptor (item.getItemId ()) { / / Ns temos apenas um menu de opes

caso R.id.preferences: atividade Preferncias / Lanamento / Inteno i = nova Intent (OverviewActivity. este , MyPreferencesActivity. classe ); startActivity (i); / / Alguns feedback para o usurio Toast.makeText (OverviewActivity. este , "Enter suas credenciais de usurio." , . Toast.LENGTH_LONG) show (); quebrar ;

} retornar true; }

11.2. Correr
Executar o aplicativo. Pressione o boto "menu" de hardware e, em seguida, selecione o menu "Preferences".Voc deve ser capaz de entrar em suas configuraes de usurio e pressione o boto hardware volta para retornar sua atividade principal. Os valores guardados devem ser exibidos em uma pequena mensagem de windows (Toast) se voc pressionar o boto primeiro. Se voc pressionar o segundo boto o nome de usurio deve ser revertida.

12. Dilogos atravs do AlertDialog


Ns j usamos uma "Toast", que uma janela pequena mensagem que no tirar o foco. Neste captulo, vamos utilizar a classe "AlertDialog". AlertDialog usado para abrir um dilogo a partir de nossa atividade. Esta caixa de dilogo modal recebe o foco at que o usurio fecha. Uma instncia desta classe podem ser criados pelo padro construtor, por exemplo, voc pode encadear suas chamadas de mtodo. Voc deve sempre abrir um dilogo a partir da onCreateDialog classe (int) como o sistema Android gerencia o dilogo, neste caso para voc. Este mtodo chamado automaticamente pelo Android se voc chamar showDialog (int). Criar um novo projeto Android "de.vogella.android.alertdialog" com a atividade "ShowMyDialog". Manter o layout a seguir para "main.xml".

<? Xml version = "1.0"

Simples dilogo " android: onClick = "openMyDialog" > </ Button> <LinearLayout />

Alterar o cdigo de sua atividade para o seguinte.

pacote de.vogella.android.alertdialog;

import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Toast;

pblico

de classe ShowMyDialog estende Atividade {

/ ** Chamado quando a atividade criada pela primeira vez. * /

@ Override pblica vazio onCreate (Bundle savedInstanceState) { super- onCreate (savedInstanceState).; setContentView (R.layout.main);

pblica

anular openMyDialog (Ver view) { showDialog ( 10 );

@ Override protegidos Dialog onCreateDialog ( int id) { chave (id) { caso 10 :

/ / Cria a AlterDialog Builder builder = nova AlertDialog.Builder ( este ); builder.setMessage ( "Isso vai acabar com a atividade" ); builder.setCancelable (true); builder.setPositiveButton ( "I agree" , novo DialogInterface.OnClickListener () { pblicas vazio onClick (caixa de dilogo DialogInterface, int qual) { ShowMyDialog. deste finish ().; } }); builder.setNegativeButton ( "No, no" , novo DialogInterface.OnClickListener () { pblicas vazio onClick (caixa de dilogo DialogInterface, int qual) { Toast.makeText (getApplicationContext (), "Atividade vai continuar" , Toast.LENGTH_LONG) show ().;

} }); Dilogo AlertDialog builder.create = (); dialog.show (); } retorno } super- onCreateDialog (id).;

Se voc executar o aplicativo e clique com o boto que voc deve consultar o seu dilogo.

Mais informaes sobre os dilogos podem ser encontrados no Android Dialogs documentao padro.

13. Layouts
Android suporta gerenciador de layout padro diferente. LinearLayout coloca todos os seus elementos filho em uma nica coluna ou linha dependendo do atributo orientao. Outros tipos so RelativeLayout FrameLayout e TableLayout. Todos os layouts permitem atributos definidos. Childs tambm pode definir os atributos que podem ser avaliados pelo seu layout pai. Por exemplo, o

14. TableLayout
14.1. Viso global
No captulo anterior ns usamos o LinearLayout que lhe permite widgets de pilha vertical ou horizontal. LinearLayout podem ser aninhadas para alcanar efeitos agradveis. Este captulo ir demonstrar o uso de "TableLayout". Este layout permite que voc organize uma viso em um formato de tabela. Voc especificar por meio da viso de grupo "TableRow" linhas de sua tabela. Depois que voc colocar widgets nas linhas individuais. Sobre o "TableLayout" voc pode definir qual coluna deve ter espao adicional atravs do "android: stretchColumns" atributo. Se vrias colunas devem ter o espao disponvel, voc pode especific-los como uma lista separada por vrgulas. Similar voc pode usar o atributo "android: shrinkColumn", que vai tentar a quebra de palavra o contedo dos widgets especificado eo atributo "android: collapseColums" para definir colunas inicialmente oculto. Via Java voc pode exibir / ocultar essas colunas atravs do mtodo setColumnVisible (). Colunas ser criado automaticamente com base no nmero mximo de itens em uma linha. Por padro cada Widgets cria uma nova coluna na linha. Voc pode especficos via "android: layout_column" coluna um widget deve ir e via "android: layout_span" quantas colunas um widget deve tomar.

Voc tambm pode colocar TableRows no em uma tabela. Desta forma, voc pode por exemplo adicionar divisores entre as suas colunas.

14.2. Exemplo
Criar o projeto "de.vogella.android.layout.table" com a atividade "DemoTableLayout". Mudana "main.xml" para o seguinte.

<? Xml version = "1.0"

</ TableLayout> <Boto android: text = "Ocultar segunda

Alterar a atividade "DemoTableLayout" para o seguinte para usar o boto para esconder a segunda coluna da tabela.

pacote de.vogella.android.layout.table;

import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TableLayout;

pblico

de classe DemoTableLayout estende Atividade { privada disposio TableLayout; privada boto Button;

/ ** Chamado quando a atividade criada pela primeira vez. * /

@ Override

pblica

vazio onCreate (Bundle savedInstanceState) { super- onCreate (savedInstanceState).;

setContentView (R.layout.main); layout = (TableLayout) findViewById (R.id.tableLayout1); button = (Button) findViewById (R.id.collapse);

pblica

anular toggleHiddenRows (Ver view) { / linha / Second possui um ndice de

layout.setColumnCollapsed ( 1 , layout.isColumnCollapsed (! 1 )); se (layout.isColumnCollapsed ( 1 )) { button.setText ( coluna "Mostrar segundo" ); } mais { button.setText ( "Hide segunda coluna" ); } } }

15. ContentProvider
15.1. Viso global
ContentProvider so usados para fornecer dados de um aplicativo para outro. ContentProvider no armazenam os dados, mas fornecem a interface para outras aplicaes para acessar os dados. O exemplo a seguir ir utilizar um provedor de contexto existente de "Contatos".

15.2. Criar contatos no seu emulador

Para este exemplo temos alguns contatos mantidos. Selecione o menu inicial e depois a entrada de menu "People" para criar contatos.

O aplicativo ir perguntar se voc quer entrar. Faa o login ou selecione "No agora". Pressione o boto "" Criar um novo contato ". Voc pode criar contatos local.

Terminar de adicionar o seu primeiro contacto. Depois disso, o app permite que voc adicione mais contatos atravs do button.As + resultado, voc deve ter alguns contatos novos em sua aplicao.

15.3. Usando o Provedor de Contedo Contato


Criar um novo projeto Android "de.vogella.android.contentprovider" com a atividade "ContactsView". Renomeie o id do TextView existentes a partir do assistente exemplo para "ContactView". Exclua o texto padro.Tambm alterar a layout_height para "fill_parent". O main.xml resultante deve ter a seguinte aparncia.

<? Xml version = "1.0"

Acesso ao provedor de contedo de contato exigem uma certa permisso como nem todas as aplicaes devem ter acesso s informaes de contato. Abra o AndroidManifest.xml, e selecione a guia Permisses. Nessa guia clique no boto "Add" e selecione "Usos permisso". A partir da lista suspensa selecione a entrada "android.permission.READ_CONTACTS". Alterar a codificao da atividade.

pacote de.vogella.android.contentprovider;

import android.app.Activity; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.widget.TextView;

pblico

de classe ContactsView estende Atividade {

/ ** Chamado quando a atividade criada pela primeira vez. * /

@ Override pblica vazio onCreate (Bundle savedInstanceState) {

super- onCreate (savedInstanceState).; setContentView (R.layout.main); TextView ContactView = (TextView) findViewById (R.id.contactview);

Cursor cursor = getContacts ();

enquanto (cursor.moveToNext ()) {

Cadeia displayName = cursor.getString cursor ( . GetColumnIndex (ContactsContract.Data.DISPLAY_NAME)); contactView.append ( "Name:" ); contactView.append (displayName); contactView.append ( "\ n" ); } }

privada Cursor getContacts () { / Run / query Uri uri = ContactsContract.Contacts.CONTENT_URI; String [] = projeo nova String [] {ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME}; Seleo String = ContactsContract.Contacts.IN_VISIBLE_GROUP + "= '" + ( "1" ) + "'" ; String [] selectionArgs = null; Cadeia SortOrder = ContactsContract.Contacts.DISPLAY_NAME + "COLLATE LOCALIZADA ASC" ;

retorno managedQuery (uri, projeo, seleo, selectionArgs, SortOrder); }

Normalmente voc iria exibir esses dados em um ListView.

16. ScrollView
ScrollViews pode ser usado para conter uma viso de que poderia ser grande para caber em uma tela. Se a vista grande o ScrollView ir exibir uma barra de rolagem para o contexto. claro que esta viso pode ser um layout que pode conter outros elementos. Criar um andride projeto "de.vogella.android.scrollview" com a atividade "ScrollView". Crie o seguinte layout e classe.

<? Xml version = "1.0"

uma

<LinearLayout android:id="@+id/LinearLayout02" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Submit" android:layout_weight="1.0"></Button>

<Button android:id="@+id/Button02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Cancel" android:layout_weight="1.0"></Button> </LinearLayout> </LinearLayout> </ScrollView>

pacote de.vogella.android.scrollview;

import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.TextView;

pblico

de classe ScrollView estende Atividade {

/ ** Chamado quando a atividade criada pela primeira vez. * /

@ Override pblica vazio onCreate (Bundle savedInstanceState) {

super- onCreate (savedInstanceState).; setContentView (R.layout.main); TextView view = (TextView) findViewById (R.id.TextView02); String = s "" ; para ( int i = 0 ; i < 100 ; i + +) { s + = "vogella.de" ; } view.setText (s);

} }

O atributo "android: fillViewport =" true "" garante que o ScrollView definida para a tela cheia, mesmo se os elementos so menores, em seguida, uma tela e os "layout_weight" dizer ao sistema android que estes elementos devem ser alargadas.

17. DDMS perspectiva e pontos de vista importantes


17.1. DDMS - Debug Dalvik Server Monitor
Eclipse oferece uma perspectiva para interagir com o seu dispositivo Android (virtual) e seu programa de aplicao Android. Selecione Janela Open Perspective Outros DDMS para abrir esta perspectiva. Ele inclui vrios

pontos de vista que tambm pode ser usado de forma independente e permite fazer chamadas e enviar SMS para o dispositivo. Tambm permite definir a posio geo atual e para executar um rastreamento do desempenho de sua aplicao.

17.2. Ver LogCat


Voc pode ver o log (incluindo System.out.print () declaraes) por meio da viso LogCat.

17.3. Explorador de arquivos


O explorador de arquivos permite ver os arquivos no simulador de andride.

18. Concha
18.1. Android Debugging Bridge - Shell
Voc pode acessar o seu emulador Android tambm atravs do console. Abra um shell, mude para o diretrio de instalao do "android-sdk" para a pasta "Ferramentas". Iniciar o shell atravs do seguinte comando "adb shell".

adb shell

Voc tambm pode copiar arquivos de e para o seu dispositivo via os seguintes comandos.

/ / Suponha que o arquivo gesto existe no seu dispositivo Android adb pull / sdcard / gestos ~ / teste

/ / Agora copie-o de volta adb empurrar ~ test / gesto / / sdcard/gestures2

Isto ir conect-lo ao seu dispositivo e dar-lhe acesso linha de comando do Linux para o sistema de arquivos subjacente, por exemplo ls, rm, mkdir, etc Os dados do aplicativo armazenado no diretrio "/ data / data / package_of_your_app". Se voc tiver vrios dispositivos rodando voc pode emitir comandos a um dispositivo individual.

# Lista todos os dispositivos adb dispositivos # Resultado Lista de dispositivos conectados emulador-5554 anexa emulador-5555 anexa # Emitir um comando a um dispositivo especfico adb-s-5554 emulador shell

18.2. Desinstalar um aplicativo via adb


Voc pode desinstalar um aplicativo android atravs do shell. Mudar os dados do diretrio / app (cd / dados / app) e simplesmente excluir o aplicativo android. Voc tambm pode desinstalar um aplicativo via adb com o nome do pacote.

adb desinstalar <packagename>

18.3. Console emulador via telnet

Como alternativa para adb voc tambm pode usar telnet para se conectar ao dispositivo. Isto permite-lhe simular certas coisas, chamada por exemplo, mudar a rede "estabilidade", defina o seu geocodes atual, etc Use "telnet localhost 5554" para conntect para o seu dispositivo simulado. Para sair da sesso do console, use o comando "quit" ou "exit". Por exemplo, para alterar as configuraes de energia do seu telefone, para receber um sms e para obter uma chamada recebida fazer o seguinte.

# Conecta ao dispositivo telnet localhost 5554 # Definir o nvel de potncia status de potncia total estado de alimentao de carga # Fazer uma chamada para o dispositivo gsm chamada 012041293123 # Enviar um sms para o dispositivo sms enviar 12.345 logo estar em casa # Definir a localizao geo geo fix 48 51

Para mais informaes sobre o console emulador consulte Emulator manual de Console

19. Implantar o aplicativo em um dispositivo real


Transformar em "Depurao USB" no seu dispositivo nas configuraes. Selecione as configuraes na pasta Aplicativos> Desenvolvimento, em seguida, ativar a depurao USB. Voc tambm precisa instalar o driver para o seu celular. Para mais detalhes consulte em desenvolvimento em um dispositivo . Por favor, note que a verso Android que voc est desenvolvendo para a verso deve ser instalada no seu telefone.

Para selecionar o seu telefone, selecione a opo "Run Configurations", selecione a seleo "Manual" e selecione o seu dispositivo.

20. Obrigado
Por favor ajude-me a apoiar este artigo:

21. Perguntas e Discusso


Antes de postar perguntas, consulte o FAQ vogella . Se voc tiver dvidas ou encontrar um erro neste artigo, por favor use a www.vogella.de Grupo Google . Eu criei uma pequena lista como criar boas perguntas que tambm pode ajud-lo.

22. Links e Literatura


22.1. Cdigo Fonte

Cdigo fonte de exemplos

22.2. Recursos Android


Android 2 (Livro Alemo) Android ListView e ListActivity Android banco de dados SQLite Android Widgets Android Live Wallpaper Android Servios Android Location API e Google Maps Android Intenes Android e Networking Homepage Android Android Homepage do desenvolvedor Questes Android / Bugs Grupos Google Android Android Pasta ao vivo

22.3. vogella Recursos


Eclipse RCP Treinamento (alemo) Formao Eclipse RCP com Lars Vogel Android Tutorial Introduo Programao Android GWT Tutorial Programa em Java e compilar para JavaScript e HTML Eclipse RCP Tutorial Crie aplicativos nativos em Java JUnit Tutorial Teste o seu aplicativo

Git Tutorial Coloque tudo que tiver sob o sistema de controle de verso distribudo

You might also like