Open intents, open apps and dependencies

928
-1

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
928
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Open intents, open apps and dependencies

  1. 1. www.openintents.org support@openintents.org Droidcon London 2010, 28 October 2010 OpenIntents, Open Apps and Dependencies Friedger Müffke @fmdroid #openintents
  2. 2. No monoliths .. but interconnected components All apps are equal!
  3. 3. OpenIntents.org ● Discussion group since 2007 ● All about open applications and interoperability ● Open source ● List of Android libraries ● Intents registry ● Backed by OpenIntents UG (haftungsbeschränkt) – Closed source apps – Organizer of droidcon
  4. 4. Intent registry www.openintents.org Browse and find intents, actions, applications, URIs, extras Promote your own intents and applications Listen to talk tomorrow As of October 2010: >50 registered intents Reuse components! Don't reinvent the wheel!
  5. 5. Dependency Manager Application with dependencies Dependency Manager Appstore 1 with Content Provider Appstore 2 with Content Provider Content Provider of OI Website 1. Unresolvable Intent 2. Resolve Intent 3. Provide Intent Filter Info UI for Choosing App 4. User chooses app
  6. 6. App with Dependencies <meta-data android:name = "org.openintents.dm.dependency-client" android:resource = "@xml/mandatory"/> <dependencies xmlns:dm = "http://schemas.openintents.org/android/dependency-manager/1.0/client"> <!-- Implicit Intent --> <intent dm:component-type="activity"> <action dm:name="android.intent.action.BAZ" /> <category dm:name="android.intent.category.FOO" /> <category dm:name="android.intent.category.QUUX" /> <data dm:uri="http://foo.bar.org/" /> </intent> <!-- Implicit Intent with mime-type --> <intent dm:component-type="service"> <action dm:name="foo.bar.QuuxService" /> <data dm:mimeType="text/plain" /> </intent> <!-- Explicit Intent --> <intent dm:component-type="receiver"> <component dm:name="foo.bar/.BazReceiver" /> </intent> Manifest mandatory.xml
  7. 7. Dependency Source Content Provider – Declaration in Manifest.xml <meta-data android:name= "org.openintents.dm.dependency-source" android:resource= "@xml/dependency_source"/> – dependency_source.xml <dependency-source xmlns:dm= "http://schemas.openintents.org/android/dependency- manager/1.0/source" dm:authority="org.openintents.dm.teststore"/> – Contract for Dependency Source
  8. 8. Open Apps (1) ● Declare intent filters in your Manifest ● Publish your intent filters on open-android-apps.appspot.com ● Explore intents and which apps do offer the corresponding functionality
  9. 9. Open Apps (2) In the future – Mark as inappropriate – Integration in dependency manager – Link to Intents Registry – Eclipse Integration
  10. 10. Participate! ● Tonight during the hackathon ● OpenIntents repository at Google code ● Android is open as are these issues – Issue 4716: Support package dependency through uses-intent in Manifest – Issue 3217: Support PackageManager.GET_INTENT_FILTERS – Issue 4159: Market should allow developers to list extension points for their apps
  11. 11. More info Web site: www.openintents.org Developer group: http://groups.google.com/group/openintents Code repository: http://openintents.googlecode.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×