如何使用 Sugar ORM?

How to use Sugar ORM?

我正在开发一个应用程序,现在我需要在我的应用程序中使用数据库。我想使用 Sugar ORM,但我没有在 Maven 上找到 "actual" 文档和 "actual" 版本(我找到了 1.3 和 1.4 版本)。有人可以分享有关 Sugar ORM 的信息或链接吗?

例如,当我创建模型时出现错误原因class SugarRecord 不存在

您可以在 Getting started documentation. For the maven repository see here 中找到所有信息。

您可以按照本网站中的简单步骤操作: http://satyan.github.io/sugar/

我假设您使用的是 Android Studio,请将此行添加到依赖项下的 build.gradle(模块应用程序)文件中。 编译 'com.github.satyan:sugar:1.4'

然后将以下行添加到您的 AndroidManifest 文件中:

<application android:label="@string/app_name" android:icon="@drawable/icon"
android:name="com.orm.SugarApp">
.
.
<meta-data android:name="DATABASE" android:value="sugar_example.db" />
<meta-data android:name="VERSION" android:value="2" />
<meta-data android:name="QUERY_LOG" android:value="true" />
<meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.example" />
.
.
</application>

那么你所有的对象 类 都必须扩展 SugarRecord。

当您创建新对象时,它会自行创建实体。 记住要添加一个空的构造函数,因为出于某种原因,如果你没有它就不会存储它。还请记住添加所需的权限,以防您从互联网上读取 JSON 服务。 创建对象后,可以使用 .save() 将其存储在数据库中,但是更新时使用 .commit()

官方步骤在他们的网站上: http://satyan.github.io/sugar/getting-started.html

希望对你有所帮助

首先通过将下面的行添加到您的模块级别 gradle 依赖项来安装 sugar orm,然后同步您的项目:

compile 'com.github.satyan:sugar:1.5'

然后,您必须通过更改应用程序标记中的 android 名称属性,将 SugarApp 指定为您的应用程序 class。此外,您需要包含一些关于数据库的元数据,例如数据库名称、版本等。您的清单文件应如下所示:

<application
        android:name="com.orm.SugarApp"
        android:allowBackup="true"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <meta-data android:name="DATABASE" android:value="sugar_example.db" />
        <meta-data android:name="VERSION" android:value="1" />
        <meta-data android:name="QUERY_LOG" android:value="true" />
        <meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.kwabenaberko" />
    </application>

您想要保留的所有数据模型都需要扩展 SugarRecord,并且至少有一个空的默认构造函数:

import com.orm.SugarRecord;

public class Developer extends SugarRecord{
    private String firstname;
    private String lastname;
    private String favouriteLanguage;

    public Developer(){

    }

    public Developer(String firstname, String lastname, String favouriteLanguage){
        this.firstname = firstname;
        this.lastname = lastname;
        this.favouriteLanguage = favouriteLanguage;
    }

    public String getFirstname() {
        return firstname;
    }

    public void setFirstname(String firstname) {
        this.firstname = firstname;
    }

    public String getLastname() {
        return lastname;
    }

    public void setLastname(String lastname) {
        this.lastname = lastname;
    }

    public String getFavouriteLanguage() {
        return favouriteLanguage;
    }

    public void setFavouriteLanguage(String favouriteLanguage) {
        this.favouriteLanguage = favouriteLanguage;
    }
}

然后像这样插入一条新记录:

Developer developer = new Developer("Kwabena", "Berko", "JavaScript");
developer.save();

我在 https://dev.to 上写了一篇文章,更详细地描述了 Sugar ORM 的使用: https://dev.to/kwabenberko/sugar-orm-an-easier-way-to-work-with-sqlite-databases-in-android-cpg