2015-08-22 26 views
1

我正在開發一個應用程序,現在我需要在我的應用程序中使用數據庫。我想使用Sugar ORM,但是我沒有在Maven上找到「實際」文檔和「實際」版本(我發現1.3和1.4版本)。有人可以分享關於Sugar ORM的信息或鏈接嗎?如何使用Sugar ORM?

例如,當我創建了一個模型,我採取的錯誤原因類SugarRecord不存在

+0

如果SugarRecord類不存在,問題可能是在你的班上一個錯誤的庫中導入或缺少'import'聲明(你指SugarRecod) – lifeisfoo

回答

2

您可以找到Getting started documentation所有信息。有關Maven存儲庫,請參閱here

+0

我用過它,但是花了很多錯誤。它適用於版本1。3 我的意思版本的連接庫項目從Maven倉庫 –

+0

throught gradle這個也許你應該使用1.3版本,因爲[1.4是在β(https://github.com/satyan/sugar/releases),並一如既往,主要文件談到最新的穩定版本。 – lifeisfoo

+0

我已經創建了這個veriosn。但採取錯誤: 錯誤:(7,9)屬性應用@圖標值=(@ mip映射/圖標)從AndroidManifest.xml中:7:9 –

2

您可以按照簡單的步驟,在這個網站: http://satyan.github.io/sugar/

我假設你正在使用Android Studio中,這條線添加到您的build.gradle(模塊APP)下的依賴文件。 編譯 'com.github.satyan:糖: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()將其存儲在DATEBASE,但是當你更新使用.commit()

的公報步驟是在他們的網站: http://satyan.github.io/sugar/getting-started.html

我希望它能幫助你。

1

首先通過將線安裝糖ORM下面你到你的模塊級的gradle產出依賴關係,然後同步您的項目:

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

然後,您必須通過更改Android的名稱來指定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,描述更爲詳細講述了用糖ORM的: https://dev.to/kwabenberko/sugar-orm-an-easier-way-to-work-with-sqlite-databases-in-android-cpg

相關問題