My Android main application will consist in a main program, with a few pre-installed modules.
Then I want to offer different modules later, best would be as separate files. Modules like: location, weather, agenda.How would you accomplish this?
I want to keep in the database the modules that are installed/present. So I must put sometimes the modules into database, maybe by detecting if there are present at launch time. The main app will work based on these modules.
How can I build these modules as separate files? They won't be an entry point in my application. So they must not be an application in the navigation menu.
Is this possible?
How do I have to create th开发者_开发问答is using Eclipse? In what format will I offer the modules? How will the user add/remove modules?Android allows you to loosely couple applications together with Intents
and ContentProviders
, so it should be possible to achieve what you're looking for. The hard part will be planning everything up front, so you have logical divisions of functionality (and so things plug together easily).
I want to keep in the database the modules that are installed/present. So I must put sometimes the modules into database, maybe by detecting if there are present at launch time. The main app will work based on these modules.
You can register a BroadcastReceiver
for ACTION_PACKAGE_ADDED
, which will fire whenever a new application is installed. Your main application should be able to use this to determine when additional modules are installed.
In what format will I offer the modules?
You probably want to still package the modules as apks so they can be uploaded to the marketplace. If you want them to not appear in the launcher (the app drawer), you can always remove the default <intent-filter> and the app will not be launchable (but still be removable).
How do I have to create this using Eclipse?
Your modules would still be standalone applications.
How will the user add/remove modules?
From the marketplace or direct downloads off of the web (if you want).
精彩评论