Articles of activeandroid

Android – ORMlite与ActiveAndroid的区别?

在Android SQLite的两个ORM解决方案 – ORMlite与ActiveAndroid之间,在速度,可扩展性方面是否有任何显着差异? 第一个是免费的,第二个是商业的,因此付费。 什么是更好的使用,为什么? 谢谢 Hmyzak

Gson和Active Android:尝试序列化java.lang.Class。 忘记注册一个types适配器?

我正在使用Gson序列化Active Android模型。 模型类只包含基元,Gson应该没有问题使用默认设置序列化它。 但是,当我尝试时,我收到错误: java.lang.UnsupportedOperationException: Attempted to serialize java.lang.Class: . Forgot to register a type adapter? 我真的不想为每个模型类编写一个types适配器,我该如何解决这个问题呢?

ActiveAndroid抽象类表

有谁知道是否可以在ActiveAndroid中为抽象类创建表。 例如,我可以有一个抽象类Animal,它有两个具体的类Dog和Cat。 我希望能够做到这样的事情: List animals = new Select().from(Animals.class).execute(); 这会导致’动物’包含所有已保存的猫和狗。 要么: Animal animal = new Select().from(Animals.class).where(“name = ?”, name).executeSingle(); “动物”可以是猫还是狗。 不幸的是,当我这样做时,我得到一个exception,因为没有为抽象类Animal创建表。 有谁知道如何使用ActiveAndroid进行此操作?

为什么Active Android无法使用gradle 2.0?

我在我的应用中使用Active Android。 它工作正常,直到我将Android Studio从1.3升级到2.0。 通过此升级,我的gradle也升级到2.0,这导致Active Android出现问题。 使用gradle 2.0构建时出现此错误。 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ‘java.lang.String com.activeandroid.TableInfo.getTableName()’ on a null object reference at com.activeandroid.Cache.getTableName(Cache.java:156) at com.activeandroid.query.From.addFrom(From.java:169) at com.activeandroid.query.From.toSql(From.java:250) at com.activeandroid.query.From.execute(From.java:298) 我尝试使用gradle 1.3构建我的旧工作室它仍然正常工作。 有什么帮助吗? 当app发出上述错误时,build.gradle文件 buildscript { repositories { jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:2.0.0’ classpath ‘com.google.gms:google-services:2.0.0-beta2’ } } allprojects { repositories { jcenter() } […]

Android – 哪一个使用Active Android或Realm

我一直在使用ActiveAndroid ,我最近听说Realm是另一个不错的选择。 我正在考虑更改我的应用程序以使用Realm,但在此之前,我在寻找是否有人在这两者之间进行了性能比较。 我在realm的网站上find了一些比较,但是那些是在ORMLite和SQLite上。 任何建议表示赞赏。

ActiveAndroid多对多的关系

我目前正在使用ActiveAndroid,并一直试图获得一个多对多的关系,在过去的几个小时工作,但我不能得到它的工作。 我希望你能帮助我 我有模型“学生”和“课程”,一个学生可以有很多课程,一个课程有很多学生。 基本上这就是我在模拟“学生课程”中所拥有的: @Column(name = COURSE) public Course course; @Column(name = STUDENT) public Student student; public StudentCourse(Student student, Course course) { super(); this.student = student; this.course = course; } // public StudentCourse(){ } public List<Course> courses(){ return getMany(Course.class, "StudentCourse"); } public List<Student> students(){ return getMany(Student.class, "StudentCourse"); } 现在我想要做的是得到“所有学生在课程X”,用下面的代码: ((Student) new Select().from(StudentCourse.class).where("course = ?",selectedCourse.getId()).executeSingle()).students(); 但是,我得到以下错误: […]

如何在添加新列后使用activeandroid更新表

感谢您的阅读和帮助:) 我使用ActiveAndroid 3.0 – Android 2.2 – 在我的应用程序中,我有一个名为“用户”的模型。 最初我只创build了(ID,名称,密码)列/属性的模型,我在模拟器上运行的应用程序,它的工作。 @Table(name = "user") public class User extends Model { @Column (name = "name") public String name; @Column (name = "pass_code") public String passCode; } 然后我添加了一个新的列/属性 – profileImage。 我在模拟器上运行的应用程序,我得到SQLite列profileImage不存在的错误。 @Table(name = "user") public class User extends Model { @Column (name = "name") public String name; @Column (name […]

ActiveAndroid的SQLiteexception“没有这样的表”

我有一个active-android的问题。 我试图获取用户位置,乘客数量和总体方向。 我想使用activeAndroid将这些保存到名为“Splits”的表格中。 但是每当我调用save()方法,我都会得到一长串的错误。 我试图重新安装应用程序,并在清单中更改我的数据库名称,但这些解决scheme都没有工作。 请记住,我是编程非常新,所以如果可能的话,就像我5。谢谢你:) 这是LogCat输出 11-03 23:27:51.094 2905-2905/dk.specialisering.splitcab E/SQLiteLog﹕ (1) no such table: Splits 11-03 23:27:51.115 2905-2905/dk.specialisering.splitcab E/SQLiteDatabase﹕ Error inserting passengers=1 Id=null startLong=9.92773733 direction=North startLat=57.0487396 android.database.sqlite.SQLiteException: no such table: Splits (code 1): , while compiling: INSERT INTO Splits(passengers,Id,startLong,direction,startLat) VALUES (?,?,?,?,?) at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1118) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:691) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31) […]

