问题标签 [sugarorm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 使用 Sugar ORM 保存图像
所以,我有一个要保存和加载的位图图像。保存时,我首先将其转换为 byte[] 值,然后使用 save(); 保存它。当我尝试通过检查它的字符串值(以检查是否为空)来检查它是否有效时,我得到如下信息:“[B@16166c9a” 然后,我将它转回位图值,但在这样做之后,位图值仍然为空。
这是我用来保存的代码:
这是我用来加载的代码:
这是实用程序类:
其余代码可在此处获得:
https://github.com/smholsen/BigDayCountdown/tree/master/app/src/main/java/com/simonm/bigdaycountdown
很抱歉代码混乱和评论不好。
我非常感谢任何帮助!:)
android - SugarORM 1.4 入门
我试图弄清楚如何使用 SugarORM(1.4 版,使用 Gradle 导入)。
我有一个带有public String name
字段的简单对象,等等。
我用该名称构造了那个简单的对象,并像这样(使用TEST_TYPE
随机字符串)保存它:
我的日志现在显示 id=14,所以我认为写作没问题。
但是当我想阅读时,没有任何意义:
CustomObject.count(CustomObject.class)
返回 14CustomObject.findById(CustomObject.class, 2)
返回空CustomObject.first(CustomObject.class)
返回空CustomObject.find(LifeEventType.class, "NAME = ?", new String[]{TEST_TYPE})
返回空
我不知道它是否相关,但我在警告日志中得到了这个异常:(
java.lang.NoSuchMethodException: <init> at com.orm.SugarRecord.find(SugarRecord.java:196)
对于像我这样的菜鸟来说,代码太高级了......)
我究竟做错了什么 ?
android - android:糖 orm 库数据库迁移不起作用
我有 db.sql 包含书名和作者。基于这些文档,我制作了 1.sql 并将此代码复制到:
并更改清单:
但是当应用程序启动时强制关闭。我更改了第 2 版和第 3 版,但是当开始时,我想要 slectall 书什么都没有显示 :(
android - SugarORM 在创建对象时定义 ID
我有一个非常简单的对象,如下所示:
我希望给定的 ID 是主键,我不希望 SugarORM 自动生成新 ID。有可能做这样的事情吗?...听起来很简单,但我无法弄清楚...
android - Sugar ORM 在更新数据库时删除一列
我在我的项目中使用 Sugar ORM。我需要在下一个应用程序版本的 sqlite 表中删除一列。我已经查看了有关 Sugar ORM 迁移的文档,但我找不到在其中删除列的方法。
android - 如何使用 Sugar orm 创建多个数据库表
我需要两个数据库表,但我正在使用Sugar-ORM
所有DB
事务来存储数据。
这是现有metadata
的 in AndroidManifest.xml
:
请为此提供解决方案。
android - 使用 Retrofit+GSON+SugarORM 时出现长 id 问题
根据本教程,我正在使用 Retrofit 和 GSON 获取 JSON 并将其序列化为 POJO 。一切正常。为了将实例保存到 SQLite 数据库中,我使用了 Sugar ORM。我的 POJO 有字段 - 整数 ID。
Sugar ORM 要求 Integer id 应该是 Long。我说好的,把它弄长了。当我运行我的应用程序时,会出现此错误:
01-18 06:03:44.436 4498-4498/uz.cp.retrofitsandbox E/AndroidRuntime: 致命异常: 主进程: uz.cp.retrofitsandbox, PID: 4498 java.lang.RuntimeException: 无法启动活动 ComponentInfo{uz. cp.retrofitsandbox/uz.cp.retrofitsandbox.MainActivity}:java.lang.IllegalArgumentException:无法在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 在 android.app.ActivityThread.access$800(ActivityThread.java:144) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5221) 在 java.lang.reflect.Method.invoke(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit. java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 原因:java.lang.IllegalArgumentException:无法为方法 GitApiInterface 的 uz.cp.retrofitsandbox.GitResult 类创建转换器。getUsersNamedTom 在 retrofit.Utils.methodError(Utils.java:201) 在 retrofit.MethodHandler.createResponseConverter(MethodHandler.java:67) 在 retrofit.MethodHandler.create(MethodHandler.java:32) 在 retrofit.Retrofit.loadMethodHandler(Retrofit.java :138) 在 retrofit.Retrofit$1.invoke(Retrofit.java:127) 在 java.lang.reflect.Proxy.invoke(Proxy.java:397) 在 $Proxy0.getUsersNamedTom(Unknown Source) 在 uz.cp.retrofitsandbox.MainActivity.onCreate(MainActivity.java:27) 在 android.app.Activity.performCreate(Activity.java:5933) 在 android.app.Instrumentation。 callActivityOnCreate(Instrumentation.java:1105) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) ...10 更多原因:java.lang.IllegalArgumentException: class uz.cp.retrofitsandbox.Item 在 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:146) 在 com.google 声明多个名为 id 的 JSON 字段.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:83) 在 com.google.gson.Gson.getAdapter(Gson.java:359) 在 com.google.gson.internal.bind.CollectionTypeAdapterFactory。create(CollectionTypeAdapterFactory.java:52) at com.google.gson.Gson.getAdapter(Gson.java:359) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter(ReflectiveTypeAdapterFactory.java:122) at com.google .gson.internal.bind.ReflectiveTypeAdapterFactory.access$100(ReflectiveTypeAdapterFactory.java:46) 在 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.(ReflectiveTypeAdapterFactory.java:92) 在 com.google.gson.internal.bind。ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:91) 在 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:142) 在 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java: 83) 在 com.google.gson.Gson.getAdapter(Gson.java:359) 在 retrofit.GsonConverterFactory.get(GsonConverterFactory.java:50) 在 retrofit.Utils.resolveConverter(Utils.java:72) 在改造.MethodHandler.createResponseConverter(MethodHandler.java:65) ... 19 更多
此错误将我引导至此行(27):
所以我的问题是:为什么会发生这个错误?如何解决这个问题?
构建.gradle(应用程序)
onCreate(MainActivity.java):
GitApiInterface.java
GitResult.java
项目.java
android - 添加糖ORM 1.4依赖时出现gradle错误
将 Sugar ORM 依赖项添加到 gradle 脚本应用程序文件后
Gradle 编译了我的项目,但是一旦我尝试在物理设备中运行它(通过 Android Studio),我得到了这个错误:
错误:您的应用程序引用的方法比单个 dex 文件中的要多。见https://developer.android.com/tools/building/multidex.html
现在有错误如果我尝试使用 Sugar ORM 1.3 编译和运行应用程序
库在 1.4 版中变得如此之大以至于不再适合单个 DEX 了吗?
java - 使用 SugarORM 创建多个表会产生 IllegalStateException
我有两个课程,Inventory和Recipe。我遇到的问题是我无法将项目添加到配方表中。我收到以下错误消息:
java.lang.IllegalStateException:引起:android.database.sqlite.SQLiteException:表 RECIPE 没有名为 NAME(代码 1)的列,编译时:INSERT OR REPLACE INTO RECIPE(ID,INGREDIENTS,HOW_TO,NAME) VALUES (? ,?,?,?)
当我启动该方法时会发生这种情况,该方法goToSearchResults(View view)
位于MainActivity
.
库存如下所示:
类 Recipe 如下所示。
当我尝试将项目添加到 Inventory 表时,我使用以下两行:
这工作正常。项目以我希望的方式添加到库存中。
但是,当我尝试将项目放入配方表时,使用以下两行(在主活动中初始化)。在主要活动中,我有一个方法,这是一个用于调试目的的虚拟方法。
为什么这不起作用?对我来说,这两个类及其用法似乎彼此相同,只有一个有效。
android - 没有这样的表存在异常,Sugar ORM Android
我正在使用糖 ORM 创建一个表,但收到没有这样的表的错误。即使在 Android Manifest 中将 Version 更新为更高的值。
Android Manifest 详细信息如下