Tutorial python s60…

Indice Lezioni:

  1. Introduzione
  2. Costrutti condizionali
  3. Le liste
  4. I dizionari
  5. Modulo Appuifw
  6. Le Stringhe
  7. Modulo Sysinfo
  8. Modulo e32

1.Introduzione

Per iniziare lo sviluppo in python sui dispositivi mobili dovrete scaricare il compilatore python per il vostro dispositivo all’indirizzo: pys60 prelevate il file .sis e lo installate.
Adesso dovete scegliere se installare python anche sul pc e scrivere gli script e provarli tramite l’emulatore sdk oppure utilizzare il compilatore python installato sul vostro cellulare sfruttando la connessione bluetooth,vediamo queste due soluzioni in dettaglio.

SFRUTTARE LA CONNESSIONE BLUETOOTH:

Creiamo una connessione con Hyper Terminal (Start-Programmi-Accessori-Comunicazioni),digitiamo il nome da dare alla connessione e la COM per la connessione,poi apriamo python nel nostro dispositivo andiamo su Bluetooth console,other e selezioniamo la connessione.

01_pys60 02_pys60 03_pys60

Se abbiamo eseguito tutto dovremmo trovarci con una schermata di questo tipo:

04_pys60

Potete vedere il funzionamento tramite questo video ma me realizzato:

UTILIZZARE EMULATORE:

Se invece vogliamo scrivere gli script e provarli nel computer dobbiamo scaricare python per il nostro computer ad esempio Active Python e scaricare l’ emulatore .
Per eseguire l’emulatore dobbiamo aprire l’eseguibile EPOC32.exe che si trova nella cartella dell’emulatore.

2.Costrutti condizionali

Tramite le strutture di controllo possiamo rendere le nostre applicazioni più “dinamiche” nel senso che se si verifica una certa condizione potremmo ottenere un certo output rispetto che un’altro.
In python come fino ad adesso avete potuto vedere non ci sono punti e vigola da mettere alla fine di ogni istruzione,variabili da dichiarare prima e cosi via,l’unica attenzione che dovete avere è l’indentazione che a differenza degli altri linguaggi fa proprio parte del linguaggio,cioè una volta verificata una condizione vengono eseguite le istruzioni che sono indentate sotto la condizione.

Passiamo a presentare il primo…

-WHILE:


while(condizione):
istruzione 1
istruzione 2
istruzione 3
….
….
istruzione n

Affinchè verrà soddisfatta la condizione del while verranno eseguite le istruzioni 1 e 2 , appena la condizione del while non verrà soddisfatta verrà eseguita l’istruzione 3 e l’esecuzione del programma continuerà ad eseguire le successive istruzioni(se ve ne sono).

Esempio:

