This document discusses building mobile applications with Python across different platforms, focusing on Python for Symbian OS. It provides an introduction to Python basics like data types and using Python to design apps for Nokia phones running Symbian OS. It includes instructions for installing Python on a Nokia phone and presents a simple example Python program that uses the appuifw module to display a text input dialog and popup note on the phone. The document aims to illustrate basic Python programming interactively for mobile development.
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Ā
Build Apps
1. Building mobile applications with Python over
X-platforms: Part I
Victor Miclovich
Appfrica Labs
victor.miclovich@appfrica.org
September 14, 2009
Abstract converted into numbers. A screen lights up a
particular coordinate (pixel) and construct an
This paper exists just because itās much more fun image with more advanced image analysis and
to build something than to actually learn theoretic signal processing (weāll cover this if weāve got time).
crap, right? What I try to put oļ¬ in this article is
just a way to learn Python interactively. Below is a list of data types we can expect to
We shall be looking at the Python basics and encounter in Python:
Graphical User Interfaces ===> [look out for other
papers on Messaging, video interaction, camera ā¢ integers (int)
APIs, networking, and many other topics.]
ā¢ ļ¬oating point (float)
ā¢ strings or text (str)
1 Python basics
Data types are quite easy to understand; we shall
Programming languages are a way in which we can discuss ways we can handle this kind of data
talk and make computers do things for us in a log- throught mathematical processes like addition,
ical (or destructive) way. Like any language (both subtraction and division.
natural and formal), thereās got to be a grammar
of some kind, doesnāt there? The grammar in this
case shall be known as a syntax . Integers integers are numbers that donāt have any
Letās think about the human language (English, fractional parts! This refers to numbers like
French, ...) for a while. We see that thereās a lot 1, 2, 3, 4, ..., etc.
of structure, especially, logical structure. Sentences
are usually phased in particular ways that convey ļ¬oats ļ¬oating point are numbers with fractional
the meaning a speaker intends to give the intended parts or simply decimal numbers
audience. Isnāt that just so right? I think so. This Strings Strings are just textual parts of data; they
is what we call having semantics. I want you could be alphabetic symbols, numbers or al-
think of this as just meaning of something. phanumeric
1.1 Data types
2 Python for Symbian OS
Data types deļ¬nes the quality of āthingsā a
computer has to interface with. This is includes The Symbian OS is a mobile operating system.
things like numbers and text. In essence, a Many such installations are found in many modern
computer will only interact with numbers (binary Nokia, Samsung, LG phones. We shall be using
i.e. {0, 1}). Images will in any case, always be Python to illustrate the design and development
1
2. of mobile applications. And while we are at it, import appuifw
ready yourselves with either a phone emulator or name = appuifw.query(u"Type your
the actual phone name:","text")
appuifw.note(u"Hello World! Greetings
We shall use Nokia smartphones as our platform from: "+str(name),"info")
for learning Python in a more interesting way.
Below are instructions on how to install Python in In the ļ¬rst line of code, we import the appuifw
a Nokia (S60) phone: module, which handles user interface elements
such as text input ļ¬elds and popup notes.
ā¢ Download the Installation ļ¬les, you will ļ¬nd
them at SourceForgeās PyS60 project page, In the second line of code, we create a single-ļ¬eld
http://sourceforge.net/projects/pys60. Get a dialog using the query() function (think of this
recent and compartable version with your as f (x, y)) which is found inside the appuifw
phone. module with two parameters: label and type. The
label is the text we want printed out and type
ā the PyS60 interpreter. (these are usually
refers to whether the text should appear as a
signed and have a .sis extension).
warning popup, info popup, danger popup or some
ā the pythonscript shell (there are version other deļ¬nitive standard. You may have noticed a
numbers included, you should be mindful certain character u that we placed before our string
of that). because the only text our phone understands is
unicode: a standard way by which textual infor-
ā¢ Download the Python SDK (software develop-
mation is portrayed and that has internationalized
ment kit); this is is at http://forum.nokia.com.
support (this means many natural languages are
ā¢ A phone memory/data card (you will need a supported e.g. Russian, Chinese, Arabic, etc.).
place to store the programs you run for your
phone). Other types are supported, not just ātextā type.
They include ānumberā, ādateā, ātimeā, āqueryā,
ā¢ You will need a computer that runs either Win- and ācodeā.
dows, Linux or Mac OS X.
ā¢ A USB cable or bluetooth to connect with the Introduction to GUIs
computer.
This is the easiest thing you will learn about in
As we move on, you will experience the use of both PyS60 (our code name for Python in mobile). In
your phone and computer; you can search for more this section I demonstrate the following stuļ¬ you
tips; I will explain certain features practically. will interface with your phone in any case.
ā¢ note - popup notes
3 PyS60: your ļ¬rst program
This program consists of three lines of code; I will ā¢ query - single-ļ¬eld input dialog
explain what each line does, but ļ¬rst what result
do we want from the program??? ā¢ multi-query - two-ļ¬eld text input dialog
1. We want it to display a text input ļ¬eld; a place ā¢ popup menu - simple menu
where the phoneās user can type in stuļ¬!
2. Display a pop-up note that says somethig like ā¢ selection list - simple list with ļ¬nd pane (like
āGreetings from:ā followed by whatever the a search)
user typed into the input ļ¬eld.
ā¢ multi-selection list - list to make the multiple
The code is: selections
2
3. Example 1: Text input ļ¬eld and Dialogs, Menus, and Selection
popup note lists
Native UI (User Interface) elments that PyS60 of-
fers are accessible through a module called: ap- Single-Field Dialog: query
plication user interface framework which in code Its syntax is query(label,type[, initial
is written appuifw. It is an interface to the S60 value])
UI application framework that takes care of all UI Code hack:
functionalities on the S60 platform. But ļ¬rst an
introduction to what a module is in Python. appuifw.query(u"Type a word: ", "text",
u"Foo")
Python lesson: module This fuction shows a single-ļ¬le dialog. The dialog
can include some instruction text that is passed as
A module is a ļ¬le that contains a collection of
a string (by putting the u in front of the string āā)
related functions and data grouped together.
PyS60 comes with a rich set of modules, for
example messaging to handle SMS functionalites, Exercise
camera for taking photos, and appuifw, which The aim of this section is to allow you guys to prac-
provides ready-to-use UI elements. tice! You can practice with your phone or emulator.
The modulesā contents are described in detail in import appuifw
the Python library reference and Python for S60 appuifw.query(u"Type a word:","text")
API documentation. appuifw.query(u"Type a number:","number")
To use a module (group of functionalities or abili- appuifw.query(u"Type a date:","date")
ties) in your code, it must be imported at the be- appuifw.query(u"Type a time:","time")
ginning of the script, for example: appuifw.query(u"Type a password:" "code")
appuifw.query(u"Do you like
import appuifw PyS60","query")
And to pick oļ¬ functionalities from your module,
we write the module name, a dot and then name of
function that we want!
appuifw.query(label,type)
Here, appuifw is the module name and query is
the function you want to use.
You may import many modules using a single im-
port statement:
import appuifw, e32 This imports two modules:
appuifw and e32.
In the ļ¬rst example several sections ago we used the
query() and note() functions... (remember just like
f (x)) and the functions belong to appuifw module.
These functions generate UI elements, dialogs, that
are displayed on the when the PyS60 interpreter
executes the script. They become visible on the
phone screen as soon as the corresponding Python
function is called.
3