# Titanium.App.Android

A module used to access Android application resources.

Availability
1.5

# Overview

For more information, refer to the official documentation on the Android Developer website about application resources (opens new window).

# Examples

# Custom String Resource

Custom Android resources may be placed in platform/android in the project root.
For example, to utilize a custom localization file, create and populate platform/android/res/values/mystrings.xml with the following data.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="mystring">testing 1 2 3</string>
</resources>

In Javascript, this can be accessed as follows.

var activity = Ti.Android.currentActivity;
var R = Ti.App.Android.R;

var mystring = activity.getString(R.string.mystring);
Ti.API.debug("mystring = " + mystring);

# Properties

# apiName READONLY

Availability
3.2.0
apiName :String

The name of the API that this proxy corresponds to.

The value of this property is the fully qualified name of the API. For example, Titanium.UI.Button returns Ti.UI.Button.


# appVersionCode READONLY

Availability
3.3.0
appVersionCode :Number

The version number of the application.


# appVersionName READONLY

Availability
3.3.0
appVersionName :String

The version name of the application.


# bubbleParent

Availability
3.0.0
bubbleParent :Boolean

Indicates if the proxy will bubble an event to its parent.

Some proxies (most commonly views) have a relationship to other proxies, often established by the add() method. For example, for a button added to a window, a click event on the button would bubble up to the window. Other common parents are table sections to their rows, table views to their sections, and scrollable views to their views. Set this property to false to disable the bubbling to the proxy's parent.

Default: true


# launchIntent READONLY

Availability
3.3.0
launchIntent :Titanium.Android.Intent

Return the intent that was used to launch the application.

This intent will not change for the lifetime of the application. Its action is typically set to "android.intent.action.MAIN" when launched via the app list screen.

This launch intent can be used to resume the app while backgrounded via the startActivity method or via a notification.

When the app is launched via a data intent such as a URL, shortcut, notification, etc. then that intent is provided by the rootActivity object's intent property instead. That intent will initially be set to the launch intent, but will change when a newintent event has been fired. You should always read the root activity's intent instead of the launch intent for data.


# lifecycleContainer

Availability
3.6.0

The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.

If this property is set to a Window or TabGroup, then the corresponding Activity lifecycle event callbacks will also be called on the proxy. Proxies that require the activity lifecycle will need this property set to the appropriate containing Window or TabGroup.

# Methods

# addEventListener

Availability
1.5
addEventListener(name, callback) void

Adds the specified callback as an event listener for the named event.

Parameters

Name Type Description
name String

Name of the event.

callback Callback<Titanium.Event>

Callback function to invoke when the event is fired.

Returns

Type
void

# applyProperties

Availability
3.0.0
applyProperties(props) void

Applies the properties to the proxy.

Properties are supplied as a dictionary. Each key-value pair in the object is applied to the proxy such that myproxy[key] = value.

Parameters

Name Type Description
props Dictionary

A dictionary of properties to apply.

Returns

Type
void

# fireEvent

Availability
1.5
fireEvent(name[, event]) void

Fires a synthesized event to any registered listeners.

Parameters

Name Type Description
name String

Name of the event.

event Dictionary

A dictionary of keys and values to add to the Titanium.Event object sent to the listeners.

Returns

Type
void

# removeEventListener

Availability
1.5
removeEventListener(name, callback) void

Removes the specified callback as an event listener for the named event.

Multiple listeners can be registered for the same event, so the callback parameter is used to determine which listener to remove.

When adding a listener, you must save a reference to the callback function in order to remove the listener later:

var listener = function() { Ti.API.info("Event listener called."); }
window.addEventListener('click', listener);

To remove the listener, pass in a reference to the callback function:

window.removeEventListener('click', listener);

Parameters

Name Type Description
name String

Name of the event.

callback Callback<Titanium.Event>

Callback function to remove. Must be the same function passed to addEventListener.

Returns

Type
void

# Events

# shortcutitemclick

Availability
7.5.0

Fired when a Titanium.UI.ShortcutItem is clicked.

Properties

Name Type Description
id String

Identifier of the clicked shortcut item.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.

# Constants

# R

Availability
1.5

The R namespace for application resources.

The properties and sub-properties of this object relate directly to the native application resources R class, and thus have the same syntax. For more information, refer to the official documentation on the Android Developer website about accessing application resources.

For example, if the file platform/android/res/drawable/icon.png exists in the project, it can be accessed using its resource name, as follows.

var resid = Titanium.App.Android.R.drawable.icon;

To access system-wide resources, rather than application resources, use Titanium.Android.R instead.