При доступе к репозиторию ormlite в нескольких действиях должно быть несколько экземпляров, одиночный файл или что? - PullRequest
1 голос
/ 01 сентября 2011

Я использую образец, предоставленный Джеймсом Морганом 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..

Как получить доступ к хранилищу в других действиях или классах?

1 Ответ

0 голосов
/ 02 сентября 2011

Я не уверен, что это отличный ответ @Kevin, но здесь он идет.

ORMLite имеет несколько базовых классов, которые помогают с начальной загрузкой баз данных Android.

  • OrmLiteBaseActivity
  • OrmLiteBaseActivityGroup
  • OrmLiteBaseListActivity
  • OrmLiteBaseService
  • OrmLiteBaseTabActivity

Вот Javadocs для них: http://ormlite.com/javadoc/ormlite-android/

Все эти базовые классы предоставляют служебные методы, которые помогают управлять DatabaseHelper классом, который расширяет OrmLiteSqliteOpenHelper. Вам нужен только один экземпляр вспомогательного класса, поскольку он управляет соединением с базой данных, которое передается методом onCreate().

Метод onCreate() - это то, что передается Android SQLiteDatabase, связанным с приложением, которое требуется ORMLite для обертывания внутри кода подключения к базе данных.

Если вы спросите более конкретно, что вы пытаетесь выполнить, я отредактирую свой ответ, включив в него дополнительную информацию.

...