如何使用Sugar ORM?

时间:2015-08-22 11:44:33

标签: android database sugarorm

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

例如,当我创建模型时,我接受错误导致类SugarRecord不存在

3 个答案:

答案 0 :(得分:2)

您可以在Getting started documentation中找到所有信息。对于maven存储库,请参阅here

答案 1 :(得分:2)

您可以按照此网站中的简单步骤操作: 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>
&#13;
&#13;
&#13;

然后所有对象类都必须扩展SugarRecord。

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

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

我希望它可以帮到你。

答案 2 :(得分:1)

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

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

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

<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