Pessoal, abaixo um codigo que pode ser colocado em uma activity android, com isso podemos criar situações no emulador e observar o comportamento de uma activity. Por exemplo, podemos durante a execução da activity podemos apertar o botão de back do emulador ou o de home e observar o log da aplicação para saber que metodo do ciclo de vida da activity foi chamado...
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i("ExemploCicloVida", "onCreate");
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.i("ExemploCicloVida", "onStart");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.i("ExemploCicloVida", "onResume");
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.i("ExemploCicloVida", "onRestart");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.i("ExemploCicloVida", "onPause");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.i("ExemploCicloVida", "onStop");
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.i("ExemploCicloVida", "onDestroy");
}
}
sábado, 6 de julho de 2013
sexta-feira, 5 de julho de 2013
Activity - Ciclo de Vida Activity no Android
Talvez a classe mais importante do Android seja a Activity. De forma
simplista, podemos dizer que ela é responsável por renderizar as views
na tela ou até mesmo que ela é as telas do app. De acordo com a
documentação do Google ela é simplesmente o que o nome diz, uma
“atividade” que é basicamente a unica coisa que o usuário pode iteragir
com seu smartphone.
Quando se trabalha com Activity no Android, é preciso muito mais que o desenvolvimento de Telas. Entender o ciclo de vida de uma Activity, é uma parte fundamental. Imagine que sua aplicação seja intenrropida de forma inesperada, seja por que o usuário abriu uma outra Activity e com isso houve algum fator que fez a Activity ser fechada, e até mesmo quando o Android finaliza ela quando ve a necessidade de memória. Desta forma é preciso entender cada ciclo de vida de uma Activity. Existem algums metodos na classe Acitivity que são responsaveis pelo seu ciclo de vida, são eles:
- onCreate() É um método obrigatório e é invocado uma vez. Geralmente nele é definido o View da Acitivity. Em seguida é invocado o onStart.
- onStart() É chamada imediatamente após a onCreate() – e também quando uma Activity que estava em background volta a ter foco.
- onResume() Sempre invocada quando a Activity recebe o foco novamente.
- onPause() Salva o estado da aplicação, quando o celular entra em modo de espera por exemplo.
- onStop() – Quando a activity está sendo encerrada e não fica mais visivel ao usuário.
- onDestroy() Este método literalmente finaliza a aplicação e pode ser invocado também pelo sistema operacional, caso ele deseje desalocar recursos.
- onRestart() Quando uma Activity volta depois de ficar fora temporariamente e invoca o método onStart.
Logo abaixo uma imagem ilustrativa desse ciclo para facilitar o entendimento.
Até a proxima...
Quando se trabalha com Activity no Android, é preciso muito mais que o desenvolvimento de Telas. Entender o ciclo de vida de uma Activity, é uma parte fundamental. Imagine que sua aplicação seja intenrropida de forma inesperada, seja por que o usuário abriu uma outra Activity e com isso houve algum fator que fez a Activity ser fechada, e até mesmo quando o Android finaliza ela quando ve a necessidade de memória. Desta forma é preciso entender cada ciclo de vida de uma Activity. Existem algums metodos na classe Acitivity que são responsaveis pelo seu ciclo de vida, são eles:
- onCreate() É um método obrigatório e é invocado uma vez. Geralmente nele é definido o View da Acitivity. Em seguida é invocado o onStart.
- onStart() É chamada imediatamente após a onCreate() – e também quando uma Activity que estava em background volta a ter foco.
- onResume() Sempre invocada quando a Activity recebe o foco novamente.
- onPause() Salva o estado da aplicação, quando o celular entra em modo de espera por exemplo.
- onStop() – Quando a activity está sendo encerrada e não fica mais visivel ao usuário.
- onDestroy() Este método literalmente finaliza a aplicação e pode ser invocado também pelo sistema operacional, caso ele deseje desalocar recursos.
- onRestart() Quando uma Activity volta depois de ficar fora temporariamente e invoca o método onStart.
Logo abaixo uma imagem ilustrativa desse ciclo para facilitar o entendimento.
Até a proxima...
segunda-feira, 1 de julho de 2013
Criação do Ambiente de Desenvolvimento Android
Olá pessoal abaixo uma vídeo mostrando a criação do ambiente de desenvolvimento android e a criação de um simples exemplo. O vídeo é um pouco longo mais tentei ser bem objetivo. No fim do post alguns passos importantes para a criação.
Links Uteis:
- Java SE Development Kit (JDK): http://www.oracle.com/technetwork/java/javase/downloads/index.html
- ADT Bundle:
http://developer.android.com/sdk/index.html
- Criando Variaveis de ambiente:
1- Acionar o botão direito do mouse em "Computador" e em seguida com o botão esquerdo em "Propriedades"
2- Clique em "Configurações Avançadas do Sistema"
3- Com a aba "Avançado" selecionada, clique em "Variáveis de ambiente"
4- Na parte de baixo da janela, em "Variáveis do sistema", clique em "Novo".
5- Em "Nome da variável", digite JAVA_HOME e em "Valor da variável", digite o caminho onde o JDK foi instalado, Ex.: C:\Program Files\Java\jdk1.6.0_34
6- Em seguida procure por uma variável de sistema chamada "Path" e clique em Editar
7- Essa variável pode conter diversas variáveis de ambiente já configuradas e que não devem ser apagadas. Cada uma das variáveis é separada por um ponto-e-vírgula. Precisamos acrescentar um ponto-e-vírgula e mais o endereço da pasta bin da instalação do Java, que deve ser algo como: C:\Program Files\Java\jdk1.6.0_34\bin
Abraços...
terça-feira, 4 de dezembro de 2012
Utilizando Achartengine em sua aplicação Android. Crie diversos gráficos com a API
Olá pessoal, precisei utilizar gráficos em uma aplicação android e vou postar um exemplo que criei para facilitar para quem precisar depois.
Utilizei a API Achartengine, disponível para download aqui: http://www.achartengine.org/
Depois de adicionar a API no Build Path do projeto podemos começar.
Existem diversas propriedades da api que não conheço ainda mais pelo que já pesquisei encontrei algumas coisas bem interessantes. Segue o exemplo:
Utilizei a API Achartengine, disponível para download aqui: http://www.achartengine.org/
Depois de adicionar a API no Build Path do projeto podemos começar.
Existem diversas propriedades da api que não conheço ainda mais pelo que já pesquisei encontrei algumas coisas bem interessantes. Segue o exemplo:
- public class BarGraphActivity extends Activity{
- private GraphicalView mChartView;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.bar_char_activity);
- createChart();
- }
- public void createChart(){
- int[] valores = {6, 7, 5, 3};
- CategorySeries series = new CategorySeries("Grafico de barras");
- for (int i = 0; i < valores.length; i++) {
- series.add(valores[i]);
- }
- XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
- dataset.addSeries(series.toXYSeries());
- XYMultipleSeriesRenderer renderer = getBarDemoRenderer();
- setChartSettings(renderer);
- LinearLayout layout = (LinearLayout) findViewById(R.id.layout_chart);
- mChartView = ChartFactory.getBarChartView(this, getBarDemoDataset(),
- renderer, Type.DEFAULT);
- layout.addView(mChartView);
- }
- private XYMultipleSeriesDataset getBarDemoDataset() {
- XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
- int[] valores = {6, 7, 5, 3};
- CategorySeries series = new CategorySeries("Demo series");
- for (int i = 0; i < valores.length; i++) {
- series.add(valores[i]);
- }
- dataset.addSeries(series.toXYSeries());
- return dataset;
- }
- public XYMultipleSeriesRenderer getBarDemoRenderer() {
- XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
- renderer.setAxisTitleTextSize(16);
- renderer.setBarSpacing(1);
- renderer.setLegendTextSize(15);
- SimpleSeriesRenderer r = new SimpleSeriesRenderer();
- r.setColor(Color.YELLOW);
- renderer.addSeriesRenderer(r);
- return renderer;
- }
- private void setChartSettings(XYMultipleSeriesRenderer renderer) {
- renderer.setShowLegend(false);
- renderer.setAxesColor(Color.DKGRAY);
- renderer.setXAxisMin(0.5);
- renderer.setXAxisMax(12.5);
- renderer.setYAxisMin(0);
- renderer.setYLabelsAlign(Align.RIGHT);
- renderer.setXLabels(0);
- renderer.setZoomEnabled(false, false);
- renderer.setShowCustomTextGrid(true);
- renderer.setShowGridY(true);
- renderer.setShowGridX(true);
- renderer.addXTextLabel(1, "Jan");
- renderer.addXTextLabel(2, "Fev");
- renderer.addXTextLabel(3, "Mar");
- renderer.addXTextLabel(4, "Abr");
- }
- }
E o resultado disso tudo ficará assim:
Qualquer dúvida que tiverem tentarei ajudar, no site tem uma documentação legal e lá também está disponível para download um projeto com alguns exemplos utilizando outros tipos de gráficos.
Até a próxima...
terça-feira, 11 de setembro de 2012
Criando arquivo de Properties em Java
Olá pessoal, em alguns projetos pode ser necessário a criação de um arquivo de parâmetros de configuração e nesse post vou mostrar como é simples criar um em java.
Criarei um arquivo texto com a seguinte estrutura:
chave=valor
Meu arquivo de configuração será o "properties.config" e contém esses parâmetros:
Criarei um arquivo texto com a seguinte estrutura:
chave=valor
Meu arquivo de configuração será o "properties.config" e contém esses parâmetros:
- chave1=parametro1
- chave2 =parametro2
- chave3 =parametro3
agora vamos ler o arquivo e imprimir no console os valores de cada chave:
- public static void main(String[] args) {
- Properties config = new Properties();
- String arquivo = "properties.config";
- try {
- config.load(new FileInputStream(arquivo));
- System.out.println(config.getProperty(" chave1"));
- System.out.println(config.getProperty(" chave2"));
- System.out.println(config.getProperty(" chave3"));
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
e teremos as seguintes saídas no console:
parametro1
parametro2
parametro3
Com isso não será mais necessário recompilar seu código por um simples parâmetro, agora basta alterar o valor no arquivo de configurações do seu sistema.
quinta-feira, 6 de setembro de 2012
Diferença em dias entre datas
Oi pessoal, segue um exemplo de como calcular a diferença em dias entre duas datas
em java:
em java:
- public static void main(String[] args) {
- Calendar dataInicial = Calendar.getInstance();
- // Atribui a data de 4 de setembro de 2012
- dataInicial.set(2012, Calendar.SEPTEMBER, 4);
- // Data de hoje
- Calendar dataFinal = Calendar.getInstance();
- // Calcula a diferença entre hoje e da data de inicial
- long diferencaMillis = dataFinal.getTimeInMillis() -
- dataInicial.getTimeInMillis();
- // Quantidade de milissegundos em um dia
- int tempoDiaMillis = 1000 * 60 * 60 * 24;
- long diferencaDias = diferencaMillis / tempoDiaMillis;
- System.out.println("Diferença em dias entre as datas são: " + diferencaDias);
- }
domingo, 2 de setembro de 2012
Cross browser - Rodando sistemas em diversos browsers
Oi pessoal,
Descobri essa semana algo bem legal que permite que você execute vários browsers para que possam ser feitos testes em sistemas web.
O Sandbox navegador permite que você execute qualquer navegador instantaneamente a partir
da web em um ambiente virtual isolado. Spoon.net funciona usando um plugin do navegador.
O Navegador faz cross browser e permite que os navegadores mais antigos,
como o IE6 rode no Windows 7.
Assinar:
Postagens (Atom)


