前提・実現したいこと
Android StudioでJavaを使ってアプリを制作しております。
SQLiteを実行する際に、
非同期で処理が行えるようにしたいと考え、
(API28でもdeprecatedにならない)android.support.v4.content.AsyncTaskLoaderを使った形で
AsyncTaskLoaderを使おうと考えました。
しかし、特に下記のgetLoaderManagerと書いた場所でエラーが出るのですが、
直す方法がわからず、困っております。
java
1//この書き方だと、 2//「getLoaderManager」がdeprecatedと表示されてしまいます。 3getLoaderManager().initLoader(0, null,【--使用するcallback名--】);
java
1//この書き方だと、 2//「getSupportLoaderManager」が赤文字のエラーになってしまいます。 3//(エラーは「cannot resolved method」) 4getSupportLoaderManager().initLoader(0, null,【--使用するcallback名--】);
発生している問題
非同期処理を行うために、
AsyncTaskLoaderを使おうと考えたのですが、
android.content.AsyncTaskLoaderを使用する形にすると
API28ではdeprecatedになってしまうということがわかりました。
https://developer.android.com/reference/android/content/AsyncTaskLoader
そのため、こちらの
android.support.v4.content.AsyncTaskLoaderを使い
非同期処理を行おうと考えました。
https://developer.android.com/reference/android/support/v4/content/AsyncTaskLoader
しかし、
エラーが出てしまい、直し方がわからず、ここ数日悩んでいる状態です。
(現状コードのサンプルの一部を、下記に添付させていただきます)
Java
1import android.app.Activity; 2import android.os.Bundle; 3import android.support.v4.app.LoaderManager; 4import android.support.v4.content.Loader; 5 6public class MainActivity extends Activity { 7 8 @Override 9 protected void onCreate(Bundle savedInstanceState) { 10 super.onCreate(savedInstanceState); 11 setContentView(R.layout.activity_main); 12 13 LoaderManager.LoaderCallbacks AsyncDatabaseLoader = new LoaderManager.LoaderCallbacks() { 14 15 @Override 16 public Loader onCreateLoader(int id, Bundle args) { 17 18 //データベース関連の処理をここで行う 19 20 return null; 21 } 22 23 @Override 24 public void onLoadFinished(Loader loader, Object data) { 25 26 } 27 28 @Override 29 public void onLoaderReset(Loader loader) { 30 31 } 32 33 }; 34 35 //ここの「getSupportLoaderManager」が赤文字のエラーになってしまいます。(エラーは「cannot resolved method」) 36 getSupportLoaderManager().initLoader(0, null, AsyncDatabaseLoader); 37 //この書き方に変えると、「getLoaderManager」がdeprecatedと表示されてしまいます。 38 getLoaderManager().initLoader(0, null, AsyncDatabaseLoader); 39 40 } 41}
補足情報(FW/ツールのバージョンなど)
MacOS High Sierraにて制作
Android Studio 3.1.4
compileSdkVersionとtargetSdkVersionは28で試しています。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/30 06:52 編集
2018/08/30 14:49