【发布时间】:2018-11-21 18:46:29
【问题描述】:
我在尝试使用 try/catch 对我的 Android 项目上的 DatabaseHelper 类进行祝酒时遇到问题。 我尝试了以下方法:
Toast.makeText(this, "", Toast.LENGTH_SHORT).show();
Toast.makeText(DatabaseHelper.this, "", Toast.LENGTH_SHORT).show();
Toast.makeText(DatabaseHelper.this.getApplicationContext(), "", Toast.LENGTH_SHORT).show();
它们都不起作用。
这是我尝试制作吐司的代码
public void criaConta(String nome, String password){
SQLiteDatabase db = this.getWritableDatabase();
try {
db.execSQL("INSERT INTO " + TABLE_NAME + " (" + COL2 + "," + COL3 + "," + COL4 + "," + COL5 + ") VALUES ('" + nome + "','" + password + "',0,0);");
}catch(Exception e){
Toast.makeText(this, "", Toast.LENGTH_SHORT).show();
Log.i("ErroCriarConta", "criaConta: "+e);
}
//Toast.makeText(DatabaseHelper.this,"Conta Criada",Toast.LENGTH_LONG).show();
}
提前感谢任何愿意提供帮助的人。
【问题讨论】:
-
“它们都不起作用” - 你得到的确切错误是什么?
-
如果
DatabaseHelper是SqliteOpenHelper,那么它不是Context,这是第一个参数所需要的。你将Context传递给构造函数,你可以为它保留一个字段,但你真的不应该从数据库帮助类中做 UI 的东西。那应该在你的Activity。 -
克瑞斯。一切都是同样的错误。
-
您不一定需要
catchActivity中的任何内容。修改您的criaConta()方法以返回成功/失败值,即使只是一个简单的boolean。 -
那将是另一种解决方案,是的。希望我早点想到这一点。再次感谢您的帮助
标签: java android android-studio android-toast