Curso de Android. Fevereiro de Cristiano Expedito Ribeiro Fabrício Firmino de Faria
|
|
- Raul Correia Bergmann
- 8 Há anos
- Visualizações:
Transcrição
1 Curso de Android Fevereiro de 2011 Cristiano Expedito Ribeiro Fabrício Firmino de Faria
2 Pré-requisitos Programação Orientada a Objetos Java XML básico Banco de Dados semi-básico IDE - Eclipse Desejável algum conhecimento sobre Web Services REST 2
3 Agenda da Aula 1 Introdução Conceitos básicos Activity e Intent Aplicações e tarefas Ciclo de vida Passagem e retorno de parâmetros Interface gráficas Layouts Views Dialogs Menus 3
4 Introdução Suportado pelo Google Sistema Operacional Linux Máquina Virtual Dalvik Código aberto e livre com boa documentação Plataformas, SDK e API Level Android Android Android Android Android
5 Configuração do ambiente Download e Instalação Software Development Kit (SDK) Plataformas: Pasta de instalação > SDK Manager "Available Packages" e marque: Android SDK Tools SDK Platform - API 7, 8 ou 9 Google API - API 7, 8 ou 9 Demais são opcionais ou instalados automaticamente 5
6 Download das plataformas 6
7 Configuração do ambiente Android Virtual Devices (AVD) Permite configurar um celular virtual Versão do Android, Tamanho da tela e memória Emulador Programa que permite rodar um AVD no computador Exercício 1: Criar um AVD usando SDK Manager No SDK Manager: Virtual Devices > New Preencher campos Name, Target e SD Card Size (128MiB). 7
8 Criação do AVD 8
9 Plugin para Eclipse (ADT) Permite criação e execução de projetos Android Instalação No Eclipse: Help > Install New Software > Add URL: Configuração Window > Preferentes > Android Em "SDK Location" coloque o path do SDK Exercício 2: Criar uma aplicação Hello World básica com o Wizard e rodar no emulador (não precisa programar). 9
10 Criação de projeto New > Other > Android > Android Project Preencha os campos conforme a próxima figura Clique em Finish No Package Explorer, clique com o botão direito sobre o novo projeto Selecione Run as > Android Aplication O emulador será iniciado e após alguns minutos a aplicação rodará apresentando o título "Hello World. 10
11 Criação de projeto Project Name O nome do projeto que aparecerá no Package Explorer do Eclipse. Application Name Nome que aparecerá no menu do Android. Package Name Nome único do pacote que identifica a aplicação. Create Activity O nome da classe que representa a tela inicial da aplicação. 11
12 Detalhes e dicas Não é necessário fechar o emulador após testar a aplicação Para executar o mesmo projeto após uma alteração não é necessário fechar e reabrir o emulador, basta clicar em Run. O mesmo vale para outros projetos. No entanto, em alguns poucos casos, pode ser preciso Caso uma aplicação seja instalada com o mesmo nome de pacote de uma já existente no celular a anterior será substituída. 12
13 Conceitos básicos Estrutura do Projeto src Classes da aplicação gen Classe R Gerada automaticamente res/drawable Imagens em 3 resoluções diferentes res/layout res/values Internacionalização de strings Descrição de cores, estilos, etc AndroidManifest.xml
14 A classe R Atualizada automaticamente pelo ADT quando o conteúdo da pasta res é alterado Também existe a classe android.r com alguns recursos pré-definidos Contém constantes que representam cada recurso R.drawable.nome_imagem R.layout.nome_layout R.string.nome_string R.color.red R.dimen.espaco R.array.nome_array R.style.nome_estilo 14
15 AndroidManifest.xml XML com as configurações da aplicação Nome, pacote e ícone Classes de tela (Activity's) Versão mínima do SDK necessária Permissões (acessar Internet, efetuar ligações, etc) ADT fornece interface de edição 15
16 AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.example.notification" android:versioncode="1" android:versionname="1.0"> <application <activity android:name=".myactivity1" <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".myactivity2" /> </application> <uses-permission android:name="android.permission.vibrate" /> </manifest> 16
17 strings.xml /res/values/values-en/strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">hello World, HelloActivity!</string> <string name="app_name">hello World in Android</string> </resources> /res/values/values-pt/strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">alô Mundo, HelloActivity!</string> <string name="app_name">alô Mundo no Android</string> </resources> 17
18 LogCat Não existe System.out.println(), mas existe o LogCat LogCat permite escrever mensagens no Log do Android Níveis de severidade Verbose Debug Info Warning Error Log.v(tag, message) Log.d(tag, message) Log.i(tag, message) Log.w(tag, message) Log.e(tag, message,exception) Para ver no Eclipse: Window > Show View > Other > Android > LogCat 18
19 Importação de projetos no Eclipse Muitas vezes pode ser necessário importar projetos criados e uma máquina para outra(s): Menu File > Import... > Existing Projects into Workspace > Next > Browser... Escolha o diretório contendos os projetos a serem importados Em projects, marque os projetos a serem importados de fato Caso queira que os projetos sejam copiados para seu workspace, e não apenas referenciados, marque Copy projects into workspace Clique em Finish
20 Resolução de erros de importação Após a importação o Eclipse pode relatar erros nos projetos. Para resolver siga os passos a seguir, desde que não existam erros de compilação na máquina original Primeiros deve-se tentar corrigir os erros globalmente, depois, caso persistam em cada projeto com erros. Window > Preferences > Android > SDK Location Window > Preferences > Java > Compiler > Compiler compliance level > 1.6 Project > Clean... > Clean all projects > OK
21 Resolução por projeto Para os projetos que ainda estiverem com erro: 1. Selecione o projeto > Clique com o botão direito > Properties > Java Compiler > Desmarque Enable project specific settings > OK 2. Selecione o projeto > Clique com o botão direito > Properties > Android > Em Project Build Target marque a versão do Android a ser utilizada 3. Selecione o projeto > Clique com o botão direito > Android Tools > Fix Project Properties Após as propriedades de todos os projetos terem sido corrigidas: Project > Clean... > All projects > OK.
22 Activity e Intent Aplicação Ao instalar é associada a um usuário único Roda em seu processo separado Classe View Classe base para elementos de interface gráfica Classe Activity Container de elemento gráficos Gerencia um ciclo de vida Task (tarefa) Pilha de Activity's Pode haver activity`s de diferentes aplicações Classe Intent Classe que descreve uma intenção em realizar uma ação 22
23 Ciclo de vida de uma Activity 23
24 Ciclo de vida Entire Lifetime Fase entre o início e o fim da activity Compreende métodos entre oncreate() e ondestroy() Visible Lifetime Activity iniciada e na pilha da tarefa interagindo com o usuário ou não. Compreende os métodos (callbacks): onstart(), onstop(), onrestart() onpause(), onresume() Foreground Lifetime Activity visível e em primeiro interagindo com o usuário Callbacks: onresume(), onpause() 24
25 Botões Home e Back Botão Home Coloca a tarefa da activity em background e retorna para a tela inicial do Android Botão Back Remove Activity do topo da pilha da tarefa Caso a pilha fique vazia retorna para a tela inicial Exercício 3 Ciclo de vida: 03-ActivityLifeCycle 25
26 Como chamar Activity's Para iniciar uma Activity é necessário Criar uma Intent Chamar startactivity ou startactivityforresult Pegar resultado se necessário Criação da Intent Na mesma aplicação: new Intent(context, class) context - instância da Activity chamadora class - <activity a ser iniciada>.class Nativas do sistema Android: new Intent(action, uri) action - uma das ações possiveis uri - identificador de recurso De outra aplicação: Intent.setComponent(...) 26
27 Tabela de possíveis ações (Intent) Action URI - chamar Uri.parse(uri) Descrição ACTION_VIEW ACTION_VIEW content://com.android.contacts/contacts/1 ACTION_VIEW geo:0,0?q=presidente+vargas,rio+de+janeiro Abre browser na página Mostra contato solicitado Busca no Google Maps ACTION_CALL tel: Liga para o número ACTION_DIAL ACTION_PICK tel: Contacts.CONTENT_URI Apenas disca o número Abre lista de contatos do celular 27
28 Como chamar Activity's Método startactivity(intent) Chamar e pegar retorno Método startactivityforresult(intent, int requestcode) Antes de terminar, a activity chamada deve chamar setresult(int resultcode) setresult(int resultcode, Intent data) resultcode - RESULT_CANCELED ou RESULT_OK data - dados adicionais a serem retornados A activity chamadora deve implementar o método onactivityresult(int requestcode, int resultcode, Intent data) 28
29 Como chamar Activity's Chamar Activity em outra aplicacao: Intent intent = new Intent(); intent.setcomponent(new ComponentName( "com.example.helloworld", "com.example.helloworld.helloworld")); startactivity(intent); Chamar Activity nativa do Android: Uri uri = Uri.parse(" Intent intent = new Intent(Intent.ACTION_VIEW, uri); startactivity(intent); 29
30 Passagem de parâmetros para Activity Métodos da classe Intent para armazenar dados estendidos putextra(string nome, int valor) putextra(string nome, int [] valor) putextra(string nome, float valor), etc putextra(string nome, String valor) putextra(string nome, Bundle bundle) putextras(bundle) putextras(intent) Classe Bundle mapa de pares chave-valor 30
31 Passagem de parâmetros para Activity Para pegar estes dados estendidos String getstringextra(string nome) int getintextra(string nome, int defaultvalue) Bundle getextras() Notas sobre o argumento nome Indicam o nome da chave Recomendável prefixar com o pacote da aplicação para evitar sobrescrever dados 31
32 Como chamar Activity's e pegar retorno Chamar Activity (em algum método da Activity chamadora) // REQUEST_CODE é uma constante definida pela activity // chamadora e identifica esta chamada Intent intent = new Intent(this, Activity2.class); intent.putextra("com.example.hello.param1", "Hello"); startactivityforresult(intent, REQUEST_CODE); Pegar retorno(método dentro da Activity chamadora) protected void onactivityresult(int requestcode, int resultcode, Intent data) { super.onactivityresult(requestcode, resultcode, data); if (requestcode == REQUEST_CODE) if (resultcode == RESULT_OK) { // pode usar data.getstringextra(...), etc } else (resultcode == RESULT_CANCELED) { // ação para cancelado } } 32
33 Lendo parâmetros e retornando dados Na Activity chamada: Pegar parâmetros passados public void oncreate(bundle savedinstancestate) { //... Intent intent = this.getintent(); String nome =... String textparam = intent.getstringextra(nome); //... } Retornando dados Intent intent = new Intent(); intent.putextra("chave", "valor"); setresult(result_ok, intent); finish(); 33
34 Encerrando Activity's e aplicações O método finish() Encerra a Activity que o chamou Encerramento da aplicação Quando a última Activity da pilha (Task) da aplicação termina, a aplicação também é encerrada 34
35 Criando várias Activity's na aplicação Necessário declarar no AndroidManifest.xml Tornar Activity visível para startactivity() <activity android:name="<nome_da_classe_activy>" /> Tornar Activity executável pelo menu do Android <activity android:name="nome_da_classe_activy android:label="nome no menu"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher /> </intent-filter> </activity> 35
36 Interfaces gráficas Visão geral Classe View A classe para componentes visuais Desenha na tela através do método ondraw(canvas) Widgets Componentes visuais simples Subclasses de View TextView, EditText, ImageView, ProgressBar, etc Classe ViewGroup e Gerenciadores de Layout Container invisível que guarda View's Gerencia a disposição destes componentes na tela FrameLayout, LinearLayout, etc Activity's especializadas ListActivity, TabActivity, MapActivity 36
37 Interfaces gráficas - Layouts Opções para definição do layout Arquivos XML na pasta /res/layout <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:src="@drawable/image" android:id="@+id/imgview" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </FrameLayout> Via código da API FrameLayout layout = new FrameLayout(this); LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); layout.setlayoutparams(params); ImageView imgview = new ImageView(this); params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); imgview.setlayoutparams(params); imgview.setimageresource(r.drawable.image); layout.addview(imgview); setcontentview(layout); 37
38 Como referenciar recursos no XML Drawable: Identificadores: Definição: Referência: Strings: Cores: Forma direta: android:textcolor="#rrggbb" Forma indireat: Estilos: Tipos de recursos ainda não abordados serão apresentados quando necessário 38
39 Interfaces gráficas - Layouts FrameLayout Componentes são organizados em pilha O último componente adicionado aparece na frente Atributos 39
40 Interfaces gráficas - Layouts LinearLayout Componentes são organizados lado a lado Orientação horizontal (padrão) ou vertical Atributos 40
41 Interfaces gráficas - Layouts TableLayout Organiza componentes em linhas e colunas Cada linha é um TableRow (subclase de LinearLayout) Atributos 41
42 Interfaces gráficas - Layouts RelativeLayout Posiciona componentes relativamente a outros Componentes precisam ser identificados: android:id="@+id/id_componente" Atributos 42
43 Interfaces gráficas - Layouts AbsoluteLayout Permite controlar posição exata dos componentes Pode gerar péssimos resultados em diferentes telas Atributos 43
44 Dimensões Dimensão px (pixels) in (polegadas) mm (milímetros) pt (pontos) dp/dip (Density-independent Pixels) sp (Scale-independent Pixels) Descrição Corresponde aos pixels reais da tela Baseado no tamanho físico da tela Baseado no tamanho físico da tela 1 pt = 1/72 in. Também baseado no tamanho físico Unidade abstrata baseada na densidade física da tela, onde 160 dp = 1 in = 25.4 mm. Mantém sempre o mesmo tamanho real, independente da densidade. Exemplo: 0.5 in = 12.7 mm = 80 dp. Em 160 dpi, 80 dp = 80 px, já em 240 dpi, 80 dp = 120 px. Para fazer conversão entre pixels e dps use o seguinte código: DisplayMetrics metrics = getresources().getdisplaymetrics(); pixels = dps * (metrics.densitydpi / 160.0); Semelhante ao dp/dip, mas também escalado pelo tamanho de fonte nas preferências do usuário. Recomendável para especificar tamanhos de fonte pois elas serão ajustadas tanto para densidade da tela quanto para as preferências do usuários. 44
45 Outras subclasses de ViewGroup ListView Permite rolar conteúdo verticalmente usando ListAdapter GridView apresenta o conteúdo na forma de grade WebView exibe páginas Web Gallery e ImageSwitcher Organiza componentes lado a lado na horizontal Usado com ImageSwitcher para exibir galeria de imagens ScrollView permite rolar conteúdo maior que tela verticalmente TabHost exibe tela com abas E outros 45
46 ListView Permite rolar conteúdo verticalmente e selecionar Interface ListAdapter Faz a ligação entre ListView e seus elementos Implementado pela classe ArrayAdapter <T> new ArrayAdapter<String>(contexto, itemresid, items); itemresid pode ser android.r.layout.simple_list_item_1 items = array de T s, neste caso Strings Atributos 46
47 ListView Maneira simplificada de uso: Coloque um elemento <ListView> com id no XML de layout Crie um array de elementos de um tipo T Obtenha o objeto ListView usando Activity.findViewById(id) Crie um ArrayAdapter passando o array de T s Adicione o ArrayAdapter ao ListView usando ListView.setAdapter(..) Implemente o método onitemclick(...) de OnItemClickListener Passe a instância da classe que implementa onitemclick para ListView.setOnItemClickListener(...) Parâmetros de OnItemClickListener.onItemClick(...) AdapterView <?> parent - referência para o ListView View view - a View dentro de parent que foi clicada int position - a posição da View no ArrayAdapter, i.e., o índice do array int id - o id do elemento, neste caso será igual a position 47
48 GridView Exibe Views na forma de grade Todas as colunas têm a mesma largura Faz scrolling do conteúdo Atributos Exercício
49 WebView e WebSettings WebView Apresenta uma página de web Usa o mesmo componente que o navegador do celular Necessário permissão android.permission.internet WebSettings Permite configurar o WebView Permite JavaScript, Salvar senhas, etc. Métodos principais 49
50 Gallery e ImageSwitcher Gallery Mostra lista de componentes com rolagem horizontal Mantém o componente selecionado sempre no centro ImageSwitcher Exibe imagens e cria efeitos ao alterná-las 50
51 Interfaces gráficas - Recursos Na pasta values é possível adicionar XML de vários recursos Strings Cores Dimensões Array listas de inteiros, strings, ou recursos Estilos definir atributos de cada View uma única vez Temas aplicação de estilos a toda activity ou aplicação 51
52 Interfaces gráficas - Recursos Strings Declaração XML: <string name= appname">nome Aplicação</string> Atributos Identificador: R.string.appname Texto: getresources().getstring(r.string.appname) Cores Declaração XML: <color name="red">#ff0000</color> Atributos Identificador: R.color.red Cor: getresources().getcolor(r.color.red) Dimensões Declaração XML: <dimen name="spacing">2px</dimen> Atributos Identificador: R.dimen.spacing 52
53 Interfaces gráficas - Recursos Array no XML <integer-array name="iarray"> <item>10</item> <item>20</item> <item>30</item> </integer-array> <array name="planets"> <item>@drawable/mercurio</item> <item>@drawable/venus</item>... <item>@drawable/plutao</item> </array> <string-array name="sarray"> <item>texto1</item> <item>texto2</item>... </string-array> No código Java Resources res = getresources(); String [] sa = res.getstringarray(r.array.sarray); int [] ia = res.getintarray(r.array.iarray); int id = R.array.planets; TypedArray da = res.obtaintypedarray(id); Drawable dw0 = array.getdrawable(0); Drawable dw1 = array.getdrawable(1); 53
54 Interfaces gráficas - Recursos Estilos <style name="nome_estilo"> <item name="android:textsize">14sp</item> <item name="android:background">@color/branco</item>... </style> Temas <TextView android:layout_width="wrap_content"... style="@style/nome_estilo" /> <style name="nome_estilo" parent="android:style/theme.black"> <item name="android:textsize">14sp</item> <item name="android:background">@color/branco</item>... </style> <application... android:theme="@android:style/theme.back"> <activity... android:theme="@android:style/theme.back"> <application... android:theme="@style/nome_estilo"> <activity... android:theme="@style/nome_estilo"> 54
55 Interfaces gráficas - Exemplo recursos <?xml version="1.0" encoding="utf-8"?> <resources> <array name="planets"> <item>@drawable/mercurio</item> <item>@drawable/venus</item>... <item>@drawable/plutao</item> </array> <string-array name="sarray"> <item>texto1</item>... </string-array> /res/values/recurso.xml <color name="branco">#ffffff</color> <style name="nome_estilo" parent="android:style/theme.black"> <item name="android:textsize">14sp</item> <item name="android:background">@color/branco</item>... </style> <dimen name="spacing">80dip</dimen> <drawable name="gray">#888888</drawable> </resources> 55
56 Interfaces gráficas - Widgets View TextView EditText AutoCompleteTextView Button ImageButton CheckBox ToggleButton RadioButton e RadioGroup Spinner (combo) AnalogClock DigitalClock Chronometer DatePicker TimePicker ProgressBar RatingBar Toast Dialogs ProgressDialog Alertas Menus e Submenus LayoutInflater TabActivity e TabWidget ListView e ListActivity 56
57 Interfaces gráficas - View Classe base para qualquer componente gráfico Atributos android:padding(left, Right, Top, Bottom)="2px" android:background="@color/blue #RRGGBB" android:id="@+id/identificador" android:visibility="visible invisible gone" android:layout_width="wrap_content match_parent" android:layout_height="wrap_content match_parent" Métodos invalidate() - invalida View para ser redesenhada ondraw(canvas) - responsável por desenhar componente onkeydown(...), onkeyup() - chamados quando uma tecla e pressione ou solta. ontouchevent(...) - quando há movimento por toque na tela onfocuschange(...) 57
58 Interface gráfica - TextView's TextView - apresenta texto na tela EditText - apresenta caixa de edição de texto AutoCompleteTextView - caixa de edição com auto-complete Atributos android:text="@string/..." android:textcolor="@color/..." android:password="true false" android:numeric="integer signed decimal" android:singleline="true false" android:lines - quantas linhas de texto de altura AutoCompleteTextView android:completionthreshold="3" - quantidade de caracteres digitados antes aparecer sugestões setadapter(arrayadapter) - definir lista de opções 58
59 TextView's Exercício 12 Crie um projeto chamado TesteViews Crie /res/layout/texts.xml Crie TextView, EditText e AutoCompleteTextView EditText - aceita um número indicando quantos caracteres disparam as sugestões AutoCompleteTextView com completionthreshold="1" Crie /res/values/arrays.xml Crie um array de nomes iniciando por letras parecidas Na activity carregue o layout e o array Configure AutoCompleteTextView para usar o array Dica: use ArrayAdapter Detecte quando EditText for alterado e chame AutoCompleteTextView.setThreashold(int) 59
60 Button e ImageButton Permitem criar botões clicáveis na tela Button - subclasse de TextView ImageButton - subclasse de ImageView Setando imagem via Java e XML imagebutton.setimageresource(r.drawable.image_id) button.setcompounddrawableswithintrinsicbounds(left,top,right,bottom) <ImageButton android:src="@drawable/..."... /> <Button android:drawableleft="@drawable/..." android:drawabletop="..." android:drawableright="..." android:drawablebottom="..."... /> Detectando clique: final Button button = (Button) findviewbyid(r.id.button_id); button.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { // Perform action on click } }); 60
61 CheckBox e ToggleButton Botão de dois estados, que permite marcar um item na tela CheckBox android:text="@string/..." ToggleButton android:texton="@string/..." android:textoff="@string/..." Métodos boolean ischecked() - retorna estado void toggle() - alterna estado void setchecked(boolean) - define estado boolen performclick() - simula click chamando o método onclick(..) do OnClickListener associado 61
62 RadioButton e RadioGroup RadioButton Permite selecionar apenas um item dentro da lista de um RadioGroup Exemplo <RadioGroup android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:id="@+id/group1"> <RadioButton android:id="@+id/radiosim" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="sim" android:checked="false" /> <RadioButton android:id="@+id/radionao" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="não" android:checked="false"/> </RadioGroup> 62
63 RadioButton e RadioGroup Pegar id do RadioButton selecionado RadioGroup.getCheckedRadioButtonId() Ou usar o callback oncheckedchanged(...) protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.radiobutton); } final RadioGroup group = (RadioGroup) findviewbyid(r.id.group1); group.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup group, int checkedid) { // Note que: checkedid == group.getcheckedradiobuttonid() boolean sim = R.id.radioSim == checkedid; boolean nao = R.id.radioNao == checkedid; if (sim) { // } else if (nao) { // } } }); 63
64 Spinner (combo) Exibe um componente com texto que ao ser clicado expande um lista de opções Exemplo /res/layout/spinner.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:prompt="planetas" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> 64
65 Spinner (combo) Exemplo SpinnerActivity.java (trechos) Definir a lista de opções e seus layouts ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_textview, getresources().getstringarray(r.array.planetnames)); adapter.setdropdownviewresource(r.layout.simple_textview); Spinner spinner = (Spinner) findviewbyid(r.id.comboplanetas); spinner.setadapter(adapter); Capturar seleção do usuário spinner.setonitemselectedlistener(new OnItemSelectedListener() public void onitemselected(adapterview<?> parent, View v, int position, long id) { // ação public void onnothingselected(adapterview<?> arg0) { } }); 65
66 Spinner (combo) Exemplo dos layouts adicionais /res/layout/spinner_textview.xml <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android=" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="2px" android:textsize="18sp" /> /res/layout/simple_textview.xml <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android=" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10px" android:textsize="20sp" /> 66
67 Spinner (combo) Exercício: pegar o exemplo, entender e alterar 67
68 Spinner (combo) Outros métodos Object getselecteditem() retorna o item selecionado long getselecteditemid() retorna o id do item selecionado int getselecteditemposition() retorna a posição do item selecionado no array fornecido para ArrayAdapter void setprompt(string) determina o prompt da lista de opções void setpromptid(int resid) determina o prompt a partir de um R.string.id_string void setselection(int position) determina o item atualmente selecionado 68
69 Clock e Chronometer AnalogClock e DigitalClock Exibem um relógio digital ou analógico com a hora atual Chronometer Exibe um contador de tempo setbase(long time) Define o instante de tempo que o cronometro marca zero Usar SystemClock.elapsedRealtime() start(), stop() Disparar ou interromper contagem setonchronometerticklistener(chronometer.onchron ometerticklistener) Chamado pelo cronômetro quando seu contador muda 69
70 Clock e Chronometer - Exemplo /res/layout/clock.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <AnalogClock android:id="@+id/analogclock1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" /> <DigitalClock android:id="@+id/digitalclock1" android:layout_width="match_parent android:layout_height="wrap_content" android:gravity="center_horizontal" /> <Chronometer android:id="@+id/chronometer1" android:layout_width="match_parent android:layout_height="wrap_content android:gravity="center_horizontal" /> </LinearLayout> 70
71 Clock e Chronometer - Exemplo Em uma activity: protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.clock); Chronometer chrono = (Chronometer) findviewbyid(r.id.chronometer1); chrono.setbase(systemclock.elapsedrealtime()); chrono.setonchronometerticklistener( new OnChronometerTickListener() public void onchronometertick(chronometer chronometer) { long elapsedtime = SystemClock.elapsedRealtime() - chronometer.getbase(); Log.i(this.getClass().getName(), "" + elapsedtime); if (elapsedtime > 10000) chronometer.stop(); } }); chrono.start(); } 71
72 Escolha de data, horário TimePicker Selecionar horário do dia (24h ou AM/PM) Aceita horas e minutos, mas não segundos Integer getcurrenthour(), getcurrentminute() setis24hourview(boolean), boolean is24hourview() setcurrenthour(integer), setcurrentminute(integer) setontimechangedlistener(ontimechangedlistener) DatePicker Selecionar um data (dia, mês, ano) int getdayofmonth(), getmonth(), getyear() init(ano, mês, dia, OnDateChangeListener) updatedate(ano, mês, dia) 72
73 Escolha de data, horário - Exemplo <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <DatePicker android:id="@+id/dtpicker" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TimePicker android:id="@+id/tmpicker" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> 73
74 ProgressBar Exibe um indicador de progresso de uma operação Estilos como percentual ou indeterminado Estilos (atributo style no XML):?android:progressBarStyle (padrão) Indeterminado circular de tamanho médio?android:progressbarstylesmall?android:progressbarstylelarge?android:progressbarstylehorizontal Indeterminado circular de tamanho pequeno Indeterminado circular de tamanho grande Barra horizontal indeterminado ou com percentual Métodos setprogress(int) setsecondaryprogress(int) boolean isindeterminate() Determina o nível de progresso para uma barra percentual Determina o nível secundário de progresso para uma barra percentual Retorna true se for indeterminado 74
75 ProgressBar - Exemplo <ProgressBar style="?android:progressbarstylesmall" android:layout_width="wrap_content android:layout_height="wrap_content" /> <ProgressBar style="?android:progressbarstyle" android:layout_width="wrap_content android:layout_height="wrap_content" /> <ProgressBar style="?android:progressbarstylelarge" android:layout_width="wrap_content android:layout_height="wrap_content" /> <ProgressBar style="?android:progressbarstylehorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:indeterminate="true" /> <ProgressBar style="?android:progressbarstylehorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:indeterminate="false" android:progress="45" /> <ProgressBar style="?android:progressbarstylehorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:indeterminate="false" android:progress="45" android:secondaryprogress="80" /> 75
76 RatingBar Mostra uma barra de classificação com estrelas A barra pode ser interativa ou apenas um indicator Métodos int getnumstars() float getrating() float getstepsize() boolean isindicator() void setrating(float rating) Retorna quantidade de estrelas totais Retorna a classificação (nota) Retorna o tamanho de cada salto das notas Retorna true se for indicadora ou false se for interativa Determina a classificação Estilos?android:ratingBarStyle?android:ratingBarStyleSmall?android:ratingBarStyleIndicator (default) Exibe estrelas grandes e permite alteração da classificação. Pode-se usar isindicator= true para ser apenas um indicador. Exibe estrelas pequenas. Apenas indicador. Exibe estrelas médias. Apenas indicador. 76
77 RatingBar <RatingBar style="?android:ratingbarstyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numstars="5" android:stepsize=".5" android:rating="2.5" /> <RatingBar style="?android:ratingbarstyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numstars="5" android:stepsize=".5" android:rating="2.5" android:isindicator="true" /> <RatingBar style="?android:ratingbarstylesmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numstars="10" android:stepsize=".5" android:rating="2.5" /> <RatingBar style="?android:ratingbarstyleindicator" android:layout_width="wrap_content android:layout_height="wrap_content" android:numstars="6" android:stepsize=".5" android:rating="2.5" /> 77
78 Toast Exibição de alertas por tempo determinado Sem interação com usuário View personalizada Toast toast = new Toast(this); toast.setduration(toast.length_long); toast.setview(view); toast.show(); Apenas mensagem de texto Toast.makeText(this, Mensagem, Toast.LENGTH_SHORT).show(); 78
79 Dialogs Usado para abrir janelas na tela Recomendado usar os métodos a seguir para que a Activity gerencie o ciclo de vida do Dialog. boolean showdialog(int id, Bundle) void dismissdialog(int id) void removedialog(int id) Dialog oncreatedialog (id, Bundle) void onpreparedialog(id, Dialog, Bundle) Tenta mostrar o Dialog para o id chamando oncreatedialog() se necessário, e em seguida onpreparedialog(). Retorna true em caso de sucesso. Fecha o Dialog criado por showdialog() com o id especificado. Se nenhum Dialog com o id tiver sido mostrado lança IllegalArgumentException. Remove qualquer referência para o Dialog especificado. Caso esteja sendo exibido, ele é fechado antes. Callback chamado quando um Dialog deve ser criado para o id especificado. Implementado pelo desenvolver. Callback que permite que o Dialog seja preparado antes de ser apresentado. Por exemplo, configurar alguma varíavel. 79
80 ProgressDialog Janela para mostrar o progresso de uma operação Como usar sem os métodos anteriores Mostrar o Dialog dialog = ProgressDialog.show(contexto, titulo, msg, bool indet); indet = se é indeterminado ou não (percentual) Feche o Dialog, quando concluir dialog.dismiss(); Alterar o progresso (se indet = true) dialog.setprogress(int v) v entre 0 e
81 AlertDialog Exibe um alerta ao usuário Conteúdo e botões de escolha personalizados Classe AlertDialog.Builder para construir alertas seticon(int resid) settitle(string) setmessage(string) setpositivebutton(string, listener) setnegativebutton(string, listener) setitems(string [], listener) setsinglechoiceitems(string [], int checkeditem, listener) setcancelable(boolean) show() cancel() Determina o ícone a ser mostrado Determina o título do alerta Mensagem a ser mostrada no interior do alerta Texto do botão positivo (Sim, Yes, Ok, etc) Texto do botão negativo (Não, No, etc) Items a serem mostrados para usuário selecionar Determina lista de RadioButtons a serem mostrados ao usuário Alerta cancelável ou não. Cancelável significa que usuário não pode fechar com botão voltar. Exibe o alerta para o usuário Cancela o alerta Nota: listener é uma instância de DialogInterface.OnClickListener 81
82 AlertDialog - Exemplos AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setmessage("are you sure you want to exit?"); builder.setcancelable(false); builder.setpositivebutton("yes",...); builder.setnegativebutton("no,...); AlertDialog alert = builder.create(); CharSequence[] items = {"Red", "Green", "Blue"}; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.settitle("pick a color"); builder.setitems(items, new DialogInterface.OnClickListener() {... } ); builder.show(); 82
83 Menus e Submenus É possível criar menus e um submenu para cada menu São exibidos quando a tecla Menu é apertada Devem ser criados em Activity.onCreateOptionsMenu() public boolean oncreateoptionsmenu(menu menu) { super.oncreateoptionsmenu(menu); MenuItem item = menu.add(0, NOVO, 0, Novo ); item = menu.add(0, ABRIR, 0, Abrir ); item = menu.add(0, SALVAR, 0, Salvar ); SubMenu submenu = menu.addsubmenu( Outros ); item = submenu.add(0, PESQUISAR, 0, Pesquisar ); item = submenu.add(0, LIMPAR, 0, Limpar ); item = submenu.add(0, SAIR, 0, Sair ); return true; } As constantes ABRIR, SALVAR, etc são definidas pelo desenvolvedor Retorne true para que o menu seja mostrado 83
84 MenuItems Representa um item selecionável de menu Métodos setenabled(boolean) setvisible(boolean) settitle(int) settitle(string) seticon(int) seticon(drawable) int getitemid() Determina se o item é selecionável ou não Determina se o item é visível ou não Define o texto que aparece no item Define o ícone que aparece no item Retorna o id do item conforme Menu.add() Quando um item é selecionado pelo usuário o método boolean onoptionsitemselected (MenuItem) é chamado Compare o id usando MenuItem.getItemId() 84
85 LayoutInflater Constrói hierarquia de uma View a partir de um layout Exemplo LayoutInflater inflater = (LayoutInflater) getsystemservice(context.layout_inflater_service); View view = inflater.inflate(resid, null); // Agora é possível passar para um Toast e exibir na tela Toast toast = new Toast(this); toast.setview(view); toast.setduration(toast.length_short); toast.show(); 85
86 ListActivity Cria uma activity que mostra uma lista de itens Simplifica codificação Java Evita criação de XML de layout Apenas listas personalizadas precisariam Métodos adicionais em relação à activity: void setlistadapter(listadapter) ListAdapter getlistadapter() ListView getlistview() void onlistitemclick(listview, View, int pos, long id) Determina o adaptador que fornece os items e layout Retorna o adaptador atual Retorna o objeto ListView utilizado pela ListActivity Callback chamado quando um item da lista é selecionado pelo usuário. A parâmetro pos indica a posição do item na lista de item do adaptador. 86
87 TabActivity Usada para criar telas com abas Cada aba fica associada a uma activity ou view Etapas de uso: Herde de TabActivity No método oncreate() Obtenha o objeto TabHost usando gettabhost() Para cada aba a ser criada Obtenha um objeto TabSpec chamando TabHost.newTabSpec(String tag) TabSpec.setIndicator() para definir o titulo e/ou imagem TabSpec.setContent() para definir o conteúdo da aba TabHost.addTab(TabSpec) para adicionar a aba 87
88 TabActivity A classe TabSpec possui variantes em seus métodos: setcontent(int viewid) setcontent(intent) setcontent(tabcontentfactory) setindicator(string) setindicator(view) setindicator(string, Drawable) Especifica o id da View que deve ser usada como o conteúdo da aba. Especifica a Intent que deve ser usada para iniciar uma activity que será o conteúdo da aba. Especifica um TabHost.TabContentFactory que será responsável por criar o conteúdo da aba. Especifica apenas um texto como indicador da aba. Especifica uma View como indicador da aba. Especifica um texto e um ícone como indicador da aba. 88
89 Agenda das próximas aulas Intent filter BroadcastReceiver, Services e Notification AlarmManager e Handler Banco de Dados e ContentProvider Mapas e GPS Sockets e Web Services Projeto 89
Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ
Introdução ao Android SECAP 2014 Prof. Rone Ilídio - UFSJ O que é o Android? Sistema operacional móvel, baseado numa versão modificada do Linux. Código aberto: qualquer pessoa pode baixar e modificar Máquina
Leia maisAndroid Layout Manager. Ivan Nicoli
Android Layout Manager Ivan Nicoli Classe View A classe android.view.view é a classe mãe de todos os componentes visuais do Android. Qualquer desenvolvedor pode criar seu próprio componente herdando a
Leia maisDesenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android
Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android Instalação e Configuração do Ambiente de Desenvolvimento Instalação
Leia maisAndroid. Interfaces: widgets
Android Interfaces: widgets Vida de uma Activity Acontece entre a primeira chamada para oncreate até a chamada do finally() que resulta no evento ondestroy(). Uma Activity irá fazer toda a configuração
Leia maisIntrodução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ
Introdução ao Android Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ O que é o Android? Sistema operacional móvel, baseado numa versão modificada do Linux. Código aberto: qualquer pessoa pode
Leia maisLog, Ciclo de Vida e Diálogos. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)
Log, Ciclo de Vida e Diálogos Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Conteúdo Log Classe android.u:l.log LogCat Ciclo de Vida Pilha de a:vidades Métodos e estados da a:vidade Instance State
Leia maisViews Interface Gráfica
Views Interface Gráfica Interfaces gráficas Visão geral Classe View A classe para componentes visuais Desenha na tela através do método ondraw(canvas) Widgets Classe 2 O que é a View Classe para componentes
Leia maisGoogle. Ricardo R. Lecheta. Aprenda a criar aplicações para dispositivos móveis com o Android SDK. Novatec
Google Aprenda a criar aplicações para dispositivos móveis com o Android SDK Ricardo R. Lecheta Novatec Sumário Agradecimentos... 15 Sobre o autor... 16 Prefácio... 17 Capítulo1 Introdução ao Android...
Leia maisMódulo 2 - Novas Activities Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ
Módulo 2 - Novas Activities Android Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ Inserindo a segunda activity Para inserir uma nova activity basta clicar com o botão direito sobre o pacote,
Leia maisDesenvolvimento para Android Prá9ca 2. Prof. Markus Endler
Desenvolvimento para Android Prá9ca 2 Prof. Markus Endler Criando o primeiro projeto Android Com o ambiente de desenvolvimento preparado, vá em File - > New - > Project... Na janela que abrir, selecione
Leia maisProgramação para Android. Aula 06: Activity, menus e action bar
Programação para Android Aula 06: Activity, menus e action bar Activity A classe Activity é quem gerencia a interface com o usuário. Ela quem recebe as requisições, as trata e processa. Na programação
Leia maisMódulo 4 - Interface Gráfica Gerenciadores de Layout. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ
Módulo 4 - Interface Gráfica Gerenciadores de Layout Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ Classe View Todos os componente gráficos são filhos de View Para se criar um novo componente
Leia maisProgramação para Android
Programação para Android Aula 02 Parte 01: Tipos de Layouts: RelativeLayout, LinearLayout, TableLayout Widgets: TextView, EditText, ImageView, Button Na aula anterior... Visão geral do Android Kit de desenvolvimento:
Leia maisPrograma de Dispositivos Móveis
Aula 02 - Exercício Programa de Dispositivos Móveis PDM - Aula02 - Exercício- Ver 02-04/06/2014 08:56 Criando Aplicação Android (BasicView) Vamos continuar a criar interfaces gráficas (UI) básicas com
Leia maisProgramação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho
Programação para Android Aula 10: Acesso a câmera, sms e recursos do aparelho Objetivos Nesta aula iremos aprender como invocar os recursos do aparelho: Fazer chamadas telefônicas Enviar SMS Utilizar a
Leia maisProgramação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 05 Programando formularios, activities e intents. Dalton Martins dmartins@gmail.com São Paulo, Março, 2012
Leia maisIntrodução ao Android
Introdução ao Android André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida Parte 1 Conhecendo o Sistema e Primeiro Programa Roteiro Pré-requisitos Conceitos Básicos Configurando o Ambiente
Leia maisAndroid Básico Hello World!
Android Básico Hello World! Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI marcio.palheta@gmail.com sites.google.com/site/marcio
Leia maisINTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período
INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ADS 6º Período INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Interface gráfica - View A classe android.view.view é utilizada como base para qualquer
Leia maisDesenvolvimento Android. http://www.larback.com.br
Desenvolvimento Android http://www.larback.com.br Introdução ao Android O Android é a resposta da Google ao mercado crescente de dispositivos móveis. É uma nova plataforma de desenvolvimento baseado no
Leia maisDesenvolvimento para Android Prá3ca 3. Prof. Markus Endler
Desenvolvimento para Android Prá3ca 3 Prof. Markus Endler Exercício 3.1 Solicitando permissão para abrir uma página Web ü Criaremos uma Ac.vity com um EditText (para entrada de uma URL), um Bu?on e uma
Leia maisProgramação para Android. Aula 05: Estilos e temas; galeria de imagens
Programação para Android Aula 05: Estilos e temas; galeria de imagens Objetivos Aplicar estilos e temas Criar uma galeria de imagens com o widget Gallery Parte 01: Estilos e temas Interface de Usuários
Leia maisCURSOS ANDROID. Prof: Igor Portela
CURSOS ANDROID Prof: Igor Portela O que é Android? Sistema operacional para dispositivos móveis baseado em Linux. Desenvolvido pela Android Inc, comprado pelo Google em 2005 É open source sob licença Apache.
Leia maisAULA 2. Minicurso PET-EE UFRN
AULA 2 Minicurso PET-EE UFRN Agora iremos mostrar o passo-a-passo de como criar um projeto no Android Studio. 1. No Android Studio, crie um New Project. 2. Em Configure your new project, você deve preencher
Leia maisDesenvolvimento Android. Pontapé inicial...
Desenvolvimento Android Pontapé inicial... Toshi Kurauchi andrew.kurauchi@gmail.com @toshikurauchi Por que desenvolver para Android? Por que desenvolver para Android? Por que desenvolver para Android?
Leia maisDesenvolvimento com Android Studio. Aula 02 Widgets, Manipulação de Dados e Programação de Eventos
Desenvolvimento com Android Studio Aula 02 Widgets, Manipulação de Dados e Programação de Eventos Widgets TextView O Widget TextView é utilizado para apresentar um texto não editável na tela. Qualquer
Leia maisAndroid Core. Felipe Silveira felipesilveira.com.br. Aula 6
Android Core Felipe Silveira felipesilveira.com.br Aula 6 Aplicações I Desenvolvimento de Aplicações Android SDK SDK https://developer.android.com/sdk Android SDK Android SDK: Eclipse + ADT plugin + Android
Leia maisPrograma de Dispositivos Móveis
Aula 02 Programa de Dispositivos Móveis A Classe Activity A classe Actvity é similar a classe JFrame do Swing representa basicamente uma tela. Quase todas as atividades interagem com o usuário, então ela
Leia maisProgramação de Dispositivos Móveis
Aula 07 Programação de Dispositivos Móveis Interface Gráfica ListView com ArrayAdapter Um elemento muito utilizado em aplicativos é a ListView, com ela pode-se criar uma lista de objetos. A partir dos
Leia maisProf. Jhonatan Fernando
Prof. Jhonatan Fernando É uma classe gerenciadora de UI. É possível informar qual layout (arquivo xml) que será carregado para uma determinada activity. O método responsável por informar qual layout será
Leia maisEscrito por Neri Neitzke Qua, 12 de Outubro de 2011 21:40 - Última atualização Seg, 26 de Março de 2012 03:50
Preço R$ 129.00 Compre aqui Finalmente um ótimo curso de Android no Brasil - Clique aqui para ver o cronograma das aulas - Clique aqui para ver as imagens deste curso - Clique aqui para ver algumas videoaulas
Leia mais( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO
Serviço Nacional de Aprendizagem Comercial E.E.P. Senac Pelotas Centro Histórico Programa Nacional de Acesso ao Ensino Técnico e Emprego Curso Técnico em Informática ( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO
Leia maisINTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período
INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ADS 6º Período Activity INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Activity A classe activity
Leia maisProgramação para Android. Aula 08: Persistência de dados SQL
Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente
Leia maisAndroid Banco de Dados. Ivan Nicoli
Android Banco de Dados Ivan Nicoli SQLite O Android tem suporte ao SQLite (http://www.sqlite.org), um leve e poderoso banco de dados. Cada aplicação pode criar um ou mais banco de dados, que ficam localizados
Leia maisANDROID APPLICATION PROJECT
Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Ciclo de Vida de uma Aplicação Android Professor: Danilo Giacobo OBJETIVOS DA AULA Entender o ciclo de vida de uma aplicação Android. Conhecer algumas dicas para tirar
Leia maisProgramação para Android
Programação para Android Aula 01: Visão geral do android, instalação e configuração do ambiente de desenvolvimento, estrutura básica de uma aplicação para Android Objetivos Configurar o ambiente de trabalho
Leia maisIntrodução ao Desenvolvimento para Sistema Operacional Android
Dr. prof.sylvio@fatecriopreto.edu.br Conteúdo: 1) Introdução ao Android e Mercado de Dispositivos Móveis; 2) Plataforma: 2.1) Arquitetura; 2.2) Framework; 2.3) Bibliotecas; 2.4) Android Runtime; 2.5) Linux
Leia maisGoogle Android. Intents
Intents Intents Intents são usados como mecanismo de passagem de mensagens na sua aplicação ou entre aplicações distintas. Intents podem ser usadas para: Declarar a intenção de iniciar uma Activity ou
Leia maisInterfaces Gráficas parte 3
parte 3 (Listview, AlertDialog e ActionBar) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação
Leia maisApresentação de um Processo Cria4vo de Desenvolvimento de uma App Android. Realização de Dinâmica Hands- On para Construção de uma App Android
Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android Realização de Dinâmica Hands- On para Construção de uma App Android Dr. Eduardo Manuel de Freitas Jorge, PMP Realização de Dinâmica
Leia maisDesenvolvimento de Aplicações. Android. Rick Rogers, John Lombardo, Zigurd Mednieks e Blake Meike. Novatec
Desenvolvimento de Aplicações Android Rick Rogers, John Lombardo, Zigurd Mednieks e Blake Meike Novatec Sumário Prefácio... xi Público-alvo...xi Organização do livro...xii Convenções adotadas neste livro...xiii
Leia maisProgramação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 03 Introdução ao ambiente de desenvolvimento: Eclipse e Android SDK Dalton Martins dmartins@gmail.com São
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Inflando layouts Se quisermos um layout mais complexo nas linhas de uma ListView, podemos criar objetos
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Android Android é um sistema operacional para dispositivos móveis Kernel Linux, drivers e bibliotecas do
Leia maisGoogle Android. Componentes Gráficos
Componentes Gráficos No Android, por padrão já existe uma separação entre interface gráfica (View) e Controlador (Controller). View -> Resources -> Controller -> Activities -> Layouts Um tipo de View cuja
Leia maisINTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período
INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ADS 6º Período INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Interface gráfica - gerenciadores de layout No Android, existem diversos tipos de gerenciadores
Leia maisProgramação de Dispositivos Móveis
Aula 04 Programação de Dispositivos Móveis A Classe Activity É obrigatório que cada activity do projeto esteja declarada no arquivo AndroidManisfest.xml, caso contrário não é possível utilizá-la. Para
Leia maisEscrito por Lisiane Batista Neitzke Qui, 29 de Dezembro de 2011 17:24 - Última atualização Seg, 16 de Janeiro de 2012 12:41
Preço R$ 129.00 Compre aqui Clique aqui e veja o vídeo demonstrativo deste curso Novo Curso de Android do prof. Neri. São 86 videoaulas em 6 giga. Aprenda a criar programas em Android que conectem com
Leia maisIntrodução ao Android SDK. Prof. Me. Hélio Esperidião
Introdução ao Android SDK Prof. Me. Hélio Esperidião Android SDK O Android SDK permite que os desenvolvedores elaborem as aplicações a partir de um dispositivo virtual para os aparelhos de celular e tablet,
Leia maisTutorial 1.0. Instalação
Tutorial 1.0 Instalação Índice Requisitos Instalando Android SDK Instalando Eclipse Instalando Plugin ADT no Eclipse Requisitos Para a instalação do SDK é necessário ter no minímo versão Java 6 (Standard
Leia maisCriar um novo projecto
Criar um novo projecto Criar um novo projecto (2) Criar um novo projecto (3) Criar um novo projecto (4) Criar um novo projecto (5) Criar um novo projecto (6) Estrutura do projecto O Eclipse criou-nos um
Leia maisGuião de Introdução ao Eclipse IDE Índice
Índice 1. Introdução... 2 1.1. O que é um ambiente de desenvolvimento (IDE)?... 2 1.2. Visão geral sobre o Eclipse IDE... 2 2. Iniciar o Eclipse... 3 2.1. Instalação... 3 2.2. Utilizar o Eclipse... 3 3.
Leia maisDefinições de Projeto
App Alunos Definições de Projeto Implementação de uma app para Manipulação de Dados de Alunos Em linhas gerais, a app consiste em: Manter dados de alunos; Entrar em contato com alunos; Trocar dados com
Leia maisHCI Summer Workshop. Android #1. Tiago Guerreiro. tjvg@di.fc.ul.pt
HCI Summer Workshop Android #1 Tiago Guerreiro tjvg@di.fc.ul.pt Introdução Equipa Luis Carriço Tiago Guerreiro Luis Duarte Diogo Marques Gonçalo Gomes Eduardo Matos Nikolay Stanchenko Rafael Nunes Filipe
Leia maisFRWTC-400 DESENVOLVIMENTO MÓVEL PARA ANDROID MÓDULO 1
FRWTC-400 DESENVOLVIMENTO MÓVEL PARA ANDROID MÓDULO 1 SOBRE A FRAMEWORK A Framework (www.frwtc.com) atua diretamente com profissionais do segmento de tecnologia em busca de capacitação, atualização e certificação,
Leia maisExemplo de Aplicaça o Facebook
HCIM Summer Workshop Guião Hands-on Exemplo de Aplicaça o Facebook 1. Download do Software Development Kit (SDK) O download do SDK do Facebook encontra-se disponível aqui. Depois de fazer o download do
Leia mais3ª Edição Ricardo R. Lecheta
3ª Edição Ricardo R. Lecheta Novatec Copyright 2009, 2010, 2013 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo
Leia maisIntrodução à Programação Android
Introdução à Programação Android Guilherme Antonio Borges guilhermeborges.pf@gmail.com Apresentação Graduado em 2012 no Curso de Tecnologia em Sistemas para Internet no IFSUL campus Passo Fundo. Atualmente,
Leia maisOBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.
Técnico em Informática Turma 10 Programação para Dispositivos Móveis Roteiro Parcial de Projeto Guilherme Cruz OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ. FERRAMENTA IntelliJ
Leia maisComunicação entre A0vidades
Programação para a Plataforma Android Aula 8 Comunicação entre A0vidades Como invocar uma a0vidade a par0r de outra? Como descrever um serviço em Android? Como duas a0vidades se comunicam? Como abrir uma
Leia maisProgramação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 04 Anatomia de uma aplicação Android Dalton Martins dmartins@gmail.com São Paulo, Fevereiro, 2012 24/02/12
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Componentes Visuais Gerenciadores de Layouts Professor: Danilo Giacobo OBJETIVOS DA AULA Apresentar os conceitos básicos da programação de interfaces visuais para Android
Leia maisCapítulo 07: Câmera e Arquivos
Capítulo 07: Câmera e Arquivos Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI marcio.palheta@gmail.com sites.google.com/site/marcio
Leia maisProgramação para a Plataforma Android Aula 7. Mul$mídia
Programação para a Plataforma Android Aula 7 Mul$mídia Como executar aplicações que contêm músicas? Como abrir vídeos em Android? Quais formatos de músicas são aceitos? Quais formatos de vídeo? Como o$mizar
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Internacionalização e Literais Professor: Danilo Giacobo OBJETIVOS DA AULA Aprender as vantagens do uso de literais e da internacionalização em aplicativos Android.
Leia maisDesenvolvimento de aplicações na plataforma Google Android
Desenvolvimento de aplicações na plataforma Google Android Rafael M. Lins Manoel Taenan Prof. Dr. Fábio Gomes Design by Rafael M. Lins Autores Rafael Madureira Lins de Araújo Bla bla bla Manoel Taenan
Leia maisINSTALAÇÃO DO MICROSOFT WINDOWS SHAREPOINT SERVICES 2.0
CAPÍTULO 18 INSTALANDO E CONFIGURANDO O MICROSOFT OFFICE PROJECT SERVER 2003 INSTALAÇÃO DO MICROSOFT WINDOWS SHAREPOINT SERVICES 2.0 Antes de começar a instalação do Microsoft Office Project Server 2003
Leia maisManual de Utilização COPAMAIL. Zimbra Versão 8.0.2
Manual de Utilização COPAMAIL Zimbra Versão 8.0.2 Sumário ACESSANDO O EMAIL... 1 ESCREVENDO MENSAGENS E ANEXANDO ARQUIVOS... 1 ADICIONANDO CONTATOS... 4 ADICIONANDO GRUPOS DE CONTATOS... 6 ADICIONANDO
Leia maisAndroid: Ciclo de vida da Activity
Se sua aplicação estiver em execução e o celular receber uma ligação? O que acontecerá com seu aplicativo? Quais métodos serão executados e em qual ordem? Para respondermos essas perguntas e entendermos
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Tratamento de Eventos Professor: Danilo Giacobo OBJETIVOS DA AULA Apresentar os modelos mais comuns de tratamento de eventos da plataforma Android. Aprender a utilizar
Leia maisINTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período
ADS 6º Período Conceitos básicos do Android - Parte 2 Abra o Android Studio INTRODUÇÃO À PROGRAMAÇÃO PARA Abra o Android Studio INTRODUÇÃO À PROGRAMAÇÃO PARA Abra o Android Studio app build.grade
Leia maisFluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção
Este procedimento corresponde ao fluxo de trabalho de Indexação de OCR com separação de código de correção no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se na
Leia maisNetBeans. Conhecendo um pouco da IDE
NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica
Leia maisGoogle Android. Uma abordagem prática e didática. Rafael Guimarães Sakurai, Diogo Carleto, erodrigo Cascarrolho
Google Android Uma abordagem prática e didática Rafael Guimarães Sakurai, Diogo Carleto, erodrigo Cascarrolho Esse livro está à venda em http://leanpub.com/google-android Essa versão foi publicada em 2015-08-03
Leia maisManual do Usuário Android Neocontrol
Manual do Usuário Android Neocontrol Sumário 1.Licença e Direitos Autorais...3 2.Sobre o produto...4 3. Instalando, Atualizando e executando o Android Neocontrol em seu aparelho...5 3.1. Instalando o aplicativo...5
Leia maisPROJETO PEDAGÓGICO DE CURSOS
1 de 5 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM DEZEMBRO / 2014 2 de 5 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,
Leia maisAmbientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014
UNIVERSIDADE CEUMA Ambientação JAVA Versão 0.1 08/01/2014 Este é um modelo de configuração para desenvolvimento no ambiente Java. MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 Sumário Sumário... 2 1
Leia maisDesenvolvimento para Android Prá9ca 1. Prof. Markus Endler
Desenvolvimento para Android Prá9ca 1 Prof. Markus Endler Pré- requisitos Para desenvolver para plataforma Android, é necessário fazer o download e instalar: Android SDK Tools: necessário para gerenciamento
Leia maisConfigurar o Furbot no Eclipse
Configurar o Furbot no Eclipse Primeiramente, precisamos abrir o Eclipse. Logo no início, deverá aparecer uma tela assim: Nela, você irá selecionar o local do seu workspace. Workspace é o local onde ficarão
Leia maisStatus. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna
O que é uma planilha eletrônica? É um aplicativo que oferece recursos para manipular dados organizados em tabelas. A partir deles pode-se gerar gráficos facilitando a análise e interpretação dos dados
Leia maisProvedores de Conteúdo
Programação para a Plataforma Android Aula 12 Provedores de Conteúdo O que são provedores de conteúdo? Como ler dados de outras aplicações? Como iden@ficar recursos de forma única? Como deixar dados disponíveis
Leia maisConhecendo o Visual FoxPro 8.0 Parte 1
AULA Conhecendo o Visual FoxPro 8.0 Parte 1 Em qualquer profissão é importante que se conheça bem as ferramentas que serão usadas para executar o trabalho proposto. No desenvolvimento de software não é
Leia maisGUIA INTEGRA SERVICES E STATUS MONITOR
GUIA INTEGRA SERVICES E STATUS MONITOR 1 - Integra Services Atenção: o Integra Services está disponível a partir da versão 2.0 do software Urano Integra. O Integra Services é um aplicativo que faz parte
Leia maisMinicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa
Minicurso introdutório de desenvolvimento para dispositivos Android Cristiano Costa Desenvolvimento da interface estática Sobre mim Graduando em Engenharia Eletrônica - UNIFEI Trabalhou em desenvolvimento
Leia maisGerenciador de Conteúdo Magellan 2.0
Gerenciador de Conteúdo Magellan 2.0 Instalando o Gerenciador de Conteúdo Magellan. 1. Baixe o Gerenciador de Conteúdo Magellan de www.magellangps.com. 2. Dê um duplo clique no arquivo CM_Setup que foi
Leia maisTutorial Administrativo (Backoffice)
Manual - Software ENTRANDO NO SISTEMA BACKOFFICE Para entrar no sitema Backoffice, digite no seu navegador de internet o seguinte endereço: http://pesquisa.webbyapp.com/ Entre com o login e senha. Caso
Leia mais1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO
1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO
Leia maisTUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS
TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS Uma activity é um componente do aplicativo que fornece uma tela com o qual os usuários podem interagir. Uma aplicação geralmente consiste de múltiplas activities,
Leia maisTutorial Android Speech
Tutorial Android Speech O sistema operacional Android já dispõe de uma funcionalidade interna para síntese e reconhecimento de voz que pode ser incorporado a qualquer aplicação. Essa funcionalidade utiliza
Leia maisVamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.
3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao
Leia maisGoogle Drive. Passos. Configurando o Google Drive
Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.
Leia maisb 1 Copyright 2008-2012 In9 Mídia Soluções Digitais Inc. All rights reserved.
b 1 Conteúdo Capítulo 1... 3 Instalando o Neonews... 3 Neonews no Linux... 6 Capítulo 2... 7 Configurando o NeoNews... 7 Capítulo 3... 13 Teclas de Atalho do NeoNews Player... 13 2 Capítulo 1 Instalando
Leia maisManual de Gerenciamento de Conteúdo
Manual de Gerenciamento de Conteúdo 1 Sumário 1) O que é um Gerenciador de Conteúdo...3 2) Como o Site está Estruturado...3 3) Como Gerenciar o Conteúdo do Site...5 3.1) Adicionar Itens no Menu de Navegação...6
Leia maisCONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android
Conteúdo detalhado CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android Android Básico 1. Dispositivos Android 2. Instalação do Android 3. Emuladores de Android 4. Exercício:
Leia maisTUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!
UNIVERSIDADE DE SÃO PAULO (USP) ESCOLA DE ARTES, CIÊNCIAS E HUMANIDADES (EACH) TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH! Autoria e revisão por: PET Sistemas
Leia maisInstalando o plugin CDT 4.0
Instalando o plugin CDT 4.0 Abra o Eclipse, acesse help/software updates/ find and install. Escolha a opção search for new features to install e depois clique em next. Instalando o plugin CDT 4.0 Na janela
Leia maisEA998/MC933 Guido Araujo e Sandro Rigo
EA998/MC933 Guido Araujo e Sandro Rigo 1 Introdução Livros adotados (e-books) Learning Android, Marco Gargenta, O Reilly Media (livro texto) Professional Android Application, Reto Meier, Wrox Abordagem
Leia mais