ekkes Express Charts is an application to create charts on-the-fly and can be integrated into BlackBerry EXPRESS.
Here’s an Overview about the APP and HowTo download und use.
Export / Import Charts…
…with a little help of Cascades Invokation Framework
Images of your charts are stored at the folder you defined from App – Settings, so you can easy send them to your friends or colleagues. But what about the data and all the properties and colors you set to create a good looking chart ?
This data is stored inside your APP’s sandbox, so it’s a safe place, but you cannot access it from other applications or File Manager.
The good news: I implemented an easy way to transfer the data without making it public visible.
If your friend doesn’t know about ‘ekkes Express Charts’ you can invite him / her easy from Home Page Action Bar via BBM.
Here’s the workflow if you want to send the data to a friend or colleague:
Viewing or editing a single chart data you can export this one from Action Bar – Overflow menu:
Sending more then one chart data you can do a long-press on the List Page and select all the charts you want to export:
ekkes Express Charts will collect the data, create an attachment and open a predefined Message Composer:
…all is done inside the app using Invocation Framework. See here to learn about invoking Core Apps like Message Composer.
Now on the other side where your friend gets your email:
As described in the body the only thing he / she has to do: Tap on the attached file and …
… by magic ‘ekkes Express Charts’ will be opened – doesn’t matter if it’s already running or not – and display this dialog to the user:
You will see how many data charts were sent and get a list of the titles to be sure it’s the right import file.
The application will add them all to the list of charts and update the UI of the List Page – doesn’t matter which Page you’re just working on. Your current workflow won’t be interrupted.
How is this ‘by-magic-open-the-app-from-an-email-attachment‘ done ? Again it’s the Invokation Framework !
I added the information into the bar-descriptor.xml:
<invoke-target-name>ekkes Express Charts Import Data</invoke-target-name>
<property var="exts" value="eecimp"/>
<property var="uris" value="file://,data://"/>
Now if you click on a file with extension .eecimp ekkes Express Charts will be invoked 🙂
In your app you can detect if the app was launched by the user or if the app was invoked and then do what you want to do.
I told you that the data transfer was safe letting you data private. How is this done ?
Inside the application – sandbox all data is stored as JSON. (I wrote about using JSON a blog entry here)
If you take a look at the content of the .eecimp file you’ll see something like this:
"exportedCharts" : "AwPuJ1JzovCJXJ.....4os370QllfA=="
It’s a JSON, but I scrambled the content with a key known by my app. So your data is protected and my app, too because if someone creates a fake .eecimp file it will open the app, but I can simply detect that I have to ignore the content.
Over all you see: with a little help of Invokation Framework you can create smooth workflows – not only inside your app – also between two apps as I demonstrated here.
This was only the first part of using Invokation Framework inside ‘ekkes Express Charts’ – read more about invoking my app from BlackBerry EXPRESS or 3rd party apps here: (TBD)
Try it out and have FUN.