4

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

例如,当我创建一个模型时,我会出错,因为类 SugarRecord 不存在

4

3 回答 3

4

您可以在入门文档中找到所有信息。对于 Maven 存储库,请参见此处

于 2015-08-22T11:47:13.013 回答
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>

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

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

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

我希望它对你有帮助。

于 2016-03-12T22:27:54.073 回答
1

首先通过将下面的行添加到您的模块级 gradle 依赖项来安装 Sugar 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

于 2017-12-08T18:45:00.103 回答