Проблема Перестройка приложения с базой данных ObjectBox - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть вопрос здесь.Я использую базу данных 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();
    }

}
...