Diferença entre esses dois métodos.
28/02/2014
0
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
Método feito em uma classe comum
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;
}
}
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)