Programmare per Android: User Interface v0.1beta
|
|
|
- Giorgia Grassi
- 10 anni fa
- Просмотров:
Транскрипт
1 v0.1beta Rossi Pietro Alberto Pagina 1
2 Indice Introduzione alla programmazione ad oggetti... 5 Introduzione alla programmazione visuale... 6 Introduzione alla programmazione ad eventi... 7 UserControls... TextView...10 EditText...11 AutoCompleteTextView...12 MultiAutoCompleteTextView...14 Button...15 ImageButton...16 ToggleButton...17 CheckBox...18 RadioButton...19 ListView...21 GridView...22 DatePicker...23 TimePicker...24 AnalogClock...25 DigitalClock...26 Altri Controlli... CheckedTextView...28 Chronometer...29 ImageView...31 ProgressBar...32 RatingBar...33 SeekBar...34 Toast...35 Controlli Avanzati... Spinner...38 TabWidget...40 WebView...42 MapView...44 PopupWindow...46 ExpandableListView...49 Pagina 2
3 Layout Manager... LinearLayout TableLayout...55 RelativeLayout...57 AbsoluteLayout...59 FrameLayout...61 Widget...64 Pagina 3
4 Premessa Dopo molto tempo che giriamo su Android e varie, finalmente abbiamo pubblicato questa prima bozza di una nostra guida! Più che beta, dovremmo definirla in versione alpha, in quanto è ancora un cantiere ben aperto e speriamo di non chiuderlo mai! Il nostro scopo è quello di portare conoscenze sulla programmazione Android dove non ci sono, ed arricchire le già molte presenti. Passando alle presentazioni, mi chiamo Alberto e sono uno sviluppatore su sistemi POS in linguaggio C, recentemente passato anche alla programmazione su sistemi Android. Sono stato relatore al Linux Day 2010 di Palermo, presentando Android e tutti i suoi aspetti migliori, non tralasciando nulla e posando la prima pietra di un grande castello, spero. Questa mini guida non la definirei mia, ma nostra, di tutta la comunità. Da buon guru di Linux, la guida è libera e scaricabile gratuitamente dal sito Non metterò mai in vendita questa guida, non è lo scopo per cui è stata fatta, anzi per chi vuole, può collaborare, postare esempi di codice, implementare argomenti. Non c'è nessun problema, basta contattarmi al mio indirizzo di posta [email protected] e proporre quello che volete. Nota dolente, è il mio italiano...mi dispiace non sono madrelingua ma sto imparando! Spero mi perdoniate nel caso qualche verbo non vi vada giù. Come detto prima, la guida è in costante sviluppo, già sono pronte altre parti che non sono state integrate in questa beta, e ci saranno molte novità sul futuro. Se gli argomenti sono trattati troppo brevemente è perché ho pensato che leggere troppo annoia un programmatore, preferisco essere breve e conciso, il resto si aggiusterà dopo! Ah, dimenticavo...metterò anche un po' di stile e qualche font diverso, tranquilli... Ringrazio ibasblog.it per il tempo da loro dedicatomi, e per avermi mandato all'android Developer Lab a Firenze (evento stupendo!), in particolare ringrazio: Claudio, cd125 Pino, pinosiciliano Da non dimenticare Androidiani.com, la più grande community di riferimento per il mondo Android, hanno organizzato un Android Lab in Italia, più di così? Ci hanno permesso di inseguire questo sogno e non smetteremo di dirgli 1000 volte grazie! Pagina 4
5 Introduzione alla programmazione ad oggetti Quando iniziamo a realizzare un programma, sia di 10 righe sia di 100 mila righe, a primo impatto andiamo a cercare una soluzione al nostro problema, pensando principalmente a non avere troppe complicazioni man mano che si scrive il codice. Fra le considerazioni iniziali c è sempre la famosa domanda Che linguaggio utilizziamo?. Quello che noi andremo a cercare è un paradigma che ci permette di risolvere il problema, nella maniera più semplice possibile. Da qui discende che un paradigma è un modello comportamentale di programmazione o, più semplicemente, uno stile di programmazione. La scelta del linguaggio di programmazione è molto importante, soprattutto se un progetto è abbastanza grande. Essa può derivare anche dal tipo di problema da risolvere: molti linguaggi dispongono di librerie, già predisposte, che semplificano alcune procedure ritenute fondamentali o soltanto per il semplice scopo di semplificare la vita del programmatore. Il modo di pensare come programmare un applicazione è fondamentale. In programmazione imperativa ci mettiamo davanti il progetto e ci chiediamo cosa fare, fissando l attenzione sull obiettivo da raggiungere e di come raggiungerlo. In programmazione ad oggetti, invece, dobbiamo cercare di non personalizzare l oggetto ma continueremo a pensare l oggetto così come è. Penseremo ad un oggetto astratto, cercando di individuare quali sono le caratteristiche dell oggetto e le sue potenzialità. Gli elementi caratteristici sono chiamati Attributi dell oggetto, le potenzialità sono invece chiamate Metodi. Da notare che, molti programmatori, le potenzialità dell oggetto li chiama erroneamente funzioni: dato che possono somigliare parecchio alle funzioni utilizzate in qualunque linguaggio imperativo. Durante l analisi del problema non importa cosa faccia il metodo, l importante è rispecchiare le potenzialità e successivamente svilupparne il problema. Altro errore che spesso si sente è l utilizzo di Classe e Oggetto come se fossero la stessa cosa: un Oggetto è la rappresentazione reale della problematica presa in considerazione, la Classe invece è la rappresentazione astratta dell Oggetto. Per esempio, se consideriamo una penna, essa nella realtà rappresenta il nostro Oggetto vero e proprio, così come è fatto: sappiamo che è una penna, il colore, il tipo, ecc La Classe che rappresenterà la penna sarà, per definizione, l astrazione dell Oggetto. Qui ci possiamo chiedere E cosa cambia? Non è la stessa cosa?, la risposta è parzialmente negativa perché, attraverso questo processo di astrazione, noi andremo a determinare anche altri dettagli supplementari dell Oggetto: se scrive o meno, livello di inchiostro, ecc. Pagina 5
6 Introduzione alla programmazione visuale In base alla modalità con cui l utente interagisce con il sistema, le interfacce utente possono essere classificate in: interfacce testuali ed interfacce grafiche. Le interfacce testuali, dette anche interfacce a caratteri, le ricordiamo più o meno tutti, come il buon vecchio MS-DOS e la shell di Linux. Hanno fatto la storia dei computer, all inizio erano tutti ad interfaccia testuale, rendendo l uso stesso del computer poco accessibile al pubblico. Le interfacce grafiche sono le odierne interfacce con cui interagiamo. Tutti quei oggetti che si muovono sullo schermo, hanno migliorato l uso del computer, rendendolo accessibile a tutti e diffusissimo in tutto il mondo. La differenza principale fra interfaccia testuale e visuale è la modalità con cui l utente interagisce con il computer. Nel primo caso l utente interagisce solo con la tastiera, le istruzioni proposte a video possono variare nell aspetto in modo molto limitato, il monitor viene visto come una matrice di celle con un determinato numero di righe e di colonne e l inserimento dei dati è controllato dal programma. Nel secondo caso l utente interagisce attraverso vari strumenti come il mouse e la tastiera, il monitor è visto come una matrice di pixel caratterizzata da un certo numero di righe e di colonne (risoluzione), ogni carattere visualizzato può avere una propria dimensione e un proprio aspetto, il controllo del flusso del programma è deciso dall utente. In un interfaccia utente grafica, l interazione tra utente e sistema avviene grazie ad un sistema di gestione degli eventi. Qualsiasi interazione tra la macchina e l esterno genera un evento che viene intercettato e gestito dal sistema operativo. L interfaccia utente grafica, principalmente, viene vista come una collezione di oggetti annidati, nel senso che saranno presenti oggetti che conterranno degli altri. Occorre subito distinguere due tipi di oggetti di una GUI (Graphics Unit Interface): oggetti contenitori ed oggetti componenti. Gli oggetti contenitori sono quelli all interno dei quali è possibile posizionare e dimensionare altri oggetti (Finestre e Pannelli). La Finestra è costituita da un area che può contenere vari elementi. Può essere presente una barra del titolo, all interno della quale ci sono i pulsanti che gestiscono la sua chiusura ed il suo ridimensionamento. Il Pannello è costituito da un rettangolo, il cui perimetro può essere reso visibile o meno, così come il suo contenuto. Gli oggetti componenti sono quelli che vengono inseriti all interno degli oggetti contenitori (Label, Button, CheckBox, ecc ). Una Label (etichetta) è una stringa di testo utilizzata per etichettare altri componenti o visualizzare una descrizione visibile nella GUI. I Button (pulsanti) sono semplici componenti che avviano un azione quando vengono premuti. Una TextField (campo di testo) è costituita da una o più righe e consente di immettere testo al suo interno. Pagina 6
7 Introduzione alla programmazione ad eventi Quando si verifica un qualsiasi evento, il sistema lo intercetta ed invia le informazioni (tipo di evento ed oggetto origine) ad uno speciale manipolatore degli eventi. Gli eventi controllabili dal nostro sistema generalmente tre: Eventi del mouse Eventi della tastiera Eventi del sistema Gli eventi del mouse sono quelli che più comunemente avvengono mentre utilizziamo un PC: basta muovere il mouse o cliccare su un punto dello schermo per generare un evento. Gli eventi del mouse si dividono in tre sotto-categorie: Eventi generati dai pulsanti del mouse Eventi generati dal movimento del mouse Eventi generati dal trascinamento del mouse La prima sotto-categoria definisce eventi quali: Click, che viene generato quando si clicca su un oggetto DoppioClick, che viene generato con un doppio click PulsanteMousePremuto, che viene generato quando si tiene premuto il pulsante sinistro del mouse PulsanteMouseRilasciato, che viene generato quando si rilascia il pulsante sinistro del mouse precedentemente premuto La seconda definisce eventi quali: MouseSopra, che viene generato quando il mouse si muove su un oggetto MouseVia, che viene generato quando il mouse si sposta da un oggetto MovimentoMouse, che viene generato quando il mouse si muove Infine, la terza definisce eventi quali: TrascinaMouse, che viene generato quando un utente trascina il mouse con il pulsante premuto MouseTrascinaOggetto, che viene generato quando un utente trascina un oggetto sulla finestra Gli eventi della tastiera sono quelli classici che avvengono quando premiamo un tasto o una combinazione di essi. Gli eventi della tastiera si dividono in: TastoAttivato, che viene generato quando un utente preme e rilascia un tasto o quando tiene premuto un tasto TastoPremuto, che viene generato quando quando viene premuto un tasto TastoRilasciato, che viene generato quando viene rilasciato un tasto precedentemente premuto Pagina 7
8 Gli eventi del sistema sono quei eventi generati con le iterazioni fra degli oggetti, come finestre, ed il sistema. Gli eventi del sistema si suddividono in quattro sotto-categorie: Eventi generati dal caricamento degli oggetti Eventi generati dalle modifiche dell utente Eventi legati al fuoco Eventi generati dai movimenti delle finestre La prima sotto-categoria definisce eventi quali: Carica, che viene generato quando al caricamento degli oggetti Abbandona, funzione opposta a Carica La seconda definisce eventi quali: Cambio, che viene generato quando viene modificato il valore di un oggetto La terza definisce oggetti quali: PerdeFuoco, che viene generato quando si esce da un oggetto della GUI AcquistaFuoco, che viene generato quando si entra in un oggetto della GUI SelezionaTesto, che viene generato quando si seleziona del testo all interno di un campo, di un etichetta o di altri oggetti simili La quarta definisce eventi quali: RidimensionaFinestra, che viene generato quando l utente riduce o ingrandisce una finestra ScorriFinestra, che viene generato quando si effettua lo scorrimento della pagina sia con il mouse che con i tasti PgSu e PgGiù. Un altra categoria di eventi sono quelli generati dagli oggetti standard di una GUI e possono essere classificati nel seguente modo: Eventi d azione: sono gli eventi generati quando un pulsante è stato premuto, quando si attiva una casella di testo o un pulsante di opzione, quando si seleziona una voce di un menu, quando si preme Invio dentro una casella di testo, ecc; Eventi di selezione o deselezione in un elenco: sono gli eventi legati alla selezione di una casella di controllo o di una voce di menu a scelta; Eventi di selezione o di deselezione per input: sono gli eventi generati quando un oggetto in risposta ad un click del mouse o all utilizzo del tasto di tabulazione. Questa piccola introduzione, teorica, agli eventi ci fa capire quanti eventi vengono generati anche solo premendo un tasto o muovendo il mouse. A livello di linguaggio di programmazione non è difficile intercettare gli eventi e gestirli, molti linguaggi facilitano il lavoro, soprattutto quelli equipaggiati di un IDE visuale che ci mette a disposizione tutti gli strumenti per facilitare ed accelerare la programmazione. Pagina 8
9 UserControls TextView... 9 EditText...10 AutoCompleteTextView...11 MultiAutoCompleteTextView...13 Button...14 ImageButton...15 ToggleButton...16 CheckBox...17 RadioButton...18 ListView...20 GridView...21 DatePicker...22 TimePicker...23 AnalogClock...24 DigitalClock...25 Pagina 9
10 TextView L'oggetto TextView è il classico componente label o etichetta di testo che serve per visualizzare del testo. L'esempio di codice ne mostra la sua utilità più semplice, declinando aspetti come font e colore. <LinearLayout xmlns:android=" > <TextView android:text="questa è una TextView" </LinearLayout> E' facile notare che per modificare il testo basta editare la proprietà text. Le altre proprietà, layout_width e layout_height servono per la grandezza del componente: fill_parent sta per riempi il contenitore e wrap_content è la grandezza di default del componente. Pagina 10
11 EditText L'oggetto EditText è la comune TextBox di qualsiasi altro linguaggio di programmazione. La proprietà hint serve a definire un messaggio iniziale, viene visualizzato di colore grigio chiaro e quando si comincia a scrivere scompare. E' possibile sempre utilizzare la proprietà text per avere un testo di default ma solitamente si usa hint per far capire cosa bisogna scrivere. <LinearLayout xmlns:android=" > <EditText android:hint="inserisci" </LinearLayout> Pagina 11
12 AutoCompleteTextView Il controllo AutoCompleteTextView è semplicemente una EditText con delle possibili parole di default che possono essere digitate. Quando iniziamo a scrivere il controllo mostrerà le possibili parole che possono essere scelte in una lista. Attenzione, con possibili parole non significa che possiamo inserire solo quelle, ma tutte. La particolarità di questo componente è che l'intellinsense, ovvero la lista che viene visualizzata quando digitiamo, funziona solo una volta, ovvero verrà visualizzata solo per una parola. <LinearLayout xmlns:android=" > <AutoCompleteTextView android:id="@+id/autotxt1" </LinearLayout> Oltre al layout bisogna caricare via codice le parole: AutoCompleteTextView actv = (AutoCompleteTextView) this.findviewbyid(r.id.autotxt1); ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.r.layout.simple_dropdown_item_1line, new String[] {"Inglese", "Spagnolo", "Tedesco", "Italiano"); actv.setadapter(aa); Il codice è abbastanza semplice: viene ricavato il componente tramite l'id definito nel layout, e viene utilizzato un ArrayAdapter per inserire le parole. Un ArrayAdapter è una specie di vettore, nel caso nostro tipizzato a String, dove le stringhe passate come parametri vengono adattate ad elementi del componente identificato, in questo caso simple_dropdown_item_1line. Pagina 12
13 Pagina 13
14 MultiAutoCompleteTextView La MultiAutoCompleteTextView è praticamente una AutoCompleteTextView con l'aggiunta che l'intellinsense opera su più parole separate da un carattere speciale. Quindi la lista delle parole verrà visualizzata più volte e non una sola come nell'autocompletetextview. <LinearLayout xmlns:android=" > <MultiAutoCompleteTextView android:id="@+id/multiautotxt1" </LinearLayout> Nel caso dell'esempio, si nota nell'ultima riga che il separatore utilizzato è la virgola (comma). MultiAutoCompleteTextView mactv = (MultiAutoCompleteTextView)this.findViewById(R.id.multiautotxt1); ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.r.layout.simple_dropdown_item_1line, new String[] {"Inglese", "Spagnolo", "Tedesco", "Francese", "Italiano"); mactv.setadapter(aa); mactv.settokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); Pagina 14
15 Button Uno dei più classici dei componenti è il pulsante, utilizzato spesso per dare via a delle operazioni. <LinearLayout xmlns:android=" > <Button android:id="@+id/btnprova" android:text="premi" android:layout_width="wrap_content" </LinearLayout> Mostriamo l'utilizzo pratico del suo evento onclick generato alla pressione del pulsante. Button btnvis = (Button)this.findViewById(R.id.btnprova); btnvis.setonclicklistener(new public void onclick(view arg0) { ); Pagina 15
16 ImageButton L'ImageButton non è altro che un Button, sia in comportamento sia come struttura, ma con una immagine di sfondo. <LinearLayout xmlns:android=" > <ImageButton android:layout_width="wrap_content" android:text="clicca" </LinearLayout> Pagina 16
17 ToggleButton Il ToggleButton è il classico pulsante di On/Off. Visivamente è un Button con un led sotto il testo che ne evidenzia lo stato. <LinearLayout xmlns:android=" > <ToggleButton android:layout_width="wrap_content" android:texton="acceso" android:textoff="spento" <ToggleButton android:layout_width="wrap_content" android:texton="acceso" android:textoff="spento" </LinearLayout> Pagina 17
18 CheckBox Una CheckBox è il classico componente di spunta, utilizzato spesso da selettore per opzioni. <LinearLayout xmlns:android=" > <CheckBox android:text="primo" android:layout_width="wrap_content" android:checked="true" <CheckBox android:text="secondo" android:layout_width="wrap_content" android:checked="false" <CheckBox android:text="terzo" android:layout_width="wrap_content" android:enabled="false" </LinearLayout> Pagina 18
19 RadioButton La RadioButton (pulsante rotondo), come la CheckBox, permette di scegliere delle opzioni con la particolarità che sono esclusive. In altre parole, si inseriscono una serie di RadioButton in un componente RadioGroup (gruppi di RadioButton) e se ne potrà scegliere solo una delle varie disponibili. <LinearLayout xmlns:android=" > <RadioGroup android:id="@+id/rdbgroup1" android:layout_width="wrap_content" > <RadioButton android:id="@+id/rdb1" android:layout_width="wrap_content" android:text="primo" android:checked="true" <RadioButton android:id="@+id/rdb2" android:layout_width="wrap_content" android:text="secondo" <RadioButton android:id="@+id/rdb3" android:layout_width="wrap_content" android:text="terzo" android:enabled="false" </RadioGroup> </LinearLayout> Le proprietà utilizzate nell'esempio sono enabled per l'attivazione e disattivazione del componente e checked per il RadioButton selezionato di default. Pagina 19
20 Pagina 20
21 ListView Una ListView è il basilare componente per la visualizzazione di una lista di elementi. <LinearLayout xmlns:android=" > <ListView </LinearLayout> Qui al posto di un ArrayAdapter utilizziamo un ListAdapter che si adatta meglio al componente ListView. String[] cols = new String[]{"Elemento 1", "Elemento 2", "Elemento 3", "Elemento 4"; ListView list1 = (ListView)this.findViewById(R.id.listview1); ListAdapter adapter = new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1, cols); list1.setadapter(adapter); Il codice è molto semplice e, inoltre, è possibile caricare gli elementi anche da risorse. Vedremo più avanti come. Pagina 21
22 GridView Come suggerisce il nome, una GridView è una griglia di elementi visualizzati a video. <LinearLayout xmlns:android=" > <GridView android:id="@+id/grid1" android:numcolumns="auto_fit" android:gravity="center" </LinearLayout> La proprietà numcolumns definisce il numero di colonne in cui deve essere divisa la griglia. Per semplicità, nell'esempio, è stato impostato ad auto_fit in modo da dividere in automatico le colonne secondo il numero di elementi. Come per la ListView abbiamo utilizzato un ListAdapter per definire gli elementi della griglia. GridView grid = (GridView)this.findViewById(R.id.grid1); String[] cols = new String[] {"Primo", "Secondo", "Terzo", "Quarto", "Quinto", "Sesto", "Settimo", "Ottavo", "Nono", "Decimo"; ListAdapter adapter = new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1, cols); grid.setadapter(adapter); Pagina 22
23 DatePicker Il componente DatePicker viene utilizzato per modificare una data. <LinearLayout xmlns:android=" > <DatePicker android:layout_width="wrap_content" </LinearLayout> Con il metodo init del componente possiamo impostare la data che il componente deve visualizzare per poi essere modificata. DatePicker dp = (DatePicker)this.findViewById(R.id.datePicker1); dp.init(2010, 11, 10, null); Pagina 23
24 TimePicker Il controllo TimePicker ha lo stesso scopo di DatePicker, solo che cambia il tempo e non la data. <LinearLayout xmlns:android=" > <TimePicker android:id="@+id/timepicker1" android:layout_width="wrap_content" </LinearLayout> Come per il DatePicker, è possibile impostare il tempo di partenza da cui poi poter fare la modifica. TimePicker timep = (TimePicker)this.findViewById(R.id.timePicker1); timep.setis24hourview(true); timep.setcurrenthour(17); timep.setcurrentminute(20); Pagina 24
25 AnalogClock Orologio analogico per visualizzare l'orario. <LinearLayout xmlns:android=" > <AnalogClock android:layout_width="wrap_content" </LinearLayout> Pagina 25
26 DigitalClock Orologio digitale per visualizzare l'orario. <LinearLayout xmlns:android=" > <DigitalClock android:layout_width="wrap_content" </LinearLayout> Pagina 26
27 Altri Controlli CheckedTextView...28 Chronometer...29 ImageView...31 ProgressBar...32 RatingBar...33 SeekBar...34 Toast...35 Pagina 27
28 CheckedTextView Una CheckedTextView non è altro che una TextView con un immagine che fa da spunta. <LinearLayout xmlns:android=" > <CheckedTextView android:text="checkedtextview" android:background="#ffffff" android:textcolor="#0000ff" android:gravity="center" android:checked="true" </LinearLayout> Nel nostro esempio abbiamo utilizzato la proprietà checkmark per identificare l'immagine, ricavata dalle risorse. La proprietà gravity è utilizzata per allineare il testo e la proprietà checked è utilizzata per visualizzare o meno l'immagine di spunta. Pagina 28
29 Chronometer Il Chronometer è il classico cronometro digitale, poco utile a prima vista, ma per applicazioni specifiche può essere un valido componente. <LinearLayout xmlns:android=" > <Chronometer android:id="@+id/chr1" <Button android:id="@+id/btnstart" android:text="start" <Button android:id="@+id/btnstop" android:text="stop" </LinearLayout> Nell'esempio abbiamo utilizzato due pulsanti start e stop per iniziare e fermare il cronometro. private Chronometer public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); cr1 = (Chronometer)this.findViewById(R.id.chr1); Button btnstart = (Button)this.findViewById(R.id.btnstart); btnstart.setonclicklistener(new OnClickListener() public void onclick(view arg0) { cr1.start(); ); Button btnstop = (Button)this.findViewById(R.id.btnstop); btnstop.setonclicklistener(new OnClickListener() public void onclick(view arg0) { cr1.stop(); ); Pagina 29
30 Pagina 30
31 ImageView ImageView è il componente per la visualizzazione di immagini. <LinearLayout xmlns:android=" > <ImageView android:layout_width="wrap_content" </LinearLayout> Tramite la proprietà src possiamo definire il percorso dell'immagine, in questo caso è stata presa dalle risorse. Pagina 31
32 ProgressBar La ProgressBar, ovvero barra di progresso, è un componente utilizzato per visualizzare lo stato di un operazione. <LinearLayout xmlns:android=" > <ProgressBar android:layout_width="wrap_content" android:max="100" android:progress="95" </LinearLayout> Tramite le proprietà max e progress definiamo il valore massimo che può raggiungere la ProgressBar ed il valore di default. Pagina 32
33 RatingBar La RatingBar è la consueta barra di gradimento, utilizzata molto per votazioni di video o immagini e rappresentata dalle classiche stelle. <LinearLayout xmlns:android=" > <RatingBar android:layout_width="wrap_content" android:max="100" android:rating="65" </LinearLayout> Anche qui è presente la proprietà max che identifica il massimo valore che può assumere la votazione. La proprietà rating serve per impostare il valore di default. Pagina 33
34 SeekBar La SeekBar è a tutti gli effetti una ProgressBar che può essere manovrata: possiede un cursore che è possibile spostare per modificare il valore del controllo. <LinearLayout xmlns:android=" > <SeekBar android:max="100" android:progress="37" </LinearLayout> Gli attributi utilizzati sono gli stessi della ProgressBar, max e progress, per impostare il valore massimo ed il valore di default. Pagina 34
35 Toast Il controllo Toast è un piccolo contenitore che visualizza un messaggio. Adoperato spesso per le notifiche e per varie segnalazioni di errori. <LinearLayout xmlns:android=" > <Button android:id="@+id/btnvisual" android:text="visualizza" </LinearLayout> Nell'esempio abbiamo utilizzato un pulsante per visualizzare il controllo Toast. Button btnvis = (Button)this.findViewById(R.id.btnvisual); btnvis.setonclicklistener(new public void onclick(view arg0) { Toast t = Toast.makeText(toastandroid.this, "Prova toast", Toast.LENGTH_LONG); t.show(); ); Come si nota dall'esempio, il componente viene creato attraverso il metodo statico maketext, passando come parametri il contesto dove visualizzare, il messaggio e la lunghezza ( Toast.LENGTH_LONG o Toast.LENGTH_SHORT). Pagina 35
36 Pagina 36
37 Controlli Avanzati Spinner...38 TabWidget...40 WebView...42 MapView...44 PopupWindow...46 ExpandableListView...49 Pagina 37
38 Spinner Lo Spinner è un controllo per visualizzare e scegliere una opzione su un insieme. E' composto da due parti: la prima è una semplice barra con la scelta corrente, la seconda è la lista delle opzioni disponibili. <LinearLayout xmlns:android=" > <Spinner android:id="@+id/spinner" android:prompt="scegli il nome" </LinearLayout> Con la proprietà prompt andiamo a settare il messaggio che comparirà nella lista di elementi. Serve a far capire all'utente il perchè deve effettuare una scelta. Nell'esempio abbiamo utilizzato una lista di nomi memorizzata nelle risorse (file strings.xml) che successivamente verranno caricate nel metodo oncreate dell'applicazione. <string-array name="nomi"> <item>alberto</item> <item>aldo</item> <item>giovanni</item> <item>stefano</item> <item>luca</item> <item>giuseppe</item> <item>fabrizio</item> </string-array> Come per una ListView, utilizziamo un ArrayAdapter per caricare gli elementi. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Spinner s = (Spinner) findviewbyid(r.id.spinner); ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.nomi, android.r.layout.simple_spinner_item); adapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown _item); s.setadapter(adapter); Pagina 38
39 Pagina 39
40 TabWidget Il controllo TabWidget permette la visualizzazione di più contesti visuali in un unico contenitore. E' composto da un insieme di pagine, ognuna delle quali specifica un contesto visuale. <TabHost xmlns:android=" > <LinearLayout > <TabWidget <FrameLayout > <TextView android:text="tab 1" <TextView android:text="tab 2" <TextView android:text="tab 3" </FrameLayout> </LinearLayout> </TabHost> Il controllo TabHost serve da contenitore per il TabWidget. Nell'esempio proposto utilizziamo tre TextView, ognuna delle quali sarà predisposta per pagina. Pagina 40
41 import android.app.tabactivity; import android.os.bundle; import android.widget.tabhost; public class tabwidgetandroid extends TabActivity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); TabHost mtabhost = gettabhost(); mtabhost.addtab(mtabhost.newtabspec("tab_test1").setindicator("tab 1").setContent(R.id.textview1)); mtabhost.addtab(mtabhost.newtabspec("tab_test2").setindicator("tab 2").setContent(R.id.textview2)); mtabhost.addtab(mtabhost.newtabspec("tab_test3").setindicator("tab 3").setContent(R.id.textview3)); mtabhost.setcurrenttab(0); E' chiaro che quando l'applicazione verrà creata, dobbiamo aggiungere manualmente le varie pagine ed impostarne il contesto di visualizzazione. Nell'esempio si vede che vengono impostate le tre TextView per le tre pagine. Alla fine viene selezionata la pagina predefinita. Pagina 41
42 WebView Componete non di poco conto è il WebView, un vero e proprio browser all'interno della nostra applicazione. <LinearLayout xmlns:android=" android:layout_width="wrap_content" > <WebView android:id="@+id/webview" </LinearLayout> L'uso è semplice e non dobbiamo dimenticare di inserire il permesso per poter utilizzare la connessione ad internet. <uses-permission android:name="android.permission.internet"></uses-permission> Nell'esempio mostriamo come visualizzare la pagina principale di Google. import android.app.activity; import android.os.bundle; import android.webkit.webview; public class webviewandroid extends Activity { WebView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); webview = (WebView) findviewbyid(r.id.webview); webview.getsettings().setjavascriptenabled(true); webview.loadurl(" Da notare come possiamo attivare e disattivare Javascript con il metodo setjavascriptenabled ed impostare la pagina con il metodo loadurl. Pagina 42
43 Pagina 43
44 MapView Controllo basilare per la visualizzazione delle mappe di Google. È possibile attivare anche la modalità StreetView e varie opzioni, come lo zoom. <RelativeLayout xmlns:android=" android:id="@+id/mainlayout" > <com.google.android.maps.mapview android:id="@+id/mapview1" android:enabled="true" android:clickable="true" android:apikey="tuo codice apikey google" </RelativeLayout> Per poter utilizzare il controllo MapView, dobbiamo importare la libreria nel file Manifest.xml e permettere la connessione ad internet. <manifest xmlns:android=" package="mapview.android" android:versioncode="1" android:versionname="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <uses-library android:name="com.google.android.maps" <activity android:name=".mapviewandroid" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.main" <category android:name="android.intent.category.launcher" </intent-filter> </activity> </application> <uses-permission android:name="android.permission.internet" </manifest> Le righe incriminate per l'uso della libreria e per i permessi alla connessione sono <uses-library android:name="com.google.android.maps" <uses-permission android:name="android.permission.internet" Nell'esempio, abbiamo utilizzato le coordinate della città di Palermo, disattivato la modalità StreetView e attivato la modalità Satellite. Da notare che lo zoom è impostato a 12, che permette una visuale abbastanza gradevole di buona parte della provincia di Palermo. Il metodo isroutedisplayed impostato a true permette la visualizzazione delle direzioni di guida. Pagina 44
45 public class mapviewandroid extends MapActivity { private MapView map; private MapController public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); map = (MapView)this.findViewById(R.id.mapview1); controller = map.getcontroller(); map.setsatellite(true); map.setstreetview(false); map.displayzoomcontrols(true); controller.setzoom(12); Double lat = *1E6; Double lng = *1E6; GeoPoint point = new GeoPoint(lat.intValue(), lng.intvalue()); controller.setcenter(point); protected boolean isroutedisplayed() { return false; Pagina 45
46 PopupWindow Il PopupWindow è un oggetto contenitore per la visualizzazione di controlli a video su un livello differente rispetto alla vista principale. Utilizzata spesso per visualizzazione di messaggi o da input per attributi. Nell'esempio, naturalmente, abbiamo utilizzato due layout diversi per la vista principale e per la PopupWindow. <LinearLayout xmlns:android=" android:id="@+id/main" > <Button android:id="@+id/btnvis" android:text="visualizza" android:gravity="center" <Button android:id="@+id/btnch" android:text="chiudi" android:gravity="center" </LinearLayout> Di seguito il layout del PopupWindow. <LinearLayout xmlns:android=" android:background="#0066ff" > <TextView android:id="@+id/txtpop" android:text="popup Window" android:textcolor="#0000ff" </LinearLayout> Il codice è abbastanza semplice e vengono eseguiti i controlli su due pulsanti per la visualizzazione e la chiusura del PopupWindow. Pagina 46
47 public class popupwindowandroid extends Activity { LinearLayout layout; LayoutInflater inflater; PopupWindow pw = public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Button btn = (Button)this.findViewById(R.id.btnvis); // Ricaviamo il layout corrente che servirà da base per a visualizzazione del Popup layout = new LinearLayout(this); inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); btn.setonclicklistener(new OnClickListener() public void onclick(view arg0) { if(pw == null!pw.isshowing()) { pw = new PopupWindow(inflater.inflate(R.layout.popupw, null, true), 100, 100, true); pw.setfocusable(false); // Verrà visualizzato al centro della vista di base pw.showatlocation(layout, Gravity.CENTER, 0, 0); pw.update(); ); Button btn2 = (Button)this.findViewById(R.id.btnch); btn2.setonclicklistener(new OnClickListener() public void onclick(view arg0) { if(pw!= null && pw.isshowing()) { // Chiusura Popup pw.dismiss(); ); I passi per la visualizzazione di un PopupWindow sono semplici: ricavo del contesto corrente, creazione PopupWindow e visualizzazione. Pagina 47
48 Pagina 48
49 ExpandableListView Una ExpandableListView è una ListView a due livelli. Nel primo livello sono presenti i principali argomenti da rappresentare, nel secondo, invece, i vari elementi per ogni argomento. <LinearLayout xmlns:android=" > <ExpandableListView android:id="@+id/explist1" </LinearLayout> Di seguito la classe di esempio: public class expandablelistviewandroid extends ExpandableListActivity { ExpandableListAdapter public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // Set up our adapter madapter = new MyExpandableListAdapter(); setlistadapter(madapter); public class MyExpandableListAdapter extends BaseExpandableListAdapter { // Sample data set. children[i] contains the children (String[]) for groups[i]. private String[] groups = { "Nomi di persona", "Nomi di cane", "Nomi di gatti", "Nomi di pesci" ; private String[][] children = { { "Alberto", "Roberto", "Paolo", { "Yuri", "Rocky", { "Briciola", "Puccia", { "Pallina" ; public Object getchild(int groupposition, int childposition) { return children[groupposition][childposition]; public long getchildid(int groupposition, int childposition) { return childposition; public int getchildrencount(int groupposition) { return children[groupposition].length; public TextView getgenericview() { // Layout parameters for the ExpandableListView Pagina 49
50 AbsListView.LayoutParams lp = new AbsListView.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, 64); TextView textview = new TextView(expandablelistviewandroid.this); textview.setlayoutparams(lp); // Center the text vertically textview.setgravity(gravity.center_vertical Gravity.LEFT); // Set the text starting position textview.setpadding(36, 0, 0, 0); return textview; public View getchildview(int groupposition, int childposition, boolean islastchild, View convertview, ViewGroup parent) { TextView textview = getgenericview(); textview.settext(getchild(groupposition, childposition).tostring()); return textview; public Object getgroup(int groupposition) { return groups[groupposition]; public int getgroupcount() { return groups.length; public long getgroupid(int groupposition) { return groupposition; public View getgroupview(int groupposition, boolean isexpanded, View convertview, ViewGroup parent) { TextView textview = getgenericview(); textview.settext(getgroup(groupposition).tostring()); return textview; public boolean ischildselectable(int groupposition, int childposition) { return true; public boolean hasstableids() { return true; La struttura della classe è abbastanza articolata: viene creato un nuovo oggetto di tipo ExpandableListAdapter e vengono scritti i metodi per ricavare la posizione degli elementi, numero elementi ed altri che possono risultare utili. Pagina 50
51 Pagina 51
52 Layout Manager LinearLayout TableLayout...55 RelativeLayout...57 AbsoluteLayout...59 FrameLayout...61 Pagina 52
53 LinearLayout Il LinearLayout è il layout manager più utilizzato e settato di default in un progetto Android con Eclipse. Dispone ogni elemento su ogni riga se l'attributo orientation è impostato su vertical e su colonne se è impostato su horizontal. public class linearlayoutandroid extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); La prima parte di applicazione è abbastanza semplice e rappresenta il codice della classe Java per richiamare il layout. Nell'esempio viene proposto un insieme di etichette di testo disposti con orientation vertical. <LinearLayout xmlns:android=" > <TextView android:text="testo 1" <TextView android:text="testo 2" <TextView android:text="testo 3" </LinearLayout> Pagina 53
54 Pagina 54
55 TableLayout Questo tipo di layout manager dispone i componenti in forma tabellare, dividendoli per riga. public class tablelayoutandroid extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Si può notare facilmente dal codice che oltre al contenitore TableLayout, viene utilizzato il contenitore TableRow, che, come dice il nome, rappresenta una riga. <TableLayout xmlns:android=" android:stretchcolumns="1" > <TableRow android:background="#0000ff"> <TextView android:layout_column="1" android:text="testo 1" android:gravity="left" <TextView android:text="testo 2" android:gravity="right" </TableRow> <TableRow android:background="#ff0000"> <TextView android:layout_column="1" android:text="testo 3" android:gravity="left" <TextView android:text="testo 4" android:gravity="right" </TableRow> </TableLayout> Pagina 55
56 Pagina 56
57 RelativeLayout Dalla stessa parola, possiamo capire il funzionamento di questo layout manager. Esso predispone i controlli rispetto ad un controllo precedentemente segnalato. public class relativelayoutandroid extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Notiamo subito che viene usato l'attributo layout_below per far capire a quale componente si deve fare riferimento per individuare la sua posizione. In appoggio, si utilizzano gli attributi di tipo margin, come marginleft e margintop per spostare il controllo secondo il riferimento prefisso. <RelativeLayout xmlns:android=" > <TextView android:id="@+id/txt1" android:text="testo 1" <TextView android:id="@+id/txt2" android:text="testo 2" android:layout_below="@id/txt1" android:layout_marginleft="100px" <TextView android:id="@+id/txt3" android:text="testo 3" android:layout_below="@id/txt2" android:layout_margintop="50px" </RelativeLayout> Pagina 57
58 Pagina 58
59 AbsoluteLayout Si può considerare un contenitore di comodo, in quanto, è utilizzato per tutti quei layout dove bisogna utilizzare misure precise al pixel. public class absolutelayoutandroid extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Da notare, l'utilizzo degli attributi layout_x e layout_y che servono per decidere la posizione del componente rispetto all'angolo in alto a sinistra del display. <AbsoluteLayout xmlns:android=" > <TextView android:text="testo 1" android:layout_x="50px" android:layout_y="50px" <TextView android:text="testo 2" android:layout_x="0px" android:layout_y="100px" <TextView android:text="testo 3" android:layout_x="50px" android:layout_y="150px" </AbsoluteLayout> Pagina 59
60 Pagina 60
61 FrameLayout Questo tipo di layout manager dispone tutti gli elementi uno sopra l'altro. Utilizzato per creare piccoli popup o sovrapposizioni varie. public class framelayoutandroid extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Nell'esempio visuale si nota che i vari campi delle TextView vengono disposti uno sopra l'altro rendendo il tutto illegibile. <FrameLayout xmlns:android=" > <TextView android:text="aaaa " <TextView android:text="b b b" <TextView android:text="c c c" </FrameLayout> Pagina 61
62 Pagina 62
63 Widget Pagina 63
64 Widget I Widget sono dei componenti grafici che vengono visualizzati sulla home o su una delle sue pagine. Utilizzati per mettere in rilievo informazioni importanti o comunicazioni di vario tipo, come il meteo, aggiornamenti mail, l'orologio o varie. L'input è abbastanza limitato e i controlli che si possono utilizzare sono pochi, esclusi anche EditText et similia. A che servono quindi? Beh, come elementi vetrina sono ottimi! Vediamo un po' di codice: import android.appwidget.appwidgetprovider; public class HelloWidget extends AppWidgetProvider { Primissima differenza con un applicazione normale è la classe a cui si fa riferimento, invece della solita Activity, si utilizza AppWidgetProvider. Per la costruzione del layout nulla cambia, eccetto la limitazione sul numero di controlli disponibili. <LinearLayout xmlns:android=" android:gravity="center" android:background="@drawable/backwid3" > <TextView android:textcolor="#000000" android:text="textview" android:paddingleft="12px" </LinearLayout> Aspetto importante è dichiarare il provider per utilizzare il Widget, in un file separato nella cartella res/xml/. Nel mio caso l'ho chiamato hello_widget_provider.xml. <?xml version="1.0" encoding="utf-8"?> <appwidget-provider xmlns:android=" android:updateperiodmillis="10000" android:initiallayout="@layout/main" android:minwidth="146dip" android:minheight="72dip" Gli attributi minwidth e minheight definiscono le misure minime del Widget. Da ricordare che lo schermo è diviso in blocchi da 74dip e solitamente le misure si decidono come multipli di 74dip 2dip, per permettere di fare bordi particolari o margini, come gli angoli arrotondati. Pagina 64
65 Pagina 65
lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000
Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,
Android. Implementare una interfaccia utente
Android Implementare una interfaccia utente Introduzione In questa lezione vedremo come implementare una interfaccia utente sullo schermo di Android. Vedremo gli elementi di base visualizzabili sullo schermo
EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,
EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area
Excel. A cura di Luigi Labonia. e-mail: [email protected]
Excel A cura di Luigi Labonia e-mail: [email protected] Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
Il calendario di Windows Vista
Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative
Per effettuare la stampa di una cartella di lavoro si accede al comando. Stampa dal menu File o si utilizza il pulsante omonimo sulla barra
4.5 Stampa 4.5.1 Stampare semplici fogli elettronici 4.5.1.1 Usare le opzioni di base della stampa Per effettuare la stampa di una cartella di lavoro si accede al comando Stampa dal menu File o si utilizza
Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali
PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video
Le Proprietà della Barra delle applicazioni e Menu Start di Giovanni DI CECCA - http://www.dicecca.net
- Introduzione Con questo articolo chiudiamo la lunga cavalcata attraverso il desktop di Windows XP. Sul precedente numero ho analizzato il tasto destro del mouse sulla Barra delle Applicazioni, tralasciando
[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina
[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina Creare cartelle per salvare il lavoro] Per iniziare dobbiamo imparare a gestire quello spazio bianco che diverrà la
La geolocalizzazione
La geolocalizzazione La maggior parte dei dispositivi mobili di ultima generazione è dotata di un antenna GPS che permette di conoscere, in breve tempo e con la precisione di qualche metro, la propria
A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.
La finestra di Excel è molto complessa e al primo posto avvio potrebbe disorientare l utente. Analizziamone i componenti dall alto verso il basso. La prima barra è la barra del titolo, dove troviamo indicato
Corso Corso di di programmazione di di sistemi mobile 1 1. Android Laboratorio. Primo Progetto, Toast
Corso Corso di di programmazione di di sistemi mobile 1 1 Android Laboratorio Primo Progetto, Toast Corso Corso di di programmazione di di sistemi mobile 2 2 Android Studio Per realizzare le nostre applicazioni
Registratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.
I TEMI PREDEFINITI (TEMPLATE) Scelta del tema I temi predefiniti di wordpress sono la base di un sito che usa un utente che per ragioni pratiche o per incapacità non può creare un sito usando solo codice
File, Modifica, Visualizza, Strumenti, Messaggio
Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere
Guida all uso di Java Diagrammi ER
Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con
9 tecniche di selezione testi formattazione, copiare e incollare testi
9 tecniche di selezione testi formattazione, copiare e incollare testi Creare un file (OpenOffice.org Writer) dentro ad una cartella e digitare un breve testo Per prima cosa occorre creare un file di testo
WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera
WORD per WINDOWS95 1.Introduzione Un word processor e` come una macchina da scrivere ma con molte più funzioni. Il testo viene battuto sulla tastiera ed appare sullo schermo. Per scrivere delle maiuscole
Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database
Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione
Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
L interfaccia utente di Office 2010
L interfaccia utente di Office 2010 Personalizza la barra multifunzione Pagine: 3 di 4 Autore: Alessandra Salvaggio - Tratto da: Office 2010 la tua prima guida - Edizioni FAG Milano Ridurre la barra multifunzione
Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie
Facoltà di Scienze Motorie CHE COS È UN FOGLIO ELETTRONICO Una tabella che contiene parole e numeri che possono essere elaborati applicando formule matematiche e funzioni statistiche. Esame di Informatica
Joomla: Come installarlo e come usarlo. A cura di
Joomla: Come installarlo e come usarlo. A cura di In questa dispensa andremo a vedere come si installa joomla sul noto software xampp e come viene usato per creare siti web dinamici. Tecnol earn Firmato
Personalizza. Page 1 of 33
Personalizza Aprendo la scheda Personalizza, puoi aggiungere, riposizionare e regolare la grandezza del testo, inserire immagini e forme, creare una stampa unione e molto altro. Page 1 of 33 Clicca su
MANUALE EDICOLA 04.05
MANUALE EDICOLA 04.05 Questo è il video che si presenta avviando il programma di Gestione Edicola. Questo primo video è relativo alle operazioni di carico. CARICO Nello schermo di carico, in alto a sinistra
MODULO 4: FOGLIO ELETTRONICO (EXCEL)
MODULO 4: FOGLIO ELETTRONICO (EXCEL) 1. Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei Personal computer. Essi
Moduli (schede compilabili) in Word Esempio: scheda di alimentazione per un degente
Moduli (schede compilabili) in Word Esempio: scheda di alimentazione per un degente Vediamo come utilizzare Word per costruire un modulo compilabile, ovvero una scheda che contenga delle parti fisse di
Android by Example v4.2 JellyBean
Android by Example v4.2 JellyBean Rossi Pietro Alberto Sorgenti scaricabili dal sito www.sprik.it Premessa Tanto tempo è passato dalla prima guida, troppo. L'intento era quello di costruire una guida solida
Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.
SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo
IMPOSTARE UNA MASCHERA CHE SI APRE AUTOMATICAMENTE
IMPOSTARE UNA MASCHERA CHE SI APRE AUTOMATICAMENTE Access permette di specificare una maschera che deve essere visualizzata automaticamente all'apertura di un file. Vediamo come creare una maschera di
Manuale Utente Albo Pretorio GA
Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate
LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE
LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE Che cosa sono e a cosa servono le caratteristiche? Oltre a descrivere le qualità di un prodotto con un testo generico (descrizione) è possibile dettagliare
Il Programma... 3 I moduli... 3 Installazione... 3 La finestra di Login... 4 La suite dei programmi... 6 Pannello voci... 10
MANCA COPERTINA INDICE Il Programma... 3 I moduli... 3 Installazione... 3 La finestra di Login... 4 La suite dei programmi... 6 Pannello voci... 10 epico! è distribuito nelle seguenti versioni: epico!
Manuale Utente Amministrazione Trasparente GA
Manuale Utente GA IDENTIFICATIVO DOCUMENTO MU_AMMINISTRAZIONETRASPARENTE-GA_1.0 Versione 1.0 Data edizione 03.05.2013 1 Albo Pretorio On Line TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione
CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA
CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA In questo tutorial verrà illustrato come sfruttare la flessibilità del componente "Catalogo E-commerce" per realizzare un classico negozio a griglia, del tipo di
Mac Application Manager 1.3 (SOLO PER TIGER)
Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i
Modulo 4: Ereditarietà, interfacce e clonazione
Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo
Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo
Creazione di moduli Creazione di moduli Che cos'è un modulo? Un elenco di domande accompagnato da aree in cui è possibile scrivere le risposte, selezionare opzioni. Il modulo di un sito Web viene utilizzato
Cominciamo dalla barra multifunzione, ossia la struttura a schede che ha sostituito la barra dei menu e la barra delle icone (Figura 1).
La barra multifunzione La barra multifunzione e il pulsante Microsoft Office Se avete lavorato per tanti anni con la suite da ufficio Office, questa nuova versione 2007 può disorientarvi davvero molto.
IL MIO PRIMO SITO: NEWS
Pagina 1 IL MIO PRIMO SITO: NEWS Sommario IL MIO PRIMO SITO: NEWS...1 Introduzione...2 I Contenitori...2 Creo un Contenitore...3 I Tracciati...4 Creo le Notizie...6 Inserisco il Testo...6 Inserisco un
PIANO DI TUTELA DELLE ACQUE DELLA SICILIA (di cui all'art. 121 del Decreto Legislativo 3 aprile 2006, n 152)
Commissario Delegato per l Emergenza Bonifiche e la Tutela delle Acque in Sicilia PIANO DI TUTELA DELLE ACQUE DELLA SICILIA (di cui all'art. 121 del Decreto Legislativo 3 aprile 2006, n 152) Sistema WEB-GIS
CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS
CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu
IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI
Pagina 1 UN SISTEMA DI NEWS Sommario UN SISTEMA DI NEWS...1 Introduzione...2 Scelgo l'area su cui operare...3 Un minimo di teoria...3 Creo le Pagine...4 Definizione dello Schedario Novità...6 Compilo la
Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass
0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass
Università di L Aquila Facoltà di Biotecnologie Agro-alimentari
RIFERIMENTI Università di L Aquila Facoltà di Biotecnologie Agro-alimentari Esame di Laboratorio di informatica e statistica Parte 3 (versione 1.0) Il riferimento permette di identificare univocamente
Operazioni fondamentali
Foglio elettronico Le seguenti indicazioni valgono per Excel 2007, ma le procedure per Excel 2010 sono molto simile. In alcuni casi (per esempio, Pulsante Office /File) ci sono indicazioni entrambe le
Gestire immagini e grafica con Word 2010
Gestire immagini e grafica con Word 2010 Con Word 2010 è possibile impaginare documenti in modo semi-professionale ottenendo risultati graficamente gradevoli. Inserire un immagine e gestire il testo Prima
NAVIGAORA HOTSPOT. Manuale utente per la configurazione
NAVIGAORA HOTSPOT Manuale utente per la configurazione NAVIGAORA Hotspot è l innovativo servizio che offre ai suoi clienti accesso ad Internet gratuito, in modo semplice e veloce, grazie al collegamento
Guida SH.Shop. Inserimento di un nuovo articolo:
Guida SH.Shop Inserimento di un nuovo articolo: Dalla schermata principale del programma, fare click sul menu file, quindi scegliere Articoli (File Articoli). In alternativa, premere la combinazione di
Programmazione Android. Luca Morettoni <[email protected]> http://www.morettoni.net
Programmazione Android Luca Morettoni http://www.morettoni.net Android Programming Cos'è Android; Concetti di base sulla programmazione: Q&A AndroidManifest; Activities; Services;
Database 1 biblioteca universitaria. Testo del quesito
Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole
Appunti sugli Elaboratori di Testo. Introduzione. D. Gubiani. 19 Luglio 2005
Appunti sugli Elaboratori di Testo D. Gubiani Università degli Studi G.D Annunzio di Chieti-Pescara 19 Luglio 2005 1 Cos è un elaboratore di testo? 2 3 Cos è un elaboratore di testo? Cos è un elaboratore
Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate
MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento
Introduzione. Alberto Fortunato [email protected]. www.albertofortunato.com Pag. 1 di 137
Introduzione Il software Gestione magazzino è stato realizzato con l intenzione di fornire uno strumento di apprendimento per chi intendesse cominciare ad utilizzare Access 2010 applicando le tecniche
Office 2007 Lezione 08
Word: gli stili veloci e i temi Da questa lezione, iniziamo ad occuparci delle innovazioni che riguardano specificamente Word. Cominceremo parlando di stili e temi. Nella filosofia di questo nuovo Word,
TRUCCHI PER GIMP - Elemento a colori in foto bianco e nero
TRUCCHI PER GIMP - Elemento a colori in foto bianco e nero Salve Prof. Cantaro come promesso le mando un altro articolo da poter inserire nelle sue guide. Questa volta però a differenza dell'ultima,ho
LA PIATTAFORMA DEL PROGETTO ORIENTAMENTO. Guida per Studente
Progetto Orientamento Edizione 2007 LA PIATTAFORMA DEL PROGETTO ORIENTAMENTO Guida per Studente http://www.elearning.unibo.it/orientamento [email protected] Sommario 1 L accesso alla
Avvio di Internet ed esplorazione di pagine Web.
Incontro 1: Corso di aggiornamento sull uso di internet Avvio di Internet ed esplorazione di pagine Web. Istituto Alberghiero De Filippi Via Brambilla 15, 21100 Varese www.istitutodefilippi.it Tel: 0332-286367
Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)
Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) 1 Aprire Access Appare una finestra di dialogo Microsoft Access 2 Aprire un
Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8
Manuale servizio Webmail Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8 Introduzione alle Webmail Una Webmail è un sistema molto comodo per consultare la
I.N.A.I.L. Certificati Medici via Internet. Manuale utente
I.N.A.I.L. Certificati Medici via Internet Manuale utente CERTIFICATI MEDICI... 1 VIA INTERNET... 1 MANUALE UTENTE... 1 COME ACCEDERE AI CERTIFICATI MEDICI ON-LINE... 3 SITO INAIL... 3 PUNTO CLIENTE...
La Stampa Unione. Individuare la lista indirizzi per la Stampa Unione
La Stampa Unione La Stampa unione consente di personalizzare con il nome, il cognome, l'indirizzo e altri dati i documenti e le buste per l'invio a più destinatari. Basterà avere un database con i dati
CERTIFICATI DIGITALI. Manuale Utente
CERTIFICATI DIGITALI Procedure di installazione, rimozione, archiviazione Manuale Utente versione 1.0 pag. 1 pag. 2 di30 Sommario CERTIFICATI DIGITALI...1 Manuale Utente...1 Sommario...2 Introduzione...3
Foglio di calcolo. Il foglio di calcolo: Excel. Selezione delle celle
Foglio di calcolo Il foglio di calcolo: Excel I dati inseriti in Excel sono organizzati in Cartelle di lavoro a loro volta suddivise in Fogli elettronici. I fogli sono formati da celle disposte per righe
Esercizio data base "Biblioteca"
Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni
MANUALE D USO DELLA PIATTAFORMA ITCMS
MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di
FPf per Windows 3.1. Guida all uso
FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete
LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014
LUdeS Informatica 2 EXCEL Seconda parte AA 2013/2014 STAMPA Quando si esegue il comando FILE STAMPA, Excel manda alla stampante tutte le celle del foglio di lavoro corrente che hanno un contenuto. Il numero
Guida Joomla. di: Alessandro Rossi, Flavio Copes
Guida Joomla di: Alessandro Rossi, Flavio Copes Grafica e template 1. 15. La grafica e i template Personalizzare l'aspetto del sito aggiungendo nuovi template e customizzandoli 2. 16. Personalizzare il
14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1. http://alessandrazullo.altervista.org Alessandra Zullo
14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1 http://alessandrazullo.altervista.org Alessandra Zullo Indice Provvisorio INTRODUZIONE... 3 COMPONENTI PRINCIPALI... 3 PROCESSI...
Guida per la registrazione alla piattaforma di Gestione dei Corsi per il Consulente Tecnico Telematico
Guida per la registrazione alla piattaforma di Gestione dei Corsi per il Consulente Tecnico Telematico Maribel Maini Indi ndice ce: Procedura di registrazione alla piattaforma e di creazione del proprio
11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0
11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE
WORD 97 SCRIVERE UNA TESI DI LAUREA
WORD 97 SCRIVERE UNA TESI DI LAUREA PASSO 1 Per prima cosa pensiamo al formato generale della pagina: i margini richiesti da una tesi sono quasi sempre più ampi di quelli di un testo normale. Apriamo ora
DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti.
Uso del sistema operativo Windows XP e gestione dei file DESKTOP All accensione del nostro PC, il BIOS (Basic Input Output System) si occupa di verificare, attraverso una serie di test, che il nostro hardware
Quinta lezione: Stampare e salvare una mappa
Quinta lezione: Stampare e salvare una mappa Stampa e salvataggio in vari formati. Utilizzare il prodotto per inserirlo in relazioni, come base di disegni In questa lezione vedremo come creare una mappa
GUIDA UTENTE WEB PROFILES
GUIDA UTENTE WEB PROFILES GUIDA UTENTE WEB PROFILES... 1 Installazione... 2 Primo avvio e registrazione... 5 Utilizzo di web profiles... 6 Gestione dei profili... 8 Fasce orarie... 13 Log siti... 14 Pag.
Esercitazione n. 10: HTML e primo sito web
+ Strumenti digitali per la comunicazione A.A 0/4 Esercitazione n. 0: HTML e primo sito web Scopo: Creare un semplice sito web con Kompozer. Il sito web è composto da una home page, e da altre due pagine
Introduzione a Word. Prima di iniziare. Competenze che saranno acquisite. Requisiti. Tempo stimato per il completamento:
Introduzione a Word Word è una potente applicazione di elaborazione testi e layout, ma per utilizzarla nel modo più efficace è necessario comprenderne gli elementi di base. Questa esercitazione illustra
On-line Corsi d Informatica sul Web
On-line Corsi d Informatica sul Web Corso base di Excel Università degli Studi della Repubblica di San Marino Capitolo 1 ELEMENTI DELLO SCHERMO DI LAVORO Aprire Microsoft Excel facendo clic su Start/Avvio
GESGOLF SMS ONLINE. Manuale per l utente
GESGOLF SMS ONLINE Manuale per l utente Procedura di registrazione 1 Accesso al servizio 3 Personalizzazione della propria base dati 4 Gestione dei contatti 6 Ricerca dei contatti 6 Modifica di un nominativo
2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.
Uso del computer e gestione dei file 57 2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento. All interno
CONTROLLO ORTOGRAFICO E GRAMMATICALE
CONTROLLO ORTOGRAFICO E GRAMMATICALE Quando una parola non è presente nel dizionario di Word, oppure nello scrivere una frase si commettono errori grammaticali, allora si può eseguire una delle seguenti
SOMMARIO... 3 INTRODUZIONE...
Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...
FUNZIONI DI IMPAGINAZIONE DI WORD
FUNZIONI DI IMPAGINAZIONE DI WORD IMPOSTARE LA PAGINA Impostare la pagina significa definire il formato del foglio e vari altri parametri. Per impostare la pagina occorre fare clic sul menu File e scegliere
GESCO MOBILE per ANDROID
GESCO MOBILE per ANDROID APPLICAZIONE PER LA GESTIONE DEI DISPOSITIVI GSM GESCO aggiornamenti su www.gesco.it GUIDA ALL USO Vi ringraziamo per aver scelto la qualità dei prodotti GESCO. Scopo di questa
FotoAeree. La Sardegna vista dall alto MANUALE PER L USO DELL APPLICAZIONE
FotoAeree La Sardegna vista dall alto MANUALE PER L USO DELL APPLICAZIONE REGIONE AUTONOMA DELLA SARDEGNA [2] Indice 1. Introduzione 2. Navigatore 5 7 8 9 2.1. Strumenti di navigazione 2.2. Ricerca 3.
Guida all'uso del CMS (Content Management System, Sistema di Gestione dei Contenuti)
GUIDE Sa.Sol. Desk: Rete Telematica tra le Associazioni di Volontariato della Sardegna Guida all'uso del CMS (Content Management System, Sistema di Gestione dei Contenuti) Argomento Descrizione Gestione
Figura 1 Le Icone dei file di Excel con e senza macro.
18 Le macro Le macro rappresentano una soluzione interessante per automatizzare e velocizzare l esecuzione di operazioni ripetitive. Le macro, di fatto, sono porzioni di codice VBA (Visual Basic for Applications)
Word è un elaboratore di testi in grado di combinare il testo con immagini, fogli di lavoro e
Word è un elaboratore di testi in grado di combinare il testo con immagini, fogli di lavoro e grafici, tutto nello stesso file di documento. Durante il lavoro testo e illustrazioni appaiono sullo schermo
paragrafo. Testo Incorniciato Con bordo completo Testo Incorniciato Con bordo incompleto
Applicare bordi e sfondi ai paragrafi Word permette di creare un bordo attorno ad un intera pagina o solo attorno a paragrafi selezionati. Il testo risulta incorniciato in un rettangolo completo dei quattro
2009 Elite Computer. All rights reserved
1 PREMESSA OrisDent 9001 prevede la possibilità di poter gestire il servizio SMS per l'invio di messaggi sul cellulare dei propri pazienti. Una volta ricevuta comunicazione della propria UserID e Password
ARGO DOC Argo Software S.r.l. e-mail: [email protected] -
1 ARGO DOC ARGO DOC è un sistema per la gestione documentale in formato elettronico che consente di conservare i propri documenti su un server Web accessibile via internet. Ciò significa che i documenti
Creare un nuovo articolo sul sito Poliste.com
Creare un nuovo articolo sul sito Poliste.com Questa breve guida ti permetterà di creare dei nuovi articoli per la sezione news di Poliste.com. Il sito Poliste.com si basa sulla piattaforma open-souce
PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1
Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6
CORSO DI INFORMATICA 2
CORSO DI INFORMATICA 2 RINOMINARE FILE E CARTELLE Metodo 1 1 - clicca con il tasto destro del mouse sul file o cartella che vuoi rinominare (nell esempio Mio primo file ) 2 - dal menu contestuale clicca
IMPOSTARE LO SFONDO DEL DESKTOP
IMPOSTARE LO SFONDO DEL DESKTOP per Windows 7 (SEVEN) Sei stanco di vedere il solito sfondo quando accendi il computer? Bene, è giunto il momento di cambiare lo sfondo dello schermo iniziale (il desktop).
