私が作成したオブジェクトがあるとします。と呼びますMyObject。
MyObjectデータベースの対応するテーブルに保存できるようにしたいと思います。Activityのメインスレッドでこれが発生しないようにします。簡単です。これを行うために を作成しましたAsyncTask。
ただし、私のアプリケーションにはIntentService、デバイスのデータベースとクラウド データベースの間でデータを同期するために使用されるものもあります。MyObjectクラウドからデバイスのデータベースに同期した もここから保存したいと思います。ただし、これが で非同期に発生することは望ましくありませんIntentService。IntentServiceのメインスレッドで発生させたいです。
目的は明らかに、このコードをモジュール化して、複製する必要がないようにすることです。
セーブ コードをモジュール化して、非同期と同期の両方で呼び出せるようにするにはどうすればよいですか?
saveMe()内にメソッドを作成し、MyObjectそれを と宣言すると思いますstatic。から、IntentService単に を呼び出しますsaveMe()。からActivityを起動し、AsyncTaskを渡し、MyObjectを呼び出しますsaveMe()。そうですか?