Diferença entre esses dois métodos.

Android

28/02/2014

Oi pessoal, sou eu novamente rsrs! Sou programador Delphi e estou inciando no mundo java e android, então acho que vocês vão me ver algumas vezes por aqui rsrs.

Fiz um método que cria um banco, esse método foi feito em uma activity(public class MainActivity extends Activity), e funciona beleza, mas em alguns vídeos disseram que isso não é uma boa prática, o correto seria criá-lo em uma classe java "comum"(exemplo: public class BancoDados). Se eu tentar criar esse método em uma classe "comum",ele não funciona, a não ser que eu coloque esse carinha chamado context. Aí que vem minha dúvida, porque um método que funciona perfeitamente em uma classe, não funciona em outra? E qual a função do CONTEXT nesse método?.

Agradeço a atenção e espero ter sido claro.

Método feito direto em uma activity
	public void abreouCriaBanco() {
		 try {
			   String nomeBanco = "bancoEstoque";
			   //cria ou abre o banco de dados
			   bancoDados = openOrCreateDatabase(nomeBanco, MODE_WORLD_READABLE, null);
			   String sql = "CREATE TABLE IF NOT EXISTS pessoas "
				   +"(id INTEGER PRIMARY KEY, nome TEXT, endereco TEXT,"
				   +"telefone TEXT);";
			   bancoDados.execSQL(sql);
			   //mensagemExibir("Banco", "Banco criado com sucesso ");
		   }
		   catch(Exception erro)
		   {
			   mensagemExibir("Erro Banco", "Erro ao abrir ou criar o banco: "+erro.getMessage());
		   }
	}


Método feito em uma classe comum
protected static Context context;
public SQLiteDatabase SQLBancoBD = null;
public static final String NomeBD = "Notas";
public static final int VersaoBD = 1;

public BancoDados(Context context){
this.context = context;
}

public boolean Abre_CriaBanco(){
try
{

SQLBancoBD = context.openOrCreateDatabase(NomeBD, Context.MODE_WORLD_READABLE, null); //Abrindo ou Criando o Banco
return true;
}
catch (Exception e) {
// TODO: handle exception
return false;
}
}
Rafael Mota

Rafael Mota

Curtidas 0

Respostas

Andre Santos..

Andre Santos..

28/02/2014

olha tem um curso muito bom nesse site aki
..

http://www.rlsystem.com.br/medialink/rlsystem/MC44OTUwODU5ODE4MTQxOTA3fGh0dHA6Ly93d3cucmxzeXN0ZW0uY29tLmJyL2N1cnNvLWFuZHJvaWQtZ3JhdGlzL3w5ODYzfDAw/

o de android e é de graça os outros sao pago mas tem o de android e java de graça la..



GOSTEI 0
POSTAR