segunda-feira, 7 de maio de 2012

Lendo texto do Conteúdo Raw na pasta Resource.

( Android )


É possível armazenar o conteúdo na pasta raw e fazer a leitura utilizando o método abaixo ...

Primeiros passos: 

1. Crie uma pasta raw em res/
2. Crie um arquivo de texto e salve na pasta res/raw, que você acabou de criar
3. Criar Método chamado readTextResource() 
4. Utilize o código abaixo para ler os dados

StringBuffer strBuffer = new StringBuffer();
  InputStream inputStream = null;
  try {
   inputStream = owner.getResources().openRawResource(resourceId);
   BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
   String str = br.readLine();
   while (str != null) {
    strBuffer.append(str);
    str = br.readLine();
   }
  } catch (IOException e) {   
  } finally {
   try {
    if (inputStream != null) {
     inputStream.close();
    }
   } catch (IOException e) {    
   }
  }


5. Retorna o valor StringBuffer.
6. Se você precisa de um formato html, você pode usar a classe util html
Html.fromHtml (text); 



Exemplo completo do código 


public class MinhaActivity extends Activity {

 private Spanned mText = null;
 private TextView mTextView;

 public void onCreate(Bundle savedInstanceState) {  
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  mTextView = (TextView) findViewById(R.id.sampleText);

  if (mText == null) {

// Passando o nome do arquivo como parametro utilizando a Class R e o contexto
   String text = readTextResource(R.raw.meuarquivo, this);

   mText = Html.fromHtml(text);
  }
  mTextView.setText(mText);
 }

 public String readTextResource(int resourceId, Activity owner) {

  StringBuffer strBuffer = new StringBuffer();  
  InputStream inputStream = null;

  try {

   inputStream = owner.getResources().openRawResource(resourceId);

   BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));

   String str = br.readLine();
   while (str != null) {

    strBuffer.append(str);
    str = br.readLine();

   }
  } catch (IOException e) {   
  } finally {
   try {
    if (inputStream != null) {
     inputStream.close();
    }
   } catch (IOException e) {    
   }
  }

  return strBuffer.toString();

 }   
}



quinta-feira, 3 de maio de 2012

Ciclo de vida de uma activity (atividade)

Android )




É muito importante entender o ciclo de vida de uma activity. isto é, os possíveis estados em que ela se encontra, que podem ser: executando, temporariamente interrompida em segundo plano ou completamente destruida.

Existem vários métodos que podem ser implementados na activity para controlar o estado da aplicação. 

Vou detalhar cada método do ciclo de vida da activity: 


onCreate(Bundle)   O método onCreate(Bundle) é obrigatório e é chamado uma única vez. Nesse método deve-se criar uma   view e chamar o método setContentView(View) para exibir-la na tela. Logo depois que o método onCreate(Bundle) é finalizado, o método onStart() é chamado para iniciar o ciclo de vida visível da activity.


onStart()   O método onStart() é chamado quando a activity está ficando visível ao usuário e já tem uma view. Pode ser chamado depois dos métodos onCreate(Bundle) e onRestart(), dependendo do estado da aplicação. O próximo método depois do onStart() é sempre onResume().


onRestart()  O método onRestart() é chamado quando a activity foi parada temporariamente e está sendo iniciada outra vez. O método onResume() chama o método onStart() de forma automática.


onResume()    O método onResume() é chamado quando uma activity está no topo da pilha "activity stack", e e dessa forma já está executando como a activity principal e pronta para interagir com o usuário. Podemos dizer que o método onResume() representa o estado de que a activity está executando. O método é chamado sempre depois do onStart(). 


onPause()   Se algum evento ocorrer, como o celular entrar em modo de espera/dormir para ecomonizar energia ou  uma Intent está sendo processsada, a activity do topo da pilha que está executando pode ser temporariamente interrompida. Para isso o método onPause() é chamado para salvar o estado da aplicação, para que posteriormente  quando a activity voltar a executar, tudo possa ser recuperado, se necessário no método onResume(). 


onStop()  O método onStop() é chamado quando a activity está sendo encerrada, é não está mais visível ao usuário, o que o que pode ocorrer quando outra activity é iniciada, por exemplo. Depois de parada a activity pode ser reiniciada se necessário. Caso isso ocorra, o método onResume() é chamado para reiniciar a activity. Caso a activity fique muito tempo parada em segundo plano e o sistema operacional do Android precise limpar os recursos para liberar memória , o método onDestroy() pode ser automáticamente chamado, para remover completamente a activity da pilha. 


onDestroy()   O método onDestroy literalmente encerra a execução de uma activity. O método onDestroy() pode ser chamado automaticamente pelo sistema operacional para liberar recursos ou pode se chamado pela aplicação pela método finish() da classe Activity. depois do método onDestroy() ter executado a activity é removida completamente  da pilha e seu processo no sistema operacional também é completamente encerrado.