至于 2021 年,其实你可以做得更好。所以你不应该为了 OrmLiteBaseActivity 而牺牲 AppCompatActivity,你可以同时使用它们。
首先,导入 OpenHelperManager:
import com.j256.ormlite.android.apptools.OpenHelperManager;
在你的活动中定义对象
private DatabaseHelper databaseHelper = null;
使用下面的getHelperMethod
private DatabaseHelper getHelper() {
if (databaseHelper == null) {
databaseHelper = OpenHelperManager.getHelper(this, DatabaseHelper.class);
// we don't need the following line that much
// databaseHelper.getWritableDatabase(); // explicitly calls onCreate method of DatabaseHelper
//where you create tables for example, again it will be called anyway
}
return databaseHelper;
}
在您的活动完成时覆盖您的 AppCompatActivity 的 OnDestroy 以释放资源
@Override
protected void onDestroy() {
super.onDestroy();
if (databaseHelper != null) {
OpenHelperManager.releaseHelper();
databaseHelper = null;
}
}
因此,您可以像这样从您的活动中调用我的案例 listAllEntries() 中的 DatabaseHelper 的任何方法:
getHelper().listAllEntries();