Java 如何在活动之间传递SQLDatabaseHelper对象?
我有一个对象SQLDatabaseHelper,它包含onCreate、onUpgrade和其他方法,但我不能将该对象发送到另一个活动。不要在活动之间传递它本身 1.使用 (不推荐) 2.使用像Dagger这样的依赖注入框架。大概是这样的:Java 如何在活动之间传递SQLDatabaseHelper对象?,java,android,Java,Android,我有一个对象SQLDatabaseHelper,它包含onCreate、onUpgrade和其他方法,但我不能将该对象发送到另一个活动。不要在活动之间传递它本身 1.使用 (不推荐) 2.使用像Dagger这样的依赖注入框架。大概是这样的: @Component(modules = {DbModule.class}) public interface AppComponent { @Component.Builder interface Builder { @B
@Component(modules = {DbModule.class})
public interface AppComponent {
@Component.Builder
interface Builder {
@BindsInstance
Builder application(Application application);
AppComponent build();
}
void inject(MainActivity mainActivity);
}
@Module
public class DbModule {
@Provides
@Singleton
public static SQLDatabaseHelper dbHelper() {
//create your helper here
}
}
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
Injector.init(this);
}
}
public class Injector {
private static AppComponent appComponent;
public static void init(Application app) {
appComponent = DaggerAppComponent
.builder()
.application(app)
.build();
}
public static AppComponent appComponent() {
return appComponent;
}
}
public class MainActivity {
protected void onCreate() {
Injector.appComponent().inject(this);
}
}
@Component(modules = {DbModule.class})
public interface AppComponent {
@Component.Builder
interface Builder {
@BindsInstance
Builder application(Application application);
AppComponent build();
}
void inject(MainActivity mainActivity);
}
@Module
public class DbModule {
@Provides
@Singleton
public static SQLDatabaseHelper dbHelper() {
//create your helper here
}
}
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
Injector.init(this);
}
}
public class Injector {
private static AppComponent appComponent;
public static void init(Application app) {
appComponent = DaggerAppComponent
.builder()
.application(app)
.build();
}
public static AppComponent appComponent() {
return appComponent;
}
}
public class MainActivity {
protected void onCreate() {
Injector.appComponent().inject(this);
}
}