open intents, open apps and dependencies

Post on 01-Dec-2014

1.167 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

www.openintents.org support@openintents.org Droidcon London 2010,28 October 2010

OpenIntents, Open Apps and Dependencies

Friedger Müffke

@fmdroid#openintents

No monoliths ..

but interconnectedcomponents

All apps are equal!

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

Intent registrywww.openintents.org

Browse and findintents, actions, applications, URIs, extras

Promote your ownintents and applications

Listen to talk tomorrow

As of October 2010:

>50 registered intents

Reuse components! Don't reinvent the wheel!

Dependency Manager

Applicationwith

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. ProvideIntent Filter

Info

UI for Choosing App

4. User chooses app

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> </dependencies>

Manifest

mandatory.xml

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

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

Open Apps (2)

In the future

– Mark as inappropriate– Integration in dependency manager– Link to Intents Registry– Eclipse Integration

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

More infoWeb site:

www.openintents.orgDeveloper group: http://groups.google.com/group/openintents

Code repository: http://openintents.googlecode.com

top related