Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your profile (name, country/region, and company) is displayed to the public and will accompany any content you post. You may update your IBM account at any time.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Build dynamic user interfaces with Android and XML

Collect data using an Android forms engine

Frank Ableson, Entrepreneur, MSI Services, Inc.
W. Frank Ableson is an entrepreneur living in northern New Jersey with his wife Nikki and their children. His professional interests include mobile software and embedded design. He is the author of Unlocking Android (Manning Publications, 2010), and he is the mobile editor for Linux Magazine.

Summary:  A number of websites cater to non-profits that provide easily set-up and used forms for taking polls and collecting data. This tutorial introduces a simple architecture for designing similar applications for Android—dynamic user interfaces that allow non-programmers to collect data from mobile users. You will create an example forms engine in this tutorial with both server and mobile sides.

Date:  07 Sep 2010
Level:  Intermediate PDF:  A4 and Letter (1212 KB | 42 pages)Get Adobe® Reader®

Activity:  107827 views
Comments:  

Provide a server side script

For the purposes of this tutorial, you will use a PHP script to gather the required data, and append it to a text file.

On the server

Exactly what transpires on the server is dependent on the needs of the organization collecting the data. A common approach for data collection is to store the form data in a relational database such as DB2®, MySQL, SQL Server, Oracle, and so on. Once the data is in the database, it can be sliced, diced, and analyzed.

For this tutorial, the data is gathered by a PHP script and appended to a text file. Listing 17 shows the PHP form associated with the Robotics registration form.


Listing 17. The Robotic's PHP form

<?php
// xmlgui form # 1
// this page is expecting
// fname
// lname
// gender
// age


$filename = "/pathtowritablefile/datafile.txt";


$f = fopen($filename,"a");
fprintf($f,"Data received @ ".date(DATE_RFC822));
fprintf($f,"\n");
fprintf($f,'First Name:['.$_POST['fname'].']');
fprintf($f,"\n");
fprintf($f,'Last Name:['.$_POST['lname'].']');
fprintf($f,"\n");
fprintf($f,'Gender:['.$_POST['gender'].']');
fprintf($f,"\n");
fprintf($f,'Age:['.$_POST['age'].']');
fprintf($f,"\n");
fclose($f);
print "SUCCESS";
?>

If the script returns the string SUCCESS, the RunForm class will reset. Any other value will cause an error message to be displayed to the user and permit them to correct their entries or otherwise obtain help in submitting the form.

8 of 12 | Previous | Next

Comments



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=XML, Web development, Industries, Mobile development
ArticleID=516603
TutorialTitle=Build dynamic user interfaces with Android and XML
publish-date=09072010
author1-email=fableson@msiservices.com
author1-email-cc=dhatten@us.ibm.com