Я использую образец, предоставленный James Morgan DemoORMLiteAndroid, который имеет одно действие, которое создает экземпляр репозитория.
для справки
public class Repository {
private Dao<Room, Integer> roomDao;
public Repository(final DatabaseHelper databaseHelper) {
this.roomDao = getRoomDao(databaseHelper);
...
и в деятельности
public class RoomActivity extends OrmLiteBaseListActivity<DatabaseHelper> {
private Repository repository;
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.repository = new Repository(getHelper());
}
...
this.repository.clearData();
...etc..
Как получить доступ к репозиторию в других действиях или классах?
Я не уверен, что это отличный ответ @Кевин, но здесь все идет.
ORMLite имеет пару базовых классов, которые помогают при загрузке баз Android.
OrmLiteBaseActivity
OrmLiteBaseActivityGroup
OrmLiteBaseListActivity
OrmLiteBaseService
OrmLiteBaseTabActivity
Вот Javadocs для них: http://ormlite.com/javadoc/ormlite-android/
Все эти базовые классы - это утилиты, которые помогают управлять классом DatabaseHelper
который расширяет OrmLiteSqliteOpenHelper
. Вам нужен только один экземпляр класса-помощника, поскольку он управляет соединением с базой данных, которая передается с помощью onCreate()
.
Метод onCreate()
- это то, что получает связанную с приложением Android SQLiteDatabase
приложение, которое необходимо для ORMLite для обертывания внутри кода подключения к базе данных.
Если вы спросите более конкретно то, что вы пытаетесь выполнить, я отредактирую свой ответ, чтобы включить дополнительную информацию.
DatabaseHelper
, у вас все будет хорошо. Проблемы возникают при наличии нескольких подключений к базе данных.