I guess you gave the obvious answer yourself: Don't hardcode the name. Use a variable, maybe a system setting or something from a config file that can be accessed by all your apps and put an if/else block in your provider....
Greetings from Berne, Stephan On 31 Dez., 01:05, barry <[email protected]> wrote: > I have an app that uses a ContentProvider to serve data instead of > directly accessing the database. The application is working as > expected but I have a problem with unit tests: how can I force the > ContentProvider to use a test database rather than a 'live' one? If I > wasn't using a ContentProvider I could pass a different database name > to the Constructor of my `SQLiteOpenHelper` sublass, but now the > database is created with a call to onCreate() in my ContentProvider: > > @Override > public boolean onCreate() > { > UKMPGDataProvider.init(getContext(), Constants.DATABASE_NAME); > return (UKMPGDataProvider.getWritableDatabase() == null) ? > false : > true; > } > > As you can see, the database name is hardcoded. > > Is there a way to pass a test name into the ContentProvider? -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

