Conhecendo as Activitys do Android
Neste post veremos o funcionamento das Activitys e intents e, como as usaremos para navegar entre diferentes telas de nossa aplicação.
Neste post veremos o funcionamento das Activitys e intents e, como as usaremos para navegar entre diferentes telas de nossa aplicação.
Este tutorial tem como objetivo reunir todo o conhecimento adquirido até agora com os posts anteriores. A meta é, finalmente, caminharmos rumo ao projeto final de realidade aumentada. Claro que se trata apenas de um “embrião”, um projeto básico que acarretará em diversos trabalhos com amplo grau de complexidade.
Olá pessoal, hoje vou falar sobre Android, pacote de software para celulares desenvolvido pelo Google. Nesse primeiro post, eu abordo a infra-estrutura de um projeto desenvolvido com essa tecnologia. E apesar de haver um longo caminho pela frente, nesta primeira parte já será possível ter uma idéia das principais “sacadas” por trás de um projeto baseado nesse sistema. Segue abaixo uma foto da aplicação que deverá ser obtida ao findar o vídeo, assim como o tutorial.
Segue o link para o download do SDK e do plugin para o Eclipse
Have fun!!
Já vi muitos materiais que retratam sobre teorias de genéricos e seu funcionamento. Inclusive, seu uso com Reflection, utilizado para um desenvolvimento mais avançado em Java. Todavia, ainda não vi material que mostra um exemplo simples, porém prático, sobre o uso dos genéricos na referida tecnologia.
E esse é meu objetivo neste post. Mostrar uma idéia simples, mas real, do que os genéricos em Java podem fazer.
Diga-se de passagem, que você precisa imprimir em tela 2 tipos de arrays, um de inteiros e um de Strings, logo se você não usa genéricos em Java sua classe poderia ser mais ou menos assim…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | public class Main { public static void main(String[] args) { Integer [] i = {1,2,3,4,5}; String [] S = {"A","B","C","D","E"}; Main m = new Main(); m.printArray(i); m.printArray(S); } public void printArray(int [] inputArray){ for( int element: inputArray ){ System.out.printf("%s", element); } } public void printArray(String [] inputArray){ for( String element: inputArray ){ System.out.printf("%s", element); } } } |
Note que nesta situação criei 2 métodos sobrecarregados na linha 14 e na linha 20. Onde um recebe como parâmetro um array de ints e outro um array de Strings .
No método Main (linha 3) crio os 2 tipos de arrays (linha 4 e linha 5) e nas linhas 6 e 7 chamado meu método printArray, passando cada um dos arrays. O compilador do Java como não é ”bobo” nem nada chama a versão correspondente de cada uma das chamadas, conforme o tipo do argumento mencionado em ordem no método. É meus caros amigos, isto é Java!!
O problema é que se pararem pra pensar comigo, isso é legal! Pois criei dois métodos e até aí tudo “lindo”. Mas, digamos que se tivesse que imprimir vários tipos diferentes de array em tela, então logo, para cada tipo de objeto teríamos que ter um método para tal efeito. Correto? Não, se você usar um Genérico.
Vejam….
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public class Main { public static void main(String[] args) { Integer [] i = {1,2,3,4,5}; String [] S = {"A","B","C","D","E"}; Main m = new Main(); m.printArray(i); m.printArray(S); } public <e> void printArray( E[] inputArray ){ for( E element: inputArray ){ System.out.printf("%s", element); } System.out.println(); } } |
Note que agora eu só tenho uma declaração do método printArray usando o genérico <E> na chamada do método na linha 11.
Assim, fica garantido que mais de um tipo definido de array possa passar para aquele mesmo método. E sem necessidade de escrever as outras versões, de modo que sobrecarregue. E a partir dessa pequena demonstração, consegue-se ter uma noção do poder dos genéricos em Java.
E para aqueles com um pouco mais de conhecimento na linguagem, peço que pensem na idéia, por exemplo, de uma classe DAO genérica, que se pode usar em qualquer tipo de VO’s. Para tanto, utilize uma implementação de uma classe AbstractDAO. E isso sem precisar escrever um método para cada tipo de VO. Intrigante, não?
Muito bem meus queridos nesse tutorial estaremos mostrando como controlar o nosso ja tão famoso carrinho via um controle velho de tv. Ou seja nada de fios. Lembrando que o intuito dessa série de tutoriais do Arduino não é somente mostrar como controlar um carrinho ou o Arduino rs…
Nossa idéia aqui é mostrar como é fácil você integrar elementos do mundo real para dentro de nossos sistemas, inventar coisas legais sem muito esforço. Espero que estejam gostando. Abaixo segue o esquema de ligação para os 2 códigos bem como os materiais usados.