使用ObjectBox数据库重建应用程序问题

时间:2019-09-29 11:50:56

标签: android database objectbox

我在这里有疑问。我使用ObjectBox数据库。使用ObjectBox可能非常容易。但是,我有一个问题。

每次在某个位置更改ObjectBox模式后构建我的应用程序,我都会遇到构建错误'错误:找不到符号类Note_'

因此,一种解决此问题的方法是通过删除/注释对Note_类的导入并删除/注释所有使用Note_类的行,例如示例行:query.setParameter(Note_.id,id).remove(); < / p>

所有构建完成后,我的工作是取消注释/取消删除行代码。如果只有一个班级需要这样做,那就没关系了。但是,如果我有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();
    }

}

0 个答案:

没有答案