Open Android Apps - Hidden Treasures on Android phones

1,938 views
1,862 views

Published on

Open Android Apps is a site that publishes functionality of apps that can be reused by 3rd parties, i.e. the app interface/intents filters. This is the missing link between the dependency manager (shown in 2010) and the intents registry (showing in 2009) of Android.
In this presentation the following questions are answered:
- How does the intent system of Android compare to other platforms?
- Which applications offer interfaces? An overview from recent app store analysis and common use cases
- What are the benefits, what the drawbacks of providing and using an interface?

Finally, a short demo is given showing the depency manager that uses data of the Open Android Apps database.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,938
On SlideShare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Open Android Apps - Hidden Treasures on Android phones

  1. 1. Hidden Treasure: Open Android Apps Friedger Müffke @fmdroid #openintentswww.openintents.org support@openintents.org Droidcon 2011 Berlin, 24 March 2011
  2. 2. No monoliths .. but interconnected components All apps are equal!
  3. 3. Intents● Add „journey schedule“ to shopping list app 5 lines of code● Add „book a table“ to calendar app 50 lines of code● Add „AR browser“ to post office app 1 library + 25 lines of code@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
  4. 4. Intents e.g. in Activity Intent i = new Intent(„com.opentable.action.RESERVE“); i.setData(„reserve://opentable.com/45112 ?partySize=3“); this.startActivity(i); this.startActivityForResult(i, RESCODE); this.startService(i); this.bindService(i, con, 0); this.sendBroadcast(i);@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
  5. 5. Manifest<?xml version="1.0" encoding="utf-8"?><manifest . . . ><application . . . > <activity android:name="org.openintents.shopping.ShoppingActivity" android:icon="@drawable/small_pic.png" android:label="@string/shopping" . . . > <intent-filter> <action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.INSERT" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType = "vnd.android.cursor.dir/vnd.openintents.shopping.item" /> </intent-filter> </activity> <service . . ./> . . . <uses-permisson . . . /> <uses-library . . . /></application></manifest>@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
  6. 6. Sending Result● Called app: getCallingActivity() Intent reply = new Intent(); reply.putExtra(„SCAN_RESULT“, value); reply.putExtra(„QUALITY“, quality); setResult(RESULT_OK, reply); finish();● Calling app: onActivityResult()@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
  7. 7. Open Apps● Declare intent filters in your Manifest with CATEGORY_DEFAULT● Publish your intent filters on your website and open-android-apps.appspot.com● Explore intents and which apps do offer the corresponding functionality@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
  8. 8. Study● Analysize of apps in application store Appoke● ~1500 apps (paid + free)● 350 apps declare intent filter other than launcher● Many wired and wrong intent filter● 1% of apps declare useful intent filter Looking for more apps stores to participate!@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
  9. 9. Common use cases● SEND, SEND_TO, ● Filemanager (start SENDMULTIPLE „best“ app for file) – Images, texts ● Theming and – Blogs, SMS, .. configuration● VIEW ● SHOW_RADAR – Images, text ● RESERVE – Websites ● CALIBRATE (http scheme) ● AUTHENTICATE ● HELP@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
  10. 10. Open Apps (2) In the future – Mark as inappropriate – Integration in dependency manager – Link to Intents Registry – Eclipse Integration Google Summer Of Code 2011 – for students@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
  11. 11. Participate!● Visit the Android Open Source Project (AOP)● 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● Google Group appfeed@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
  12. 12. More info Web site: www.openintents.org Developer group: http://groups.google.com/group/openintents Code repository: http://openintents.googlecode.com@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011

×