Контент-провайдер для Android с использованием ORM
public class ExampleContentProvider extends ContentProvider {
private static final String TAG = "ExampleContentProvider";
// ...
@Override
public Cursor query(Uri arg0, String[] arg1, String arg2, String[] arg3,
String arg4) {
return null;
}
// ...
}
Пример использования контент-провайдера
Session session = ExampleContentProvider.getSession();
// простейший запрос, запросить всю таблицу student.
Criteria criteria = Criteria.create(Student.class);
// добавить ограничение: id равно
criteria.add(Restrictions.eq("id", 1));
// добавить ограничение: name как Jamling
criteria.add(Restrictions.like("name", "Jaming"));
// добавить ограничение: возраст меньше 30
criteria.add(Restrictions.lt("age", 30));
// добавить порядок
criteria.addOrder(Order.asc("age"));
// установить уникальность
criteria.setDistinct(true);
// задать ограничение от строки 10 до 20
criteria.setLimit(10, 10);
List<Student> list = session.list(Student.class);
// если вы используете Android CursorAdapter, вы можете:
Cursor c = session.query(criteria);
// установить псевдоним, чтобы проект был alias.columnn. например, s.name
// criteria.setAlias("s");
// многотабличный запрос
criteria.addChild(StudentMore.class, "m", Criteria.INNER_JOIN,
Restrictions.geProperty("s.id", "m.id"));
// запрос к курсору
c = session.query(критерии);
// преобразовать в список.
List<Object[]> ret = CursorUtils.getFromCursor(c,
new Class[] { Student.class }, new String[] { "s", "m" });
// запрос ко всему списку.
ret = session.listAll(критерии);
Object[] item = ret.get(0);
Student s = (Student) item[0];
StudentMore m = (StudentMore) item[1];
//
Другие операции
Session session = ExampleContentProvider.getSession();
// вставить
Student s = new Student();
s.setName("Jamling");
long rowId = session.insert(s, null);
// обновить имя студента на Jame, чей id равен 1
s.setId(1);
s.setName("Jame");
int rows = session.update(s);
// удалить студента, чей id равен 2
session.deleteById(Student.class, 2);
// запросить студента, чей id равен 4
s = session.get(Student.class, 4);
См.: http://www.ieclipse.cn/p/Android-ORM/userguide.html
Jamling Jamling (li.jamling@gmail.com)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )