私はホーム画面ウィジェットを開発していて、androidsqliteデータベースを使用しています。DBAdapter
データベース作業を処理するために、単純なメソッド(add、remove、get records ...)を使用して単純なクラスを実装しました。それは機能しますが、今私はそれを行うための最良の方法を考えています。
私にとって最大の問題は、DBAdapterのインスタンスをどのように(そしてどこに)保存するかです。Activityを使用した場合、それは非常に簡単です。メソッドでDBAdapterのインスタンスを作成しonCreate
、すべてが正常です。しかし、私が使用しているので、今はそのようなオプションがありませAppWidgetProvider
んIntentServices
。(BroadcastReceiver)は、メソッドAppWidgetProvider
の実行中の特定の時間のみ存続します。また、必要な作業を終えた後に「終了」します。では、DBAdapterのインスタンスをどこにどのように保存するのでしょうか。DBAdapterの新しいインスタンスを毎回作成したくありません。onReceive
IntentService
私はこのオプションについて考えていました:DBAdapterシングルトンクラスを作成するか、静的クラスとメソッドを使用します。別のオプションは、Gsonを使用してDBAdapterをsharedPreferencesに格納するか、シリアル化を使用することです。しかし、私はむしろ尋ねたいと思います。これを行う正しい方法は何ですか?ありがとう