У меня есть вопрос здесь.Я использую базу данных ObjectBox.Использование ObjectBox, вероятно, очень хорошо и легко.Но у меня есть одна проблема.
Каждый раз, когда я собираю свое приложение после того, как где-то меняю схемы ObjectBox, у меня возникает проблема сборки 'ошибка: не удается найти класс символов Note_'
Таким образом, один способ решить эту проблему - удалить или прокомментировать импортКласс Note_ & удалить / закомментировать все строки, которые используют класс Note_, пример строки: query.setParameter (Note_.id, id) .remove ();
После того, как вся сборка будет завершена, моя задача - раскомментировать /снова удалите эти строки кодов.Если это нужно только одному классу, не важно.Но если у меня 5-10 классов, это очень плохо для моего времени разработки.
Хорошо, так что это скучная часть использования ObjectBox, но в целом хорошо работает с ObjectBox.
Надеюсь, что ваша помощь и решение.
package com.synergypreneur.copywrite.db;
import com.synergypreneur.copywrite.CopyWrite;
import com.synergypreneur.copywrite.models.Note;
import com.synergypreneur.copywrite.models.Note_; //delete this
import java.util.Calendar;
import java.util.List;
import io.objectbox.Box;
import io.objectbox.query.Query;
import io.objectbox.query.QueryBuilder;
public class OBNote {
static int userId = 1;
public static Box<Note> note;
public OBNote() {
note = CopyWrite.getBox().boxFor(Note.class);
}
public static void initDB() {
}
public static void addNote() {
Long id = Long.valueOf("1"); String title = "title"; String content = "content"; String produk_name = "produk"; String produk_img = "img url";
String socmedLinks = "socmedLinks"; String tags = "tags";
Note mNote = new Note(id, userId, title, content, produk_name, produk_img, socmedLinks, tags);
note.put(mNote);
}
public static void addNote(String title, String content) {
Long id = Long.valueOf("1"); String produk_name = "produk"; String produk_img = "img url";
String socmedLinks = "socmedLinks"; String tags = "tags"; String method = "method";
Note mNote = new Note(id, userId, title, content, produk_name, produk_img, socmedLinks, tags);
note.put(mNote);
}
public static Note updateNote(Note mNote, boolean updateLastModification) {
mNote.setCreation(mNote.getCreation() != null ? mNote.getCreation() : Calendar.getInstance().getTimeInMillis());
long lastModification = mNote.getLastModification() != null && !updateLastModification
? mNote.getLastModification()
: Calendar.getInstance().getTimeInMillis();
mNote.setLastModification(mNote.getLastModification() != null && !updateLastModification ? mNote.getLastModification() : lastModification);
note.put(mNote);
return mNote;
}
public static List<Note> getNoteByTitle(String title) {
Query<Note> query = note.query() // query builder
.equal(Note_.title, title).order(Note_.title) //delete this
.build(); // build a query
return query.find();
}
public static List<Note> getAllNotes() {
return note.query().build().find();
}
public static List<Note> searchTitleCase(String title) {
Query<Note> query = note.query() // query builder
.equal(Note_.title, title).order(Note_.title, QueryBuilder.CASE_SENSITIVE) //delete this
.build(); // build a query
return query.find();
}
public static void deleteNote(long id) {
}
public static void deleteAllNote() {
note.removeAll();
}
public static void deleteNotes(int ... ids) {
Query<Note> query = note.query().equal(Note_.id, 0).build();
for (int id: ids) {
query.setParameter(Note_.id, id).remove(); //delete this
}
}
public static void deleteNotesGreater(int id) {
note.query()
.greater(Note_.id, id) //delete this
.build().remove();
}
}