Sobes.tech
Middle+

Kuidas luua oma WorkManager Androidis?

sobes.tech AI

Vastus AI-lt

  1. Looge Configuration:

    Configuration myConfig = new Configuration.Builder()
        .setMinimumLoggingLevel(android.util.Log.DEBUG)
        // lisage muud seaded
        .build();
    
  2. Rakendage Configuration.Provider oma Application klassis:

    import androidx.work.Configuration;
    import androidx.work.WorkManager;
    
    public class MyApp extends Application implements Configuration.Provider {
    
        @Override
        public Configuration getWorkManagerConfiguration() {
            return new Configuration.Builder()
                .setMinimumLoggingLevel(android.util.Log.DEBUG)
                // Seadistage Executor, kui vaja
                // .setExecutor( Executors.newFixedThreadPool(8))
                .build();
        }
    
        @Override
        public void onCreate() {
            super.onCreate();
            // WorkManageri initsialiseerimine toimub automaatselt
            // või kui kutsute WorkManager.getInstance(this)
        }
    }
    
  3. Märkige oma Application klass manifestis:

    <application
        android:name=".MyApp"
        ... >
        </application>
    

Nüüd kasutab WorkManager teie kohandatud konfiguratsiooni initsialiseerimisel.

Alternatiivne võimalus (täpsema kontrolli jaoks):

  1. Rakendage Configuration.Provider eraldi klassis, mis ei ole Application.

  2. Teie Application klassis ülekirjutage meetod onCreate() ja kutsuge käsitsi välja WorkManager.initialize():

    import androidx.work.Configuration;
    import androidx.work.WorkManager;
    
    public class MyApp extends Application {
    
        @Override
        public void onCreate() {
            super.onCreate();
            WorkManager.initialize(this, new Configuration.Builder()
                .setMinimumLoggingLevel(android.util.Log.DEBUG)
                // muud seaded
                .build());
        }
    }
    

See lähenemine ei ole soovitatav, kui muudate ainult standardvalikuid. Configuration.Provider on lihtsam ja õigem lahendus enamikul juhtudel.