Implementing the database thing
OpenHelperManager.java
/* this is not the complete example for the implementation
but it is just a sample as I didn't write it all that
*/
public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
private static final String DATABASE_NAME="Sniptit.rb";
private static final int DATABABASE_VERSION = 2;
public DatabaseHelper(Context context) {super(contenxt, DATABASE_NAME, null, DATABASE_VERSION);}
public RunTimeExceptionDao<Book, Integer> getBookDAO() {
if(bookRunTimeDAO == null) {
bookRuntimeDAO = getRunTimeExceptionDao(Book.class);
}
return bookRunTimeDAO;
}
...
}
DatabaseBooksRepository.java
public class DatabaseBooksRepository implements BooksRepository {
private final DatabaseHelper databaseHelper;
public DatabaseBooksRepository(Content context) {
databaseHelper = OpenHelperManager.getHelper(context, DatabaseHelper.class);
}
@Override
public List<Book> getBooks(){
try{
return databaseHelper.getbookDaO().queryBuilder()
.orderBy("order", tru)
.query();
} catch {
return Collections.emptyList();
}
}
}
BooksActivity.java
public class BooksActivity extend BaseActivity implements BooksActivityView {
private BooksActivityPresenter presenter;
@override
protected void onCreate(...){
super.onCreate()
presenter = New BooksActivityPresenter(
this,
new DatabaseBooksRepository(getApplication())
);
presenter.loadBooks();
}
@Override public void displayBooks(List<book> bookList) {
// here we have all the logic for showing books result
Log.d(TAG, "Displaybooks: found some books");
}
@Override public void displayNoBooks() {
// here we have all the logic for showing no books
Log.d(TAG, "Displaybooks: found no some books");
};
}