Articles of ormlite

Android的ORMLite示例不能编译

我一直在尝试通过ORA说的HelloAndroid的例子,但一直无法成功编译。 我遇到了DatabaseHelper类的问题。 特别是getDao()方法: /** * Returns the Database Access Object (DAO) for our SimpleData class. * It will create it or return the cached value. */ public Dao<SimpleData, Integer> getDao() throws SQLException { if (simpleDao == null) { simpleDao = getDao(SimpleData.class); } return simpleDao; } 这是我收到的编译时错误: D的types参数不能确定; typesvariablesD的上限没有唯一的最大实例com.j256.ormlite.dao.Dao,com.j256.ormlite.dao.Dao

ORMLite查询date

我试图查询low和hign值之间的date: Car car = new Car(1, "octavia"); car.setManufactured(Calendar.getInstance().getTime()); Dao<Car, Integer> carDao = getHelper().getCarDao(); carDao.create(car); QueryBuilder<Car, Integer> carQb = carDao.queryBuilder(); Calendar yesteday = Calendar.getInstance(); yesteday.add(Calendar.DATE, -1); Calendar tommorrow = Calendar.getInstance(); yesteday.add(Calendar.DATE, 1); carQb.where().between("manufactured", yesteday.getTime(), tommorrow.getTime()); PreparedQuery<Car> query = carQb.prepare(); List<Car> cars = carDao.query(query); Log.d(TAG, cars.get(0).toString()); 汽车对象看起来这样: public class Car { @DatabaseField(id = true) private int id; […]

Android上的ORMLite使用javax.persistence注释

我们已经开发了一个Web服务,现在正在构build一个Android应用程序来与Web服务进行通信。 我们在我们的Web服务中使用持久性,也想在我们的Android应用中使用持久性。 我们认为ORMLite是在Android上持久化的一种方式,我们希望javax.persistence支持对于我们的应用程序来说足够好。 我希望能够将Web服务的数据模型复制到Android应用程序,而不必修改注释。 所以我试着复制模型类,并将ormlite-android-4.41.jar和ormlite-core-4.41.jar到我的Android项目中。 不幸的是,这并没有办法。 我的IDE找不到javax.persistence注释的类path。 我需要额外的库吗? 我不能在文档中做任何事情。

Android OrmLite预填充数据库

OrmLite是否可以创build一个sql脚本文件来轻松地用数据填充数据库? 我做了一些search,不能拿出任何简单的东西。 我知道我可以用数据创build一些对象,我只是在寻找一个更清洁的方法。 我想创build一个脚本文件,加载时打开一个阅读器,并将每个文件作为原始SQL执行executeRaw()方法。 有什么想法吗?

ORMLite中的集合

你好我想在我的android应用程序中使用ORMlite保存一些集合数据。 例如 : class Person { @DatabaseField(generatedId=true) private int id; @DatabaseField private String name; @DatabaseField private String surname; @ForeignCollectionField private Collections<Phone> phones; } class Phone { @DatabaseField(generatedId=true) private int id; @DatabaseField private String number; @DatabaseField private String type; } 我应该怎么做才能坚持这个collections。 编辑 正如你告诉我的,我使用ForeignCollectionField。 但现在我还有一个问题 – 可能是这样的build设(我改变了一点) @DatabaseTable public class Student { @DatabaseField(generatedId=true) private int id; @DatabaseField […]

ORMLite – 查询外国领域

使用ORMLite for Android,我需要build立一个查询,通过订单ID或客户名称返回订单。 请考虑下面的类声明: @DatabaseTable(tableName = "order") public class Order { @DatabaseField(generatedId = true) private Long id; @DatabaseField(foreign = true, canBeNull = false, foreignAutoRefresh = true, columnName = "customer_id") private Customer customer; // default constructor, getters and setters… } @DatabaseTable(tableName = "customer") public class Customer { @DatabaseField(generatedId = true) private Long id; @DatabaseField private String […]

如何在OrmLite中创buildsqlite准备语句?

是否有可能在OrmLite中创build一个SQLite准备语句? 如果是这样,如何绑定可能在不同查询中改变的查询值。

应用程序发布崩溃,而在debugging不

我正在开发一个使用Android Studio的应用程序,当我从debugging切换到发布构build版本时,它开始崩溃。 在debugging时,它根本不会发生任何事情。 真正的问题是,我无法find真正的错误在哪里,因为每一个参考被重新命名。 你有没有遇到像这样的错误,只发生在发布 ? 打印的堆栈是这样的: 04-11 08:28:42.756 5997-5997/com.korcholis.clothio E/ActivityThread﹕ Failed to inflate android.view.InflateException: Binary XML file line #10: Error inflating class fragment at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:397) at android.view.LayoutInflater.inflate(LayoutInflater.java:353) at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267) at android.app.Activity.setContentView(Activity.java:1906) at android.support.v7.aga(Unknown Source) at android.support.v7.ana(Unknown Source) at android.support.v7.agsetContentView(Unknown Source) at com.korcholis.clothio.SampleListActivity.onCreate(Unknown Source) at android.app.Activity.performCreate(Activity.java:5207) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) at […]

Ormlite Android批量插入

任何人都可以解释为什么我的插入在Ormlite这么长时间? 在桌面上的一个sqlite事务中做1,700次插入只需要不到一秒的时间。 但是,使用Ormlite for Android时,需要大约70秒,并且可以在debugging消息中看到每个插入。 当我尝试将插入包装到一个事务中时,它将以完全相同的速度运行。 我知道Android和Ormlite都有开销,但是,我不希望它会那么好。 我的代码如下: this.db = new DatabaseHelper(getApplicationContext()); dao = db.getAddressDao(); final BufferedReader reader = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.poi))); try { dao.callBatchTasks(new Callable<Void>() { public Void call() throws Exception { String line; while ((line = reader.readLine()) != null) { String[] columns = line.split(","); Address address = new Address(); // setup Address dao.create(address); […]

ormlite将date读为'yyyy-MM-dd'

我需要读取给我的sqlite数据库,所以我不能更改表格中的date格式(yyyy-MM-dd)。 当我尝试使用ormlite为我生成对象时,使用以下注释: @DatabaseField(columnName = "REVISION_DATE", dataType = DataType.DATE_STRING) public Date revisionDate; 它给了我以下错误: java.sql.SQLException: Problems with column 3 parsing date-string '2012-05-01' using 'yyyy-MM-dd HH:mm:ss.SSSSSS' 有什么地方我可以告诉ormlite我想用“yyyy-MM-dd”作为datestring吗?