@Override public void onClick(View view) { int result = 0; switch (view.getId()) { case R.id.sum_btn1: result = LitePal.sum(Singer.class, "age", Integer.TYPE); mResultText.setText(String.valueOf(result)); break; case R.id.sum_btn2: try { result = LitePal.where("age > ?", mAgeEdit.getText().toString()).sum( Singer.class, "age", Integer.TYPE); mResultText.setText(String.valueOf(result)); } catch (Exception e) { e.printStackTrace(); } break; default: } }
@Override public void onClick(View view) { int result = 0; switch (view.getId()) { case R.id.max_btn1: result = LitePal.max(Singer.class, "age", Integer.TYPE); mResultText.setText(String.valueOf(result)); break; case R.id.max_btn2: try { result = LitePal.where("age < ?", mAgeEdit.getText().toString()).max( Singer.class, "age", Integer.TYPE); mResultText.setText(String.valueOf(result)); } catch (Exception e) { e.printStackTrace(); } break; default: } }
@Override public void onClick(View view) { int result = 0; switch (view.getId()) { case R.id.min_btn1: result = LitePal.min(Singer.class, "age", Integer.TYPE); mResultText.setText(String.valueOf(result)); break; case R.id.min_btn2: try { result = LitePal.where("age > ?", mAgeEdit.getText().toString()).min( Singer.class, "age", Integer.TYPE); mResultText.setText(String.valueOf(result)); } catch (Exception e) { e.printStackTrace(); } break; default: } }
@Override public void onClick(View view) { double result = 0; switch (view.getId()) { case R.id.avg_btn1: result = LitePal.average(Singer.class, "age"); mResultText.setText(String.valueOf(result)); break; case R.id.avg_btn2: try { result = LitePal.where("age > ?", mAgeEdit.getText().toString()).average( Singer.class, "age"); mResultText.setText(String.valueOf(result)); } catch (Exception e) { e.printStackTrace(); } break; default: } }
@Override public void onClick(View view) { int result = 0; switch (view.getId()) { case R.id.count_btn1: result = LitePal.count(Singer.class); mResultText.setText(String.valueOf(result)); break; case R.id.count_btn2: try { result = LitePal.where("age > ?", mAgeEdit.getText().toString()).count( Singer.class); mResultText.setText(String.valueOf(result)); } catch (Exception e) { e.printStackTrace(); } break; default: } }
@Test public void testSum() { int result = LitePal.sum(Student.class, "age", Integer.TYPE); int realResult = -100; Cursor cursor = LitePal.findBySQL("select sum(age) from " + studentTable); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); result = LitePal.where("age > ?", "15").sum(studentTable, "age", Integer.TYPE); cursor = LitePal.findBySQL("select sum(age) from " + studentTable + " where age > ?", "15"); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); }
@Test public void testMax() { int result = LitePal.max(Student.class, "age", Integer.TYPE); int realResult = -100; Cursor cursor = LitePal.findBySQL("select max(age) from " + studentTable); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); result = LitePal.where("age < ?", "20").max(studentTable, "age", Integer.TYPE); cursor = LitePal.findBySQL("select max(age) from " + studentTable + " where age < ?", "20"); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); }
@Test public void testMin() { int result = LitePal.min(Student.class, "age", Integer.TYPE); int realResult = -100; Cursor cursor = LitePal.findBySQL("select min(age) from " + studentTable); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); result = LitePal.where("age > ?", "10").min(studentTable, "age", Integer.TYPE); cursor = LitePal.findBySQL("select min(age) from " + studentTable + " where age > ?", "10"); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); }
@Test public void testCount() { int result = LitePal.count(Student.class); int realResult = -100; Cursor cursor = LitePal.findBySQL("select count(1) from " + studentTable); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); result = LitePal.where("id > ?", "99").count(studentTable); cursor = LitePal.findBySQL("select count(1) from " + studentTable + " where id > ?", "99"); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); try { LitePal.count("nosuchtable"); fail(); } catch (Exception e) { } }
@Test public void testMarkAsDeleted() { List<Student> students = new ArrayList<>(); for (int i = 0; i < 5; i++) { Student s = new Student(); s.setName("Dusting"); s.setAge(i + 10); students.add(s); } LitePal.saveAll(students); List<Student> list = LitePal.where("name=?", "Dusting").find(Student.class); assertTrue(list.size() >= 5); LitePal.deleteAll(Student.class, "name=?", "Dusting"); list = LitePal.where("name=?", "Dusting").find(Student.class); assertEquals(0, list.size()); LitePal.saveAll(students); list = LitePal.where("name=?", "Dusting").find(Student.class); assertEquals(0, list.size()); LitePal.markAsDeleted(students); LitePal.saveAll(students); list = LitePal.where("name=?", "Dusting").find(Student.class); assertEquals(5, list.size()); }
@Test public void testEagerClusterQuery() { resetData(); List<Student> sList = LitePal.where("id = ?", String.valueOf(student1.getId())).find( Student.class); assertEquals(1, sList.size()); Student s = sList.get(0); assertNull(s.getClassroom()); sList = LitePal.where("id = ?", String.valueOf(student1.getId())).find(Student.class, true); assertEquals(1, sList.size()); s = sList.get(0); assertNotNull(s.getClassroom()); Classroom c = s.getClassroom(); assertEquals("Classroom 11", c.getName()); }
@Test public void testSaveAllWithO2O() { List<IdCard> idcardList = new ArrayList<IdCard>(); List<Student> studentList = new ArrayList<Student>(); for (int i = 0; i < 50; i++) { IdCard idcard = new IdCard(); idcard.setNumber(String.valueOf(new Random().nextInt(2000000))); Student student = new Student(); student.setName("Jim"); student.setAge(new Random().nextInt(20)); student.setIdcard(idcard); idcardList.add(idcard); studentList.add(student); } LitePal.saveAll(idcardList); LitePal.saveAll(studentList); for (Student student : studentList) { List<IdCard> result = LitePal .where(studentTable + "_id=?", String.valueOf(student.getId())).find(IdCard.class); assertEquals(1, result.size()); } }
@Test public void testAverage() { double result = LitePal.average(Student.class, "age"); double realResult = -100; Cursor cursor = LitePal.findBySQL("select avg(age) from " + studentTable); if (cursor.moveToFirst()) { realResult = cursor.getDouble(0); } cursor.close(); assertEquals(realResult, result); result = LitePal.where("id > ?", "99").average(studentTable, "age"); cursor = LitePal.findBySQL("select avg(age) from " + studentTable + " where id > ?", "99"); if (cursor.moveToFirst()) { realResult = cursor.getDouble(0); } cursor.close(); assertEquals(realResult, result); try { LitePal.average(Student.class, "nosuchcolumn"); fail(); } catch (Exception e) { e.printStackTrace(); } }
@Test public void testSaveAllWithM2OOnManySide() { Classroom classroom = new Classroom(); classroom.setName("English room"); List<Student> studentList = new ArrayList<Student>(); for (int i = 0; i < 50; i++) { Student student = new Student(); student.setName("Tom"); student.setAge(new Random().nextInt(20)); student.setClassroom(classroom); studentList.add(student); } LitePal.saveAll(studentList); classroom.save(); List<Student> list = LitePal.where(classroomTable + "_id = ?", String.valueOf(classroom.get_id())).find(Student.class); assertEquals(50, list.size()); }
@Test public void testSaveAllWithM2OOnOneSide() { Classroom classroom = new Classroom(); classroom.setName("Music room"); for (int i = 0; i < 50; i++) { Student student = new Student(); student.setName("Tom"); student.setAge(new Random().nextInt(20)); classroom.getStudentCollection().add(student); } LitePal.saveAll(classroom.getStudentCollection()); classroom.save(); List<Student> list = LitePal.where(classroomTable + "_id = ?", String.valueOf(classroom.get_id())).find(Student.class); assertEquals(50, list.size()); }
@Test public void testWhere() { List<Book> books = LitePal.where("bookname = ?", "Android First Line").find(Book.class); Book firstBook = LitePal.where("bookname = ?", "Android First Line").findFirst(Book.class); Book lastBook = LitePal.where("bookname = ?", "Android First Line").findLast(Book.class); for (int i = 0; i < books.size(); i++) { Book book = books.get(i); List<Book> realBooks = LitePal.where("bookname like ?", "Android%Line") .find(Book.class); assertEquals(expectedBooks.size(), realBooks.size());
@Test public void testSaveIfExists() { String serial = UUID.randomUUID().toString(); Cellphone cell = new Cellphone(); cell.setBrand("iPhone"); cell.setPrice(4998.01); cell.setInStock('Y'); cell.setSerial(serial); assertTrue(cell.saveIfNotExist("serial = ?", serial)); Cellphone cell2 = new Cellphone(); cell2.setBrand("Android"); cell2.setPrice(1998.01); cell2.setInStock('Y'); cell2.setSerial(serial); assertFalse(cell.saveIfNotExist("serial = ?", serial)); List<Cellphone> cellphoneList = LitePal.where("serial = ?", serial).find(Cellphone.class); assertEquals(1, cellphoneList.size()); }
/** * 检查数据库里是否已经存在该视频信息,如果没有则添加,如果有则更新 * * @param video * @return */ private void check(Video video) { List<Video> videos = LitePal.where("path = ?", video.getPath()).find(Video.class); if (videos.size() > 0) { video.update(video.getId()); } else { video.save(); } }
List<Video> list = LitePal.where("path = ?", video.getPath()).find(Video.class); if(list.size()>0){