我想创建一个类来处理我的应用程序的图像处理。
为了实现这一点,扩展SQLiteOpenHelper是有意义的,因为它的大部分工作都是在数据库中完成的。
我的一个方法返回一个ViewGroup对象,我可以将它包含在几个更高级别的布局中。此ViewGroup包含一组图片和一个用于添加新图像的按钮。
当我想使用 startActivityForResult()操作处理按钮点击时出现问题 - 这是Activity类的一部分,在SQLiteOpenHelper中不可用类。
我接近这个错误吗?或者有没有办法可以从我的课程中访问startActivityForResult()(以及onActivityResult())?
答案 0 :(得分:1)
扩展SQLiteOpenHelper以执行此操作
该类只需打开您的数据库文件(并创建您需要的表),仅此而已。您应该编写另一个数据库处理类,该类使用open [ing] Helper类打开数据库,并在数据库中执行所有插入/更新。
我接近这个错误吗?
Imo是的。用户事件逻辑是Activity的责任,因此它应该在那里或在你委派所有这些的类中。
应该从那里使用数据库功能 - 最好是异步。
答案 1 :(得分:0)
这似乎可以通过将活动作为参数传递给类,然后使用:
myActivity.startActivityForResult(...
答案 2 :(得分:0)
正如布伦特所说,并将getParent()
作为参数传递给您的方法。
答案 3 :(得分:0)
最好将你正在做的事扩展活动而不是SQLiteOpenHelper,并让另一个类说MyDatabase扩展SQLiteOpenHelper拥有这个类中的所有数据库内容,并在你的活动中为任何数据库通信创建一个这个对象,这将是更好地处理和改变。