Sugar ORM:AndroidでSQLiteデータベースを使用する簡単な方法。



Sugar Orm An Easy Way Use Sqlite Database Android



Android SQLiteデータベースをしばらく使用している場合は、次のことに気付くでしょう。セットアップに時間がかかり、多くの定型コードが必要です。

私は最近発見しました シュガーORM 、SQLiteデータベースの操作を非常にシンプルで時間のかからない素晴らしいライブラリです。



あなたがまだ知らなかった場合には、 ヘビ (オブジェクトリレーショナルマッパー)を使用すると、データをオブジェクトとして表現し、それらのオブジェクトをリレーショナルデータベースに永続化して、データの変換を自動的に処理できます。

Gradle経由でSugarORMをインストールするには、次の行をモジュールレベルのgradle依存関係に追加し、プロジェクトを同期します。



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

執筆時点では、現在のバージョンは1.5です。

Sugar ORMでは、最小限のマニフェストファイル構成が必要です。 applicationタグのandroidname属性を変更して、アプリケーションクラスとして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>

Sugar ORMを使用する場合、保持するすべてのデータモデルまたはクラスは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 } }

すべての設定が完了したら、モデルの操作を開始できます。

新しいレコードを挿入する

public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) Developer developer = new Developer('Kwabena', 'Berko', 'JavaScript') developer.save() } }

新しいレコードを挿入すると、SugarORMは自動的に自動インクリメントIDフィールドを追加します。

IDで既存のレコードを選択する

Developer developer = Developer.findById(Developer.class, 1) // 1 is the record's id. Log.v('RESULTS', developer.getId() + ', ' + developer.getFirstname() + ', ' + developer.getLastname() + ', ' + developer.getFavouriteLanguage() )

既存のレコードを更新する

Developer developer = Developer.findById(Developer.class, 1) developer.setFavouriteLanguage('Golang') developer.save()

すべてのレコードを選択する

List<Developer> developers = Developer.listAll(Developer.class) for(Developer developer : developers){ Log.v('RESULTS', developer.getId() + ', ' + developer.getFirstname() + ', ' + developer.getLastname() + ', ' + developer.getFavouriteLanguage() ) }

既存のレコードを削除する

Developer developer = Developer.findById(Developer.class, 1) developer.delete()

ハッピーコーディング!

差出人:https://dev.to//kwabenberko/sugar-orm-an-easier-way-to-work-with-sqlite-databases-in-android-cpg