Thanks for your prompt answer Brion, Managed to put the time consuming portion of the code in an AsyncTask inside the ContentProvider. It seems to be doing the job, my main activity is not hanging.
Now I have two questions which I need to answer: (1) Is this a correct usage of the API? i.e. is it ok to use an AsyncTask inside the ContentProvider? (2) Is there a way for my main activity to get notification when the ContentProvider has finished initialising? Input from the Android dev team would be highly appreciated. Many thanks On Sep 16, 5:56 pm, Brion Emde <[email protected]> wrote: > You should perhaps kick off an IntentService or a Service with an > AsyncTask that reads your data files and updates the ContentProvider > in the background. Then you could publish your progress via the > AsyncTask's methods for doing that. > > On Sep 16, 12:03 pm, netlander <[email protected]> wrote: > > > Hi, > > > My app has one activity and one ContentProvider, the activity is > > simple in that it's just a splash screen at the moment with no other > > logic in it (I do intend to have more activities in the app). The > > ContentProvider uses SQLite as a back end and loads some static data > > from files on first install, a slow process due to file sizes and > > database initialisation. > > > My problem is that I want the activity to show up as soon as the > > install starts and maybe display a progress bar or dialog to show the > > user progress about the install. At the moment I get a blank (white) > > screen while the ContentProvider is initialising the data which takes > > quite a long time and I get "Activity idle timeout for history record" > > warning in LogCat. My splash screen only shows when the > > ContentProvider is done, from the app standpoint this is undesirable > > behaviour. > > > One potential solutions would be to manually start the provider via an > > AsyncTask but I have a feeling that this is a bad approach due to the > > fact that if the activity is interupted and restarted while the > > install is underway and a new AsyncTast is created through the > > activity's onCreate() then I'll have worst problems on my hands. > > > Is there a way to start the content provider in the background and > > display my splash screen activity straight after the app is started? > > Note that this problem is only an issue on first install. > > > Many thanks -- 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

