Для вашего первого вопроса,
@Dao
public interface TodoDao {
@Query( "SELECT " + Todo.COL_Item + " FROM " + Todo.TABLE_NAME + " ORDER BY "+ Todo.COL_YOUR_PRIMARY_KEY" DESC")
List<String> getAllItems();
}
Далее вы можете сделать свои столбцы уникальными, чтобы узнать, есть ли данные уже в таблице или нет.
@Entity(indices = {@Index(value = {"first_name", "last_name"},
unique = true)})
class User {
@PrimaryKey
public int id;
@ColumnInfo(name = "first_name")
public String firstName;
@ColumnInfo(name = "last_name")
public String lastName;
}
и затем вы можете вставить как,
try {
// Execute insert function
} catch (SQLiteConstraintException e) {
Toast.makeText(context, "Error inserting record", Toast.LENGTH_SHORT).show();
}