Страницы

Поиск по вопросам

понедельник, 24 февраля 2020 г.

Как получить id в Sugar ORM?

#java #android #orm #sugarorm


У меня есть записи в базе данных, хочу через адаптер поместить их в cardview, но
для этого мне нужен id этих записей, каким образом это сделать?

UPD: В документации я не понял, как получать id. Я понимаю что поидее должен использовать
getId, но как именно, что бы получить все Id из базы и запихнуть его в адаптер, я не
понимаю.

    public class book extends SugarRecord {

    @Unique
    String title;
    String edition;
    private Long id;

    public book(){
    }

    public book(String title, String edition){
        this.title = title;
        this.edition = edition;
    }


    public Long getId() {
        return id;
    }

    @Override
    public String toString() {
        return "book{" +
                "title='" + title + '\'' +
                ", edition='" + edition + '\'' +
                ", id=" + id +
                '}';
    }
}


MainActivity

   List books = SugarRecord.listAll(book.class);

    Log.d(TAG, String.valueOf(book.findById(book.class,44)));


    ArrayList myDataset = getDataSet();

    mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);

    mLayoutManager = new LinearLayoutManager(this);
    mRecyclerView.setLayoutManager(mLayoutManager);

    mAdapter = new RecyclerAdapter(myDataset);
    mRecyclerView.setAdapter(mAdapter);

}

private ArrayList getDataSet() {
    List books = SugarRecord.listAll(book.class);
    ArrayList mDataSet = new ArrayList();

    for (int i = 0; i < books.size(); i++) {
        mDataSet.add(i, "item" + i);
    }
    return mDataSet;
}

    


Ответы

Ответ 1



Я так понимаю надо что-то типа такого? private ArrayList getDataSet() { List books = Book.listAll(Book.class); ArrayList mDataSet = new ArrayList(); for (int i = 0; i < books.size(); i++) { mDataSet.add(books.get(i).getId()); } return mDataSet; }

Ответ 2



id Вам не нужен. Чтобы достать все записи из таблицы используйте следующий код List recordsList = Record.listAll(Record.class) Соответственно подставьте вместо Record название своего класса

Ответ 3



Sugar сам создает id. Его можно не добавлять самостоятельно. А получить id можно так: long id = book.save(); либо так: book.save(); long id = book.getId();

Комментариев нет:

Отправить комментарий