a=0
while (a
Quindi viene inizializzata la variabile a al valore zero,quindi fino a che la variabile a è minore o uguale a 10 stampa il valore di a e la incrementa di 1 appena il valore di a è maggiore di 10 non vengo eseguite le condizioni print a e a=a+1 ma viene eseguita print “la variabile a è maggiore di 10, a=”,a

Altro esempio:

a=1
print “Adesso a=”,a
while (a!=0): #il simbolo != significa “diverso”
a=input(”Inserisci un numero,digita 0 per terminare:”)
print “Adesso a=”,a

Inizializza la variabile a ad 1 e stampa nel video il suo valore,poi entra nella condizione del while e permette all’utente d’inserire un valore alla variabile a e lo stampa a video e ripete queste due istruzioni fino a quando l’utente non digita il valore zero (cioè fino a quando a non è uguale a zero).

-IF:


if (condizione):
istruzione1
else:
istruzione2

Se è verificata la condizione allora viene eseguita l’istruzione1,altrimenti(else) viene eseguita l’istruzione2.

Vediamo un’esempio:

a=input(”Inserisci un valore:”)
if (a>=5):
print “il valore della variabile è maggiore o uguale a 5, a=”,a
else:
print “il valore della variabile è minore di 5, a=”,a

Possiamo avere un’altra struttura di if :

if(condizione a):
istruzione1
elsif (condizione b):
istruzione2
else:
istruzione3

Se è verificata la condizione a dell’if viene eseguita l’istruzione1, altrimenti se(elsif) è verificata la condizione b viene eseguita l’istruzione2,altrimenti viene eseguita l’istruzione3

Eccovi un’esempio:

a=input(”Inserisci un valore:”)
if (a=9):
print “il valore di a è compreso tra 4 e 9″
else:
print “il valore di a è maggiore o uguale a 10″

3.Le liste

La lista può essere pensata come una variabile che può contenere più di un valore,anche di tipo diverso,vediamo come si crea:

nomelista=[’elemento0′,’elemento1′,elemento2,’elemento3′,elemento4]

Gli elementi 0,1,3 sono di tipo stringa(infatti sono tra le virgolette),mentre gli elementi 2,4 sono di tipo numerico.
All’interno della lista gli elementi vengono “indicizzati” , infatti e vengono contati a partire da zero,quindi:

lunghezza_lista=(numero elementi-1)

Se vogliamo sapere che elemento abbiamo in una determinata posizione della lista ci basta scrivere:

nomelista[posizione]

Esempio:

lista=[’patate’,'cipolle’,2,’mele’,69,’pesche’]
print lista[1]
print lista[4]

Otterremo come output:

cipolle
69

01_liste 02_liste

Se invece vogliamo sapere in che posizione si trova un certo elemento della lista scriviamo:

nomelista.index(nome_elemento)

Esempio:

lista=[’patate’,'cipolle’,2,’mele’,69,’pesche’]
print lista.index(’cipolle’)

L’output sarà:

1

03_liste

Per cancellare un’elemento dalla lista scriviamo:

del nomelista(posizione_elemento)

Esempio:

lista=[’patate’,'cipolle’,2,’mele’,69,’pesche’]
del lista(1)

in questo modo cancelleremo la parola “cipolle”

04_liste

Riepilogando i comandi da potere usare sulle liste sono:

len(nome_lista) –> restituisce la lunghezza della lista
nome_lista.index(nome_elemento)—>restituisce la posizione dell’elemento
nome_lista.append(elemento)–>inserisce un nuovo elemento nella lista
nome_lista.sort()–>ordina la lista
del nome_lista(posizione)–>cancella l’elemento nella posizione
elemento in nome_lista–>restituisce true se l’elemento è nella lista
nome_lista=range(valore)–>la lista conterrà gli elementi che vanno da 0 a valore
nome_lista=range(valore1,valore2) –>la lista conterrà gli elementi compresi tra valore1 e valore2

TUPLE:

Le tuple sono delle liste dove gli elementi non si possono modificare,esse si dichiarano in questo modo:

nome_tupla=(’elemento1′,’elemento2′,’elemento3′)

4.I dizionari

Adesso passiamo ad esaminare una delle strutture più potenti di Python,i dizionari.
I dizionari sono formati da parole chiavi e valori,ad ogni parola chiave corrisponde un valore che può essere di tipo numerico,stringa,lista.
Possiamo dire che i dizionari sono una “particolare” lista ,solo che gli elementi anziché essere indicizzati mediante un indice numerico,gli elementi vengono identificati da una chiave:

chiave1–>elemento1
chiave2–>elemento2

Eccovi i comandi che si usano sui dizionari:

dizionario={’A’:’Alberto’,’B’:’Bernardo’,’C’:’Claudia’,’D’:’Dora’}

print dizionario #stampa tutto il dizionario (chiavi e valori)

print dizionario.values() #stampa solo i valori

print dizionario.keys() #stampa solo le chiavi

print len(dizionario) #restituisce la lunghezza

print dizionario.has_key(’A’) #restituisce TRUE se la chiave esiste,FALSE altrimenti

print dizionario.has_key(’Bernardo’) #restituisce FALSE perchè Bernardo è un valore e no una chiave

5.Modulo Appuifw

Il modulo appuifw è di uno di quei moduli che utilizzeremo in quasi tutte le nostre applicazioni.
Con esso possiamo avvisare l’utente tramite delle note o possiamo chiedere l’inserimento di dati,vediamo come funziona.
Per prima vediamo inserimento dei dati che possono essere:testo,numero,data,ora,password,domanda.

-TESTO:

import appuifw
nome=appuifw.query(u”Nome: “,”text”)

text_appuifw

-NUMERO:

import appuifw
numero=appuifw.query(u”Numero: “,”number”)

number_appuifw

-DATA:

import appuifw
data=appuifw.query(u”Data: “,”date”)

date_appuifw

-ORA:

import appuifw
ora=appuifw.query(u”Ora: “,”time”)

time_appuifw

-PASSWORD:

import appuifw
password=appuifw.query(u”Codice: “,”code”)

code_appuifw

-DOMANDA

import appuifw
domanda=appuifw.query(u”Vuoi uscire?”,”query”)

query_appuifw
Esempi di Note:

-INFO:

import appuifw
appuifw.note(u”Questa e’ una nota”,”info”)

info_appuifw

-ERRORE

import appuifw
appuifw.note(u”Esempio di errore”,”error”)

error_appuifw

-CONF:

import appuifw
appuifw.note(u”Nota”,”conf”)

conf_appuifw
Per scegliere un dato da una lista possiamo farlo in questi modi:

-SELECTION LIST

import appuifw
Lista=[u’Chiama’,u’Sms’,u’Mms’,u’Gioca’]
richiesta=appuifw.selection_list(choices=Lista,search_field=1)

selection_list_appuifw

-MULTI SELECTION LIST:

import appuifw
Lista=[u’Chiama’,u’Sms’,u’Mms’,u’Gioca’]
richiesta = appuifw.multi_selection_list(Lista , style=’checkbox’, search_field=1)

multi_selection_list_appuifw

6.Le Stringhe

Oggi impariamo ad usare al meglio le stringhe che come ogni altro elemento in Python è in oggetto,quindi ha dei metodi che ne facilitano l’utilizzo.
I caratteri della stringa vengono indicizzati da 0 ad (n-1).

-Lunghezza:

supponiamo di avere una stringa(frase):

frase =’’supercalifragilissichespiralitoso”

se vogliamo sapere la lunghezza della stringa,basta scrivere

>>>len(frase)
>>>33

-Lo slicing:

Tramite lo slicing possiamo estrapolare dalla stringa una parte di essa,ad esempio

>>>frase[:10] #stampa i primi 10 caratteri
>>>supercalif
>>>frase[-10:] #stampa gli ultimi 10 caratteri
>>>piralitoso
>>>frase[2:8] #stampa dal terzo carattere al numero 8
>>>percal
>>>frase[::10] #stampa ogni 10 caratteri
>>>srh

7.Modulo Sysinfo

Adesso presenteremo il modulo sysinfo che ci fornisce le informazioni del dispositivo dove viene eseguita l’applicazione.
Innanzitutto importiamo il modulo con la sintassi import sysinfo .

1.Per avere lo stato della batteria:
>>>sysinfo.battery() #ci restituirà un valore compreso tra 0-7

2.Per sapere la risoluzione in pixels del nostro schermo:
>>>sysinfo.display_pixels()

3.Ci restituisce la quantità di memoria libera:
>>>sysinfo.free_drivespace()

4.Ci restituisce la quantità di ram libera:
>>>sysinfo.free_ram()

5.Ci restituisce la ram totale:
>>>sysinfo.total_ram()

6.Ci restituisce la rom totale:
>>>sysinfo.total_rom()

7.Per sapere l’imei del dispositivo:
>>>sysinfo.imei()

8.Restituisce la versione del sistema operativo:
>>>sysinfo.os_version()

9.Tipo di suoneria impostato:
>>>sysinfo.ring_type()

10.Restituisce il livello del segnale:
>>>sysinfo.signal() #valore da 0 a 7

8.Modulo e32

1.Conoscere i drive del nostro dispositivo:
>>>e32.drive_list() #restituisce una lista

2.Per conoscere la versione installata di python:
>>>e32.pys60_version

3.Per conoscere la versione del s.o:
>>>e32.s60_version_info
#restituisce una tupla con due valori
(1,2) per s60 prima edizione
(2,0) per s60 seconda edizione
(2,6) per s60 seconda edizione Feature Pack 2

4.Per “addormentare” l’applicazione un certo numero di secondi:
>>>e32.ao_sleep(2) #addormenta il programma per 2 secondi

5.Per aprire un’applicazione:
>>>e32.start_exe(NomeFile,Comando)

6.Per copiare un file:
>>>e32.file_copy(Path di arrivo,Path sorgente)

10 commenti Add your own

  • 1. deadbaron(nokioteca)  |  dicembre 7, 2007 alle 7:37 pm

    dv lo trovo il download di PyUnix

    Rispondi
  • 2. Caer  |  dicembre 8, 2007 alle 2:35 pm

    una guida in italiano sul modulo appuifw sul Canvas??

    Rispondi
  • 3. pys60  |  ottobre 21, 2008 alle 6:38 pm

    thank you for example
    🙂

    Rispondi
  • 4. erede  |  febbraio 4, 2009 alle 8:35 pm

    Davvero una bellissima guida, i miei primi passi con Python s60 grazie a te!!

    Rispondi
  • 5. teresa  |  marzo 30, 2010 alle 10:28 am

    Ciao,
    non riesco a trovare il file sis pys60.
    dove lo trovo?

    Rispondi
  • 6. Emanuele Santoro  |  giugno 21, 2010 alle 5:48 pm

    Ciao, davvero una guida simpatica, e python sul mio N73 mi fa viaggiare la fantasia su cosa potrei scrivere.

    Solo, voelvo chiederti, dove posso trovare delle reference più dettagliate sull’implementazione PyS60 ?

    Rispondi
  • 7. usuwanie zmarszczek  |  gennaio 13, 2013 alle 5:59 pm

    Fabulous, what a web site it is! This web site provides valuable facts to
    us, keep it up.

    Rispondi
  • 8. Natisha  |  aprile 24, 2013 alle 1:54 am

    naturally like your web-site but you need to take a look at the spelling on several of your posts.
    Several of them are rife with spelling problems and I
    to find it very bothersome to inform the truth on the other hand I’ll definitely come back again.

    Rispondi
  • 9. atopowe zapalenie skóry  |  giugno 24, 2013 alle 9:48 pm

    whoah this weblog is great i like studying your articles.
    Keep up the great work! You know, a lot of individuals are looking round for this information, you can help
    them greatly.

    Rispondi
  • 10. iPhone 5 Jailbreak  |  aprile 29, 2014 alle 5:39 am

    iPhone 5 Jailbreak

    Tutorial python s60… |

    Rispondi

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Trackback this post  |  Subscribe to the comments via RSS Feed


%d blogger hanno fatto clic su Mi Piace per questo: