Titanium Mobile is Appcelerator’s development platform for developing cross-platform native mobile applications. In this article we will be introducing you to installation and developing applications using Titanium.
# Installation
Follow the steps mentioned here, to install Titanium and the corresponding sdks for your developement platform
# Hello world application
Creating a new application and aplication structure is elaborately described in appcelerator gettting started guide
# Creating Forms
# Field Label
var win = Titanium.UI.currentWindow; // get refernce to the current window
var label = Titanium.UI.createLabel({
text: 'Label Name',
height: 50,
color: '#000000',
font:{fontSize:14},
top: 20, // vertical postion of label on the screen w.r.t screen top
left: 20, // horizontal postion of label on the screen w.r.t screen left
width: 200 // width of the label
});
win.add(label); // add label to the current window
Check more properties of label in Titanium Label API
# Text Field
var text_field = Titanium.UI.createTextField({
color:'#000000',
height: 50,
top: 70, // vertical postion of label on the screen w.r.t screen top
left: 20, // horizontal postion of label on the screen w.r.t screen left
width: 200, // width of the field
borderStyle:Titanium.UI.INPUT_BORDERSTYLE_ROUNDED
});
win.add(text_field); // add field to the current window
Check more properties of textfield in Titanium Text Field API
# Button
var button = Titanium.UI.createButton({
title: 'Button',
top: 160, // vertical postion of label on the screen w.r.t screen top
width: 200, // width of the button
height: 50 // width of the button
});
win.add(button); // add button to the current window Check more properties of button in [Titanium Button API](http://developer.appcelerator.com/apidoc/mobile/latest/Titanium.UI.Button-object)
# Submiting Form Data
Form submission has to be handled via ‘click’ event listner on button
button.addEventListener('click', function() {
var field_value = text_field.value;
});
Screenshot of how the form with the above code looks
Accessing database and saving data to database is mentioned in the next section.
# Database
# Creating database
var db = Titanium.Database.open('db_name');
‘open’ returns a reference to the opened database. If the database doesn’t yet exist, ‘open’ creates the database.
# Executing SQL queries
db.execute('CREATE TABLE IF NOT EXISTS table_name (id INTEGER PRIMARY KEY, field1 VARCHAR, field2 VARCHAR);');
# Inserting data into table
var f1 = 'v1';
var f2 = 'v2';
db.execute('INSERT INTO table_name (f1, f2) VALUES (?, ?)', f1, f2);
Id of last inserted row is the value of ‘lastInsertRowId’ property on the database var last_insert_id = db.lastInsertRowId;
# Selecting and looping over the data from table
var rows = db.execute('select * from table_name');
while (rows.isValidRow()) {
// check below on how to access field values of a row
rows.next();
}
rows.close();
# Accessing the field values of a row by index(zero based)
var id = rows.field(0);
var v1 = rows.field(1);
var v2 = rows.field(2);
# Accessing the field values of a row by name
var id = rows.fieldByName('id');
var v1 = rows.fieldByName('field1');
var v2 = rows.fieldByName('field2');
More about Database API
- Titanium.Database.install(‘meditracker’);, raised invalid database path error when tried to run the application on device. So I opted to use Titanium.Database.open
# Code Resources
- https://github.com/appcelerator/KitchenSink/
- https://github.com/agiliq/meditracker, our sample application for tracking medicine timings.
- http://itunes.apple.com/in/app/track-my-med/id415622449?mt=8# The github code on Apple App store
- http://market.android.com/details?id=com.agiliq.trackmymed same code on Android stors
Thank you for reading the Agiliq blog. This article was written by dheeru on Feb 3, 2011 in mobile , applications .
You can subscribe ⚛ to our blog.
We love building amazing apps for web and mobile for our clients. If you are looking for development help, contact us today ✉.
Would you like to download 10+ free Django and Python books? Get them here
