Book Image

Appcelerator Titanium Smartphone App Development Cookbook Second Edition

Book Image

Appcelerator Titanium Smartphone App Development Cookbook Second Edition

Overview of this book

This book will take you through the process of building cross-platform, native UI applications for the mobile from scratch. You will learn how to develop apps, how to use GPS, cameras and photos and how to build socially connected apps. You will also learn how to package them for submission to the App Store and Google Play. This cookbook takes a pragmatic approach to creating applications in JavaScript from putting together basic UIs, to handling events and implementation of third party services such as Twitter, Facebook and Push notifications. The book shows you how to integrate datasources and server APIs, and how to use local databases. The topics covered will guide you to use Appcelerator Studio tools for all the mobile features such as Geolocation, Accelerometer, animation and more. You’ll also learn about Alloy, the Appcelerator MVC framework for rapid app development, and how to transfer data between applications using URLSchemes, enabling other developers to access and launch specific parts of your app. Finally, you will learn how to register developer accounts and publish your very own applications on the App Store and Google Play.
Table of Contents (21 chapters)
Appcelerator Titanium Smartphone App Development Cookbook Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Transferring binary data between apps using a URL scheme


One of the limitations of iOS has always been the isolation of apps and the ability to share data between them. Typically, this has been achieved by developing native extensions or using app groups, but the latter work only between your own apps.

So far, we have sent text data between apps, so let's look at how we can use the same techniques to transfer binary data: images, documents, or any file.

How to do it…

In order to transfer a file via a URL, you have to turn it into text. To do this, you need to base64 encode the binary data into a string:

var fileAsText = Ti.Utils.base64encode(binaryData);

The binaryData in this case could be a blob, the result of a .toImage()method of a view, or a binary file loaded from the filesystem:

var binaryData = Ti.Filesystem.getFile('photo.png');

Once you have the file converted into a string, it needs to be encoded so that it can be sent via a URL:

var encodedText = encodeURI(fileAsText);

We can use a method...