在姜饼上运行时,ActiveAndroid应用程序会自动closures

我有一个与Android Studio和Gradle开发的应用程序。 该应用程序使用ActiveAndroid。 该应用程序完美的3.0和以上。 在姜饼装置上运行时,它只是打开,白色的屏幕,然后自动closures。 运行应用程序时logcat中唯一提供的线索如下: D/dalvikvm﹕ GC_CONCURRENT freed 195K, 41% free 3988K/6663K, external 1625K/2137K, paused 0ms+0ms I/dalvikvm﹕ Failed resolving Landroid/support/v4/media/TransportMediatorJellybeanMR2$1; interface 1088 'Landroid/view/ViewTreeObserver$OnWindowAttachListener;' W/dalvikvm﹕ Link of class 'Landroid/support/v4/media/TransportMediatorJellybeanMR2$1;' failed I/dalvikvm﹕ Failed resolving Landroid/support/v4/media/TransportMediatorJellybeanMR2$2; interface 1089 'Landroid/view/ViewTreeObserver$OnWindowFocusChangeListener;' W/dalvikvm﹕ Link of class 'Landroid/support/v4/media/TransportMediatorJellybeanMR2$2;' failed I/dalvikvm﹕ Failed resolving Landroid/support/v4/media/TransportMediatorJellybeanMR2; interface 180 'Landroid/media/RemoteControlClient$OnGetPlaybackPositionListener;' W/dalvikvm﹕ Link of class 'Landroid/support/v4/media/TransportMediatorJellybeanMR2;' […]

主动Android多对多的关系

虽然这个问题是关于ActiveAndroid的,任何熟悉ORM的人都可以回答这个问题。 ActiveAndroid似乎没有给你一个方法来做多对多的开箱即用的关系。 我在search解决scheme时发现的是这个GitHub问题: https : //github.com/pardom/ActiveAndroid/issues/46 我明白,这是明确创build关系表,但我不明白如何下面的部分应该做任何有用的事情: public List<Foo> foos() { return getMany(Foo.class, "FooBar"); } public List<Bar> bars() { return getMany(Bar.class, "FooBar"); } 这将导致像SELECT * FROM Foo where Foo.FooBar = FooBar.Id;这样的查询SELECT * FROM Foo where Foo.FooBar = FooBar.Id; 。 这将最多返回一个Foo行。 我错过了什么吗? 你不需要一个涉及连接的查询吗?