草庐IT

android - greendao listview 实体中的所有数据

绿色道。有一种简单的方法可以在ListView中显示实体中的所有记录,并支持自动更新列表。也许是Lazylist类?如何使用? 最佳答案 看看here.我也在使用这样的适配器(包括ViewHolder-Pattern以重用ListView内的View),即使对于大量记录,它也很快。但如果您需要自动更新功能,这将无法使用。这里有一些关于LasyList的信息来解释原因:使用Query.listLazy()获取LazyList:这不会自动显示新插入的记录(或停止显示已删除的记录),因为记录缓存在内存中。因此更新将不可见,因为记录不会被查

android - 如何使用 Sugar ORM 的 count() 方法?

我的Android应用程序中有一个Email_Message类,用于存储电子邮件消息。它有一个名为“messageType”的int字段。messageType==1表示它是收件箱电子邮件,messageType==2表示它是已发送电子邮件。我刚开始使用SugarORM,我想在一个类中检查我在数据库中存储了多少收件箱电子邮件。更准确地说,我想检查我是否有存储在那里的收件箱电子邮件,决定我是否需要从网络或数据库中获取电子邮件。但如果陈述句有效,我无法做到这一点:if((int)Email_Message.count(Email_Message.class,"messageType=?",

android - 如何在执行 InsertOrReplace 时解决 greenDAO "No such table exists error"?

我正在使用greenDAO,我已经成功生成了所有必要的类和实体,我可以看到我的表已经创建,但是在要替换的行上放置断点后,我收到一条错误消息,告诉我“没有这样的表存在错误".try{appTimeUsageDao.insertOrReplace(appStats);//}catch(DaoExceptione){}catch(Exceptione){Log.e("Error","Someexceptionoccurred",e);Log.e("APP_TAG",Log.getStackTraceString(e));} 最佳答案 对我

android - 在 Room ORM 中批量插入或更新

我正在尝试使用androidroomORM。许多ORM都有这种方法insertOrUpdate方法。我如何实现这一目标?我想在单个事务中插入或更新多行,即,如果存在行则更新它,否则插入一个新条目。 最佳答案 您可以使用conflictresolutionsettoreplace进行插入:@DaopublicinterfaceMyDao{@Insert(onConflict=OnConflictStrategy.REPLACE)publicvoidinsertUsers(User...users);}请注意(来自Roomdocumen

android - OrmLite 和 greenDAO 是否在后台线程中执行查询并将结果部分加载到内存中?

为了避免阻塞主/UI线程,AndroidAPI提供了Loader用于访问数据库。为了节省内存(RAM),API不会将整行(结果)加载到内存中,这样我们就可以拥有一个包含如此多项目的ListView而不会出现内存不足的情况。做OrmLite&greenDAO提供这两种能力?如果没有,是否有任何方法可以执行异步查询和部分加载和交换以将大量数据填充到ListView中? 最佳答案 我认为ORM框架不提供仅加载行部分的能力。使用greendao,您可以在Query上使用listLazy()从数据库延迟加载实体。与“预取”所有实体相比,这带来

android - 如何使用 Mockito 在 android 中正确测试 ORM?

我是Android中Mockito测试的新手,不了解如何测试数据源方法。我使用在应用程序的应用程序类中初始化的RushOrm:AndroidInitializeConfigconfig=newAndroidInitializeConfig(getApplicationContext());List>classes=newArrayList();classes.add(CardCollection.class);classes.add(Note.class);config.setClasses(classes);RushCore.initialize(config);我的数据源类是这样的

android - greendao 中主键短时出现 ClassCastException

我创建了一个只需要通过Short来标识的实体。这是我生成的代码:publicSource(Shortid,Stringname){this.id=id;this.name=name;}测试代码DatabaseHelperTest.java:publicvoidtestInsertAndLoad(){Sourcesource=newSource((short)0,"TestSource");SourceDaosourceDao=daoSession.getSourceDao();//#line26sourceDao.insert(source);Shortid=source.getId(

android - 如何使用带有@Table注解的satyan的Sugar ORM

我对Android版SugarOrm非常满意,但我遇到了一个问题。我将它与GSON一起用于Json序列化,我想摆脱SugarRecord的id属性。我知道我应该使用@Table注释,然后使用@Expose从序列化中排除特定字段,但是在使用@Table注释类之后我不能使用.save(),delete(),...对象上的方法,就像扩展SugarRecord的情况一样。我不知道如何使用@Table注释来持久化对象。我找到了documentationhere非常有限。 最佳答案 文档尚未针对基于注释的持久性进行更新。方法save()、del

android - 如何将 ActiveAndroid ORM 添加到 Gradle?

我正在构建一个Android应用程序,我想在其中使用ActiveAndroidORM.在自述文件中,我阅读了有关如何将其包含在Maven或ADT中的说明,但我正在使用/尝试通过Gradle学习AndroidStudio。所以我想我需要插入ActiveAndroid作为依赖项。在我的build.gradle文件中,这些行:dependencies{compile'com.android.support:appcompat-v7:+'}我真的不知道我应该使用什么样的字符串/url以便Gradle可以自动找到ActiveAndroid并将其编译到我的项目中。Sicne我有点迷路了;任何人都可

android - 无法实例化 Sugar ORM 数据库

我已经将最新版本的androidSugarORM库导入到eclipse中,并从我的项目中引用了它。我在list中添加了以下元标记:这是我的POJO对象:publicclassEventextendsSugarRecord{intid;LatLnglatLng=newLatLng(0,0);Stringname;LongstartTime=newLong(0);booleanisSelected=false;booleanisCheckedIn=false;publicEvent(){}publicEvent(intid,Stringname,LatLnglatLng){startTim