Lezione 15 Location e mappe
|
|
- Virginio Porta
- 8 anni fa
- Visualizzazioni
Transcript
1 A cura di Carlo Pelliccia La diffusione delle applicazioni location-based è certamente uno dei maggiori contributi resi dalle piattaforme mobili alla storia dell informatica. Un applicazione o un servizio possono definirsi location-based quando lavorano con il posizionamento geografico dell utente e dei luoghi di suo interesse. I software di navigazione satellitare, ad esempio, sono delle applicazioni location-based, così come lo sono tutte quelle app che mostrano dove l utente si trova e cosa c è nei suoi paraggi. Sono location-based anche quelle applicazioni che permettono di interagire con i social network geolocalizzati, come Foursquare o il servizio Places di Facebook. Google è stato un pioniere dei servizi location-based: Google Maps e Google Earth hanno spianato la strada ad una nuova generazione di applicazioni basate sulla geografia e sul posizionamento. Con Android, naturalmente, Google non smette di innovare. È con l avvento dei dispositivi mobili, infatti, che le applicazioni location-based possono finalmente sfruttare a pieno tutte le potenzialità dei servizi geolocalizzati. In questa lezione scopriremo come è facile mostrare mappe, cercare luoghi ed interagire con il ricevitore GPS del telefono. Location manager e provider Gli smartphone implementano solitamente uno o più meccanismi di localizzazione dell utente. Il GPS è quello più noto ed utilizzato, ma non è l unico meccanismo disponibile. I dispositivi di ultima generazione, infatti, sono in grado di localizzare la propria posizione verificando le reti GSM e Wi-Fi disponibili nei paraggi (in questo caso si parla di localizzazione network-based). Si tratta di un meccanismo di localizzazione meno accurato rispetto al GPS, ma lo stesso affidabile quando è sufficiente conoscere l area dove si trova l utente, e non si ha bisogno di calcolare la sua posizione precisa. Android offre un interfaccia di programmazione che astrae dal meccanismo di localizzazione utilizzato in sottofondo. Tale interfaccia è offerta sotto forma di servizio di sistema. Dall interno di un attività i servizi di sistema possono essere recuperati usando il metodo getsystemservice(). Il metodo richiede in argomento l identificativo del servizio di sistema desiderato. Gli ID dei servizi di sistema sono conservati in alcune costanti. Quello per il servizio di localizzazione è riportato nella costante Global Positioning System GPS è una di quelle sigle che tutti conoscono ma pochi comprendono. GPS sta per Global Positioning System, ossia sistema di posizionamento globale. Si tratta di un sistema costituito da una serie di satelliti artificiali in orbita intorno al pianeta. Ciascun satellite trasmette ciclicamente dei messaggi verso la superficie. I messaggi contengono il segnale orario e delle informazioni sulle orbite percorse. Il ricevitore GPS ascolta questi messaggi e li elabora. In base al ritardo dei segnali e ai contenuti dei messaggi, il ricevitore è in grado di calcolare la propria distanza da ciascun satellite. Nel momento in cui il ricevitore riesce ad agganciare il segnale di quattro o più satelliti, diventa possibile applicare un calcolo matematico simile, nel principio, alla triangolazione. In questa maniera, il ricevitore può determinare la propria posizione sul globo terracqueo, esprimendola in termini di latitudine e longitudine. Più sono i satelliti di cui il dispositivo riceve il segnale, più è accurata la posizione calcolata. LOCATION_SERVICE. Il metodo getsystemservice(), una volta recuperato il servizio, lo restituisce sotto forma di semplice Object. È dunque necessario eseguire un casting verso la classe reale del servizio, che in questo caso è android.location.locationmanager. Riassumendo, dall interno di un attività, il servizio di localizzazione si recupera alla seguente maniera: LocationManager locationmanager = (LocationManager) getsystemservice(location_service); I meccanismi di localizzazione disponibili sono classificati come provider. I due provider discussi in precedenza sono identificati con due costanti:
2 LocationManager.GPS_PROVIDER Identifica il provider collegato al ricevitore GPS del telefono. LocationManager.NETWORK_PROVIDER Identifica il provider che localizza in maniera approssimativa il telefono basandosi sulle reti raggiungibili. Prima di usare uno di questi due provider, bisogna verificare che sia supportato dal telefono che esegue l applicazione. Per farlo si può richiamare il metodo getprovider() di LocationManager. Il metodo restituisce null se il provider non è disponibile, mentre restituisce un risultato di tipo android.location.locationprovider nel caso lo sia. Ad esempio: LocationProvider gpsprovider = locationmanager.getprovider(locationmanager.gps_provider); if (gpsprovider == null) { // GPS non disponibile else { // GPS disponibile Gli oggetti LocationProvider, quando disponibili, forniscono informazioni sul provider richiesto, come la sua accuratezza e le caratteristiche supportate. Dopo essersi accertati che un provider è disponibile, altrettanto importante è controllare che sia anche attivo. L utente, infatti, potrebbe averlo disabilitato dalle impostazioni del telefono. Figura 1 Dalle impostazioni di sistema è possibile abilitare o disabilitare i servizi di localizzazione integrati. Per questo bisogna sempre verificare che siano attivi, prima di utilizzarli. L abilitazione di un provider può essere controllata con il metodo isproviderenabled() di LocationManager. Ad esempio: boolean gpsenabled = locationmanager.isproviderenabled(locationmanager.gps_provider); Prima di usare uno dei due provider, quindi, è meglio controllarne lo stato, in modo da suggerire all utente di abilitarlo prima di procedere. Ancora un importante avvertimento: per utilizzare correttamente i servizi di localizzazione, è necessario che l applicazione, nel proprio manifest, richieda l uso dei permessi android.permission.access_coarse_location (per la localizzazione basata sui network) e/o android.permission.access_fine_location (per la localizzazione GPS): <?xml version="1.0" encoding="utf-8"?> <manifest...> Pagina 2
3 ... <uses-permission android:name="android.permission.access_coarse_location" /> <uses-permission android:name="android.permission.access_fine_location" />... <application...>... </application> </manifest> Dove mi trovo? Passiamo a vedere come è possibile recuperare la posizione fornita da uno dei provider previsti. Le misurazioni vengono rappresentate mediante oggetti di tipo android.location.location. I principali e più importanti metodi messi a disposizione da questa classe sono: public long gettime() Restituisce la data in cui l informazione è stata calcolata, come UNIX timestamp (il numero di millisecondi trascorsi dal 1 Gennaio 1970 alle ore 00:00:00 GMT) public double getlatitude() Restituisce la misura di latitudine. public double getlongitude() Restituisce la misura di longitudine. public boolean hasaltitude() Restituisce true se la misurazione comprende anche un dato di altitudine. public double getaltitude() Se disponibile, restituisce la misura di altitudine. public boolean hasspeed() Restituisce true se la misurazione comprende anche un dato di velocità. public float getspeed() Se disponibile, restituisce la misura di velocità. L unità di misura è m/s (metri al secondo). Una maniera semplice e diretta per ottenere una misurazione è domandarla al LocationManager, servendosi del metodo getlastknownlocation(). Il metodo richiede l ID del provider da interrogare e restituisce un oggetto Location. Ad esempio: Location location = locationmanager.getlastknownlocation(locationmanager.gps_provider); Si faccia attenzione al fatto che getlastknownlocation() non calcola la posizione del telefono nel momento in cui lo si richiama: il metodo si limita a restituire l ultima misurazione disponibile per il provider richiesto. Può accadere che un provider sia stato disabilitato in un posto e riabilitato poi a chilometri di distanza, e che quindi la sua ultima misurazione sia completamente inservibile. Per avere dati freschi da uno dei provider, gli si deve esplicitamente chiedere di inviarli non appena disponibili. Il metodo utile per farlo è: public void requestlocationupdates( String provider, long mintime, float mindistance, LocationListener listener) Pagina 3
4 Gli argomenti hanno il seguente scopo: provider è l ID del provider (ad esempio LocationManager.GPS_PROVIDER o LocationManager.NETWORK_PROVIDER). mintime è il numero di secondi minimo che deve intercorrere tra una misurazione e la successiva. Con questo parametro si può evitare che dal provider vengano troppe informazioni, chiedendo di non mandare una nuova lettura se non è passato almeno un certo numero di secondi. mindistance è la distanza minima, in metri, che deve esserci tra una misurazione e la successiva. Anche in questo caso l argomento serve per filtrare le letture del provider ed evitare che da questo vengano troppe informazioni, chiedendo di non mandare una nuova lettura se non si è riscontrato uno spostamento di un certo numero di metri. listener è l oggetto, di tipo android.location.locationlistener, su cui verranno notificate tutte le misurazioni effettuate e filtrate secondo i parametri precedenti. Ad esempio: locationmanager.requestlocationupdates(locationmanager.gps_provider, 5, 1, mylocationlistener); Con questa richiesta si sottoscrive il provider GPS e si ricevono le letture e gli eventi provenienti da questo. Le letture, in particolar modo, saranno filtrate: solo se lo spostamento equivale ad almeno un metro, e comunque non più di una notifica ogni cinque secondi. Letture ed eventi saranno segnalati sull oggetto mylocationlistener, che naturalmente deve implementare l interfaccia LocationListener. L implementazione di LocationListener richiede la definizione dei seguenti metodi: public void onstatuschanged(string provider, int status, Bundle extras) Notifica un cambio di stato nel provider in argomento. Il nuovo stato (argomento status) può essere: LocationProvider.OUT_OF_SERVICE, se il provider è andato fuori servizio; LocationProvider.TEMPORARILY_UNAVAILABLE, se il provider è diventato temporaneamente non disponibile; LocationProvider.AVAILABLE, se il provider è tornato disponibile. public void onproviderenabled(string provider) Notifica che il provider indicato in argomento è stato abilitato. public void onproviderdisabled(string provider) Notifica che il provider indicato in argomento è stato disabilitato. public void onlocationchanged(location location) Notifica la lettura di una nuova posizione. Una volta che non occorre più conoscere le misurazioni provenienti dal location provider selezionato, è meglio annullare la sottoscrizione svolta in precedenza, agendo sul LocationManager con il metodo removeupdates(): Pagina 4
5 locationmanager.removeupdates(mylocationlistener); Programmazione Android LocationDemo Forti delle nozioni appena acquisite, andiamo a realizzare un applicazione che le metta in pratica. Chiameremo l applicazione LocationDemo. Definiamone il layout nel file res/layout/main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ScrollView android:layout_width="wrap_content" android:layout_height="wrap_content"> <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <TableRow android:padding="5px"> <TextView android:text="provider" android:padding="5px" <TextView android:id="@+id/provider" android:padding="5px" </TableRow> <TableRow android:padding="5px"> <TextView android:text="disponibile" android:padding="5px" <TextView android:id="@+id/available" android:padding="5px" </TableRow> <TableRow android:padding="5px"> <TextView android:text="abilitato" android:padding="5px" <TextView android:id="@+id/enabled" android:padding="5px" </TableRow> <TableRow android:padding="5px"> <TextView android:text="timestamp" android:padding="5px" <TextView android:id="@+id/timestamp" android:padding="5px" </TableRow> <TableRow android:padding="5px"> <TextView android:text="latitudine" android:padding="5px" <TextView android:id="@+id/latitude" android:padding="5px" </TableRow> <TableRow android:padding="5px"> <TextView android:text="longitudine" android:padding="5px" <TextView android:id="@+id/longitude" android:padding="5px" </TableRow> <TableRow android:padding="5px"> <TextView android:text="altitudine" android:padding="5px" <TextView android:id="@+id/altitude" android:padding="5px" </TableRow> <TableRow android:padding="5px"> <TextView android:text="velocità" android:padding="5px" <TextView android:id="@+id/speed" android:padding="5px" </TableRow> </TableLayout> </ScrollView> </LinearLayout> Si tratta di un layout molto semplice, che realizza una tabella all interno della quale andremo ad annotare i dati provenienti dal provider GPS. Pagina 5
6 Figura 2 LocationDemo è un app che si collega al ricevitore GPS e ne mostra le letture sul display. Andiamo all attività LocationDemoActivity, che realizza la logica del progetto appena descritta: package example.locationdemo; import java.util.date; import android.app.activity; import android.location.location; import android.location.locationlistener; import android.location.locationmanager; import android.location.locationprovider; import android.os.bundle; import android.widget.textview; public class LocationDemoActivity extends Activity { private String providerid = LocationManager.GPS_PROVIDER; private LocationListener mylocationlistener = new LocationListener() { ; public void onstatuschanged(string provider, int status, Bundle extras) { if (status == LocationProvider.AVAILABLE) { settextviewvalue(r.id.available, "TRUE"); else { settextviewvalue(r.id.available, "FALSE"); public void onproviderenabled(string provider) { settextviewvalue(r.id.enabled, "TRUE"); public void onproviderdisabled(string provider) { settextviewvalue(r.id.enabled, "FALSE"); public void onlocationchanged(location location) { updatelocationdata(location); public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Pagina 6
7 protected void onresume() { super.onresume(); settextviewvalue(r.id.provider, providerid); LocationManager locationmanager = (LocationManager) getsystemservice( LOCATION_SERVICE ); LocationProvider provider = locationmanager.getprovider(providerid); if (provider == null) { settextviewvalue(r.id.available, "FALSE"); else { settextviewvalue(r.id.available, "TRUE"); boolean gpsenabled = locationmanager.isproviderenabled(providerid); if (gpsenabled) { settextviewvalue(r.id.enabled, "TRUE"); else { settextviewvalue(r.id.enabled, "FALSE"); Location location = locationmanager.getlastknownlocation( LocationManager.GPS_PROVIDER ); if (location!= null) { updatelocationdata(location); locationmanager.requestlocationupdates(providerid, 5, 1, mylocationlistener); protected void onpause() { super.onpause(); LocationManager locationmanager = (LocationManager) getsystemservice( LOCATION_SERVICE ); locationmanager.removeupdates(mylocationlistener); private void settextviewvalue(int textviewid, String value) { TextView textview = (TextView) findviewbyid(textviewid); textview.settext(value); private void updatelocationdata(location location) { Date timestamp = new Date(location.getTime()); settextviewvalue(r.id.timestamp, timestamp.tostring()); double latitude = location.getlatitude(); settextviewvalue(r.id.latitude, String.valueOf(latitude)); double longitude = location.getlongitude(); settextviewvalue(r.id.longitude, String.valueOf(longitude)); if (location.hasaltitude()) { double altitude = location.getaltitude(); settextviewvalue(r.id.altitude, String.valueOf(altitude)); if (location.hasspeed()) { float speed = location.getspeed(); settextviewvalue(r.id.speed, String.valueOf(speed)); È importante osservare come l utilizzo del servizio di localizzazione sia stato collegato al ciclo di vita dell attività: si sono utilizzati i metodi onresume() e onpause(), rispettivamente, per avviare ed interrompere l utilizzo del servizio. In questa maniera il localizzatore viene invocato solo quando l attività sta occupando il display, e non quando gira in sottofondo. Non resta che mettere tutto insieme in AndroidManifest.xml: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" android:versioncode="1" android:versionname="1.0" package="example.locationdemo"> <uses-permission android:name="android.permission.access_fine_location" /> Pagina 7
8 <application <activity android:name=".locationdemoactivity" <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> </manifest> Emulare il GPS Quando si sviluppa un applicazione location-based, come l esempio appena illustrato, ci si scontra con il problema di come eseguirne il test ed il debug. Naturalmente è possibile installare l applicazione su uno smartphone ed andare a farsi un giro a piedi o in automobile, tuttavia questa non è la maniera migliore per test frequenti e debug efficaci. Per nostra fortuna è possibile impostare delle false coordinate geografiche sull emulatore fornito con l SDK. Con Eclipse lo si fa dalla scheda Emulator Control della prospettiva DDMS. È possibile fornire coordinate semplici, oppure caricarne una lista complessa da file di tipo GPX e KML. Figura 3 Con l Emulator Control di Eclipse DDMS è possibile inviare all emulatore false coordinate di localizzazione. Attenzione: se le coordinate inviate tramite l Emulator Control di Eclipse DDMS non funzionano correttamente, provate a chiudere l ambiente e a riavviarlo dopo aver aggiunto le seguenti righe al file eclipse.ini presente nella cartelle di installazione del vostro Eclipse: -Duser.country=US -Duser.language=en Coordinate GPS da riga di comando Se non utilizzate Eclipse, potete fornire false coordinate GPS all emulatore usando la riga di comando. Aprite il prompt dei comandi e connettetevi all emulatore via telnet: telnet localhost <porta> La porta usata dall emulatore è riportata nel titolo della finestra che lo contiene. In genere è 5554 o una cifra molto simile. Lanciate ora il comando: geo fix <longitude> <latitude> Ad esempio: Google Play services per Android geo fix Finora abbiamo appreso come accedere al servizio di localizzazione di Android per conoscere la posizione dell utente, ma questo è soltanto l inizio. Una vera e propria applicazione location-based, infatti, fa anche uso di mappe e di altri servizi analoghi. Poiché questo è un terreno in cui Google gioca in casa, abbiamo a nostra disposizione un ottima libreria di classi per l accesso facilitato ai servizi location-based di Mountain View. L accesso a questi servizi è mediato da una serie di classi comprese all interno di una libreria extra chiamata Google Play services. Le libreria non è parte integrante del sistema, e per questo, prima di utilizzarla, è necessario scaricarla ed integrarla nel proprio Android SDK. Potete farlo avviando il Pagina 8
9 manager del vostro Android SDK ed individuando, nel gruppo Extras, la voce Google Play services. Figura 4 La libreria Google Play services può essere scaricata ed installata usando l Android SDK Manager. Se il pacchetto è Not installed, selezionato e procedete con il download e l installazione. Progetto libreria Dopo aver installato la libreria di Google Play services, tornate alla schermata principale di Eclipse, selezionate la voce di menù File» Import e scegliete l opzione Android» Existing Android Code into Workspace. Figura 5 Avviate la procedura di import di codice Android esistente, selezionando la voce Android» Existing Android Code into Workspace. Così facendo, sarà avviata la procedura di import di codice Android pronto all uso all interno del workspace di Eclipse. Al passo successivo vi sarà chiesto il percorso del progetto da importare. Specificate il percorso che corrisponde, nel vostro caso specifico, a questo pattern: <android sdk>/extras/google/google_play_services/libproject Verrà caricata la lista dei progetti Android riconosciuta al percorso indicato. Dovrebbe quindi comparire la voce google-play-services_lib. Selezionatela. Attivate anche l opzione Copy projects into workspace e confermate il tutto con il tasto Finish. Pagina 9
10 Figura 6 Come Root Directory, impostate il percorso /extras/google/google_play_services/libproject all interno della vostra installazione dell Android SDK, quindi selezionate il progetto google-play-services_lib ed attivate l opzione Copy projects into workspace. Appena importato, il progetto google-play-services_lib potrebbe presentare qualche errore di compilazione. Di solito avviene perché non è abbinato alla stessa versione di Android che state utilizzando per lo sviluppo delle vostre app. Non fatevi prendere dal panico: potete risolvere facilmente aprendo le proprietà del progetto, selezionando la scheda Android ed impostando nel riquadro Project Build Target la vostra immagine di riferimento del sistema operativo. Google Maps API Key Ancora un passo ci separa dal poter scrivere app capaci di mostrare una mappa: abbiamo bisogno di ottenere una chiave (API key) per l accesso al servizio Google Maps. Per farlo dobbiamo fornire a Google l impronta SHA1 del certificato che utilizziamo per firmare le nostre applicazioni. Eclipse ci può fornire la firma del certificato di debug. La troviamo in una maschera delle preferenze, al percorso Android» Build. Figura 7 Eclipse mostra la forma MD5 e SHA1 del certificato di debug. Pagina 10
11 Copiate negli appunti la firma SHA1 del certificato di debug. Con il browser, collegatevi ora all indirizzo: Autenticatevi con la vostra utenza Google (se non siete già autenticati) ed usate il menù sulla sinistra per creare un nuovo API Project. Figura 8 Create un nuovo API Project, da associare poi al vostro progetto Android. Chiamate il progetto come l applicazione che ci accingiamo a realizzare, cioè MapsDemo. Selezionate la voce Services. Vi sarà presentato il lunghissimo elenco dei servizi per i quali Google offre una API. Localizzate la voce Google Maps Android API v2 ed abilitatela. Dovrete accettare le condizioni del servizio. Figura 9 Nella sezione services abilitate la voce Google Maps Android API v2. Selezionate ora la voce di menù API Access. Da qui azionate il tasto Create new Android key. Nella maschera di creazione della chiave vi sarà richiesto di inserire una o più righe con la firma SHA1 del certificato ed il package delle app che volete abilitare all uso delle API. Usate il carattere punto e virgola per separare i due elementi, ad esempio: BF:4F:BB:40:3C:C9:16:DD:5C:98:2C:E5:36:B5:F8:AA:30:82:FF:48;example.mapsdemoì Pagina 11
12 Figura 10 Inserite il package dell app Android per la quale si sta generando la chiave. È possibile registrare più certificati o più app: basta usare più di una riga. Se avete un certificato di rilascio, ad esempio, inserite in una seconda riga anche la firma SHA1 di quest ultimo. Android ve la può visualizzare durante la procedura di export di un APK firmato con tale certificato. Ad operazione completata, avrete una nuova entry di tipo Key for Android apps nella lista API Access. Copiate e conservate il valore API key riportato al suo interno. Figura 11 La nuova API key è stata generata e può ora essere utilizzata con l app Android. Configurare l app Possiamo finalmente creare un applicazione Android capace di sfruttare la libreria di Google Maps. In Eclipse, create un nuovo progetto. Chiamatelo MapsDemo, e come package di riferimento mettete example.mapsdemo. Subito dopo averlo creato, visualizzatene le proprietà. Nella sezione Android aggiungete una dipendenza da libreria. Lo si può fare dalla porzione Library, con il tasto Add. Scegliete la libreria importata in precedenza e confermate. Figura 12 Un progetto Android, per sfruttare una libreria importata nel workspace, deve referenziarla esplicitamente nella sezione Android» Library delle proprie preferenze. Pagina 12
13 Prima di passare al codice XML e Java, dobbiamo adesso aggiungere un paio di cose al manifest dell applicazione. La prima aggiunta da fare riguarda i permessi. Per utilizzate le API di Google Maps dobbiamo creare un permesso apposito, e poi dichiararne esplicitamente l uso: <permission android:name="example.mapsdemo.permission.maps_receive" android:protectionlevel="signature" /> <uses-permission android:name="example.mapsdemo.permission.maps_receive" /> Il permesso creato ha un nome che segue la nomenclatura: <app package>.permission.maps_receive È importante creare ed utilizzare questo tipo di permesso, in quanto i Google Play services e le Google Maps API, per funzionare, si relazionano con le app Play Store e Google Maps (che, infatti, devono essere presenti nel sistema affinché tutto ciò funzioni). La dichiarazione di questo permesso aggiuntivo permette una corretta e sicura comunicazione tra la nostra app e quelle di Google. L accesso alle mappe di Google richiede poi i seguenti permessi: <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_network_state" /> <uses-permission android:name="android.permission.write_external_storage" /> <uses-permission android:name="com.google.android.providers.gsf.permission.read_gservices" /> <uses-permission android:name="android.permission.access_coarse_location" /> <uses-permission android:name="android.permission.access_fine_location" /> Il rendering delle mappe richiede poi l uso di OpenGL ES versione 2, di cui non tutti i dispositivi Android sono dotati (alcuni vecchi telefoni potrebbero non supportare questa versione). Perciò aggiungiamo anche l elemento: <uses-feature android:glesversion="0x " android:required="true" /> Ultima operazione da compiere sul manifest è l inserimento della API key generata pochi minuti fa. Va inserita come ultimo elemento della sezione <application> (subito prima di </application>), alla seguente maniera: <meta-data android:name="com.google.android.maps.v2.api_key" android:value="<api KEY QUI>" /> Ricapitoliamo l intero AndroidManifest.xml dell app MapsDemo, dove ogni cosa è stata sistemata al posto giusto: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="example.mapsdemo" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="8" android:targetsdkversion="17" /> <permission android:name="example.mapsdemo.permission.maps_receive" android:protectionlevel="signature" /> Pagina 13
14 <uses-permission android:name="example.mapsdemo.permission.maps_receive" /> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_network_state" /> <uses-permission android:name="android.permission.write_external_storage" /> <uses-permission android:name="com.google.android.providers.gsf.permission.read_gservices" /> <uses-permission android:name="android.permission.access_coarse_location" /> <uses-permission android:name="android.permission.access_fine_location" /> <uses-feature android:glesversion="0x " android:required="true" /> <application android:allowbackup="true" > <activity android:name="example.mapsdemo.mainactivity" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <meta-data android:name="com.google.android.maps.v2.api_key" android:value="your_api_key" /> </application> </manifest> MapView Siamo finalmente pronti a scrivere quel (poco) codice necessario per includere una mappa all interno della nostra app dimostrativa MapsDemo. A tal scopo, le Google Maps API per Android espongono un apposito widget MapView (nel package com.google.android.gms.maps), che può facilmente essere inserito in qualunque layout. Usando un layout XML, ad esempio il file activity_main.xml del nostro progetto, possiamo fare alla seguente maniera: <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".mainactivity" > <com.google.android.gms.maps.mapview android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout> A questo punto, il layout può essere caricato all interno di una Activity, ad esempio la MainActivity del nostro progetto MapsDemo. Dopo averlo caricato, si deve sempre recuperare il riferimento all oggetto MapView contenuto al suo interno e conservarlo a livello di istanza. Affinché la mappa venga visualizzata correttamente, infatti, è necessario che l oggetto MapView venga messo a conoscenza degli eventi oncreate(), ondestroy(), onresume(), onpause() e opzionalmente anche onsaveinstancestate() previsti da Activity: package example.mapsdemo; import com.google.android.gms.maps.mapview; import android.app.activity; import android.os.bundle; Pagina 14
15 public class MainActivity extends Activity { private MapView mmapview; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); mmapview = (MapView) findviewbyid(r.id.map); mmapview.oncreate(savedinstancestate); protected void onresume() { super.onresume(); mmapview.onresume(); protected void onpause() { super.onpause(); mmapview.onpause(); MapFragment Un alternativa a MapView è MapFragment, che incorpora le mappe di Google all interno di un Fragment. Il vantaggio è che non c è bisogno di collegare il ciclo di vita della activity con quello della mappa: i fragment lo fanno già da soli. Lo svantaggio è che i fragment sono disponibili solo a partire da Android 3.0, e quindi usandoli si diminuisce la compatibilità dell applicazione. Esiste però un pacchetto JAR di compatibilità che permette di usare i fragment su qualunque versione di Android. Per saperne di più sui fragment: fragments.html protected void ondestroy() { super.ondestroy(); mmapview.ondestroy(); protected void onsaveinstancestate(bundle outstate) { super.onsaveinstancestate(outstate); mmapview.onsaveinstancestate(outstate); Potete lanciare l applicazione: poche righe di codice (praticamente nessuna, abbiamo svolto quasi esclusivamente operazioni di configurazione e collegamento) sono bastate per avere Google Maps all interno dell app. Figura 13 La mappa è completamente funzionale, l utente può interagire con essa attraverso i comandi incorporati. Pagina 15
16 Configurare le mappe Lavorando sul tag XML che incorpora una MapView all interno di un layout, è possibile configurare numerosissimi aspetti della mappa che ci si accinge a visualizzare. Il tag MapView, infatti, prevede una serie di attributi aggiuntivi. Per averli a disposizione, bisogna anzitutto includere il namespace corrispondente, alla seguente maniera: <com.google.android.gms.maps.mapview xmlns:map=" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" /> Così facendo, diventa possibile utilizzare gli attributi specifici di MapView, usando il prefisso map. Ad esempio: map:maptype="normal" Diamo un occhiata agli attributi aggiuntivi ora a disposizione: maptype. Stabilisce il tipo di mappa visualizzata. I valori validi sono: none (nessuna mappa), normal (mappa normale geometrica con scritte), hybrid (mappa satellitare con un layer di scritte), satellite (mappa satellitare senza scritte) e terrain (mappa dei rilievi). cameratargetlat, cameratargetlng, camerazoom, camerabearing, cameratilt. Questi attributi controllano la posizione iniziale della camera, determinando la porzioni di mappa visualizzata. uizoomcontrols, uicompass. Accettano valori booleani (true o false) che indicano, rispettivamente, se sulla mappa devono essere visualizzati i controlli per lo zoom e la bussola. uizoomgestures, uiscrollgestures, uirotategestures, uitiltgestures. Accettano valori booleani che indicano quali gesture sono abilitate. Ad esempio: <com.google.android.gms.maps.mapview xmlns:map=" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" map:camerabearing="0" map:cameratargetlat=" " map:cameratargetlng=" " map:cameratilt="30" map:camerazoom="10" map:maptype="hybrid" map:uicompass="true" map:uirotategestures="false" map:uiscrollgestures="true" map:uitiltgestures="true" map:uizoomcontrols="false" map:uizoomgestures="true" /> Controllare le mappe Cerchiamo adesso di fare qualcosa in più, cioè controllare dinamicamente, da codice Java, quello che il componente di Google Maps mostra all utente. Per farlo, cominciamo dal riferimento di tipo Pagina 16
17 MapView già a nostra disposizione. Da esso, grazie al metodo getmap(), possiamo cavare fuori un oggetto com.google.android.gms.maps.googlemap: GoogleMap map = (GoogleMap) mmapview.getmap(); La classe GoogleMap permette un controllo molto fine della mappa visualizzata all interno del componente. Una prima cosa che possiamo farci, è accendere la visualizzazione della posizione attuale dell utente, grazie al metodo setmylocationenabled(): map.setmylocationenabled(true); Così facendo, la posizione dell utente verrà evidenziata sulla mappa, attraverso un apposito pallino di colore blu. Possiamo anche aggiungere dei marcatori in dei punti di interesse che vogliamo evidenziare all utente. Ad esempio: MarkerOptions marker = new MarkerOptions(); marker.position(new LatLng( , )); marker.title("università"); marker.snippet("facoltà di informatica"); map.addmarker(marker); In questo modo, si aggiunge alla mappa un marker alla posizione (41,853069, 12, ), con titolo Università e breve descrizione Facoltà di informatica. Figura 14 Mappa ibrida con un marker. Altri metodi consentono un controllo ancora più fine, ed un disegno di dettaglio. La documentazione completa è disponibile all indirizzo: Pagina 17
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
DettagliSistemi Mobili e Wireless Android Localizzazione utente
Sistemi Mobili e Wireless Android Localizzazione utente Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Localizzazione utente
DettagliTale attività non è descritta in questa dispensa
Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa
DettagliEclipse - Nozioni Base
Eclipse - Nozioni Base Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliOffice 2007 Lezione 02. Le operazioni più
Le operazioni più comuni Le operazioni più comuni Personalizzare l interfaccia Creare un nuovo file Ieri ci siamo occupati di descrivere l interfaccia del nuovo Office, ma non abbiamo ancora spiegato come
DettagliMOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY
MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY 1 Sommario 1. INTRODUZIONE... 3 2. GET METAIO... 4 2.1. PREREQUISITI... 4 2.2. INTALLAZIONE... 4 2.3. PROGETTI ESEMPLIFICATIVI... 4 3. USARE
DettagliCapitolo 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
DettagliPOSTA ELETTRONICA Per ricevere ed inviare posta occorrono:
Outlook parte 1 POSTA ELETTRONICA La posta elettronica è un innovazione utilissima offerta da Internet. E possibile infatti al costo di una telefonata urbana (cioè del collegamento telefonico al nostro
DettagliPROGETTO PER LA TRASMISSIONE DOCUMENTI RELATIVI ALL APPROVAZIONE DELLE MANIFESTAZIONI IN FORMA DIGITALE
PROGETTO PER LA TRASMISSIONE DOCUMENTI RELATIVI ALL APPROVAZIONE DELLE MANIFESTAZIONI IN FORMA DIGITALE L approvazione di una manifestazione nazionale od internazionale comporta spesso la trasmissione
DettagliAndroid. Android03: Ciclo di vita di una Activity. diegozabot@yahoo.it
Android Android03: Ciclo di vita di una Activity diegozabot@yahoo.it Ciclo di vita Ciclo di vita La classe Activity gestisce i propri stati definendo una serie di eventi che ne governano il ciclo. Spetta
DettagliVisual basic base Lezione 01. L'ambiente di sviluppo
L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft
DettagliGuida 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
DettagliBDCC : Guida rapida all utilizzo
BDCC : Guida rapida all utilizzo 1 Sommario 1. Funzionamento del sistema... 3 1.1 Cos è e cosa contiene la BDCC... 3 1.2 Meccanismi di funzionamento della BDCC... 3 1.3 Organizzazione di contenuti all
Dettagliwww.filoweb.it STAMPA UNIONE DI WORD
STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere
DettagliUtilizzo della Intranet, forum privati Soci e Staff
Utilizzo della Intranet, forum privati Soci e Staff Se durante la registrazione ad Associazioni Milano avete fatto richiesta del servizio denominato Intranet, questo sarà subito disponibile già a partire
DettagliL ambiente di sviluppo Android Studio
L ambiente di sviluppo Android Studio Android Studio è un ambiente di sviluppo integrato (IDE, Integrated Development Environment) per la programmazione di app con Android. È un alternativa all utilizzo
DettagliFtpZone Guida all uso
FtpZone Guida all uso La presente guida ha l obiettivo di spiegare le modalità di utilizzo del servizio FtpZone fornito da E-Mind Srl. All attivazione del servizio E-Mind fornirà solamente un login e password
DettagliGuida informatica per l associazione #IDEA
Guida informatica per l associazione #IDEA Questa guida vi spiegherà come utilizzare al meglio gli strumenti informatici che utilizza l associazione #IDEA in modo da facilitare il coordinamento con tutti
DettagliPer 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
DettagliInstallazione e Configurazione della strumentazione necessaria. Antonio Gallo info@laboratoriolibero.com
Installazione e Configurazione della strumentazione necessaria Antonio Gallo info@laboratoriolibero.com Installazione e Configurazione della strumentazione necessaria Programmi accessori per poter sviluppare
DettagliInvio SMS. DM Board ICS Invio SMS
Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove
DettagliGuida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta
Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta. Configurazione Account di posta dell Università di Ferrara con il Eudora email Eudora email può
DettagliSOMMARIO... 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...
DettagliIl 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
DettagliGuida alla registrazione on-line di un DataLogger
NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso
DettagliCOME FARE UNA RICHIESTA DI ASSISTENZA ON LINE (AOL)
COME FARE UNA RICHIESTA DI ASSISTENZA ON LINE (AOL) Cos è l AOL? Pag. 2 Come inviare una richiesta AOL Pag. 3 La risposta dell assistenza Pag. 5 Come rispondere ad una risposta AOL Pag. 7 Ulteriori nozioni
DettagliBiblioteca di Cervia NOZIONI BASE DI INFORMATICA
Biblioteca di Cervia NOZIONI BASE DI INFORMATICA NOZIONI DI INFORMATICA Il PC è composto solitamente di tre parti principali: - Il Case, ovvero il contenitore del cuore del computer, da qui si accende
DettagliSTUDIUM.UniCT Tutorial per gli studenti
STUDIUM.UniCT Tutorial per gli studenti Studium.UniCT Tutorial Studenti v. 6 06/03/2014 Pagina 1 Sommario 1. COS È STUDIUM.UniCT... 3 2. COME ACCEDERE A STUDIUM.UniCT... 3 3. COME PERSONALIZZARE IL PROFILO...
DettagliPROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)
PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo
DettagliProduct Shipping Cost Guida d'installazione ed Utilizzo
Guida d'installazione ed Utilizzo Installazione Per installare il modulo è sufficiente copiare la cartella app del pacchetto del modulo nella cartella principale dell'installazione di Magento dove è già
DettagliMOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013]
MOCA Modulo Candidatura http://www.federscacchi.it/moca moca@federscacchi.it [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire
DettagliAlla scoperta della nuova interfaccia di Office 2010
Alla scoperta della nuova interfaccia di Office 2010 Una delle novità più eclatanti della versione 2007 era la nuova interfaccia con la barra multifunzione. Office 2010 mantiene questa filosofia di interfaccia
DettagliSistemi Mobili e Wireless Android Primi passi
Sistemi Mobili e Wireless Android Primi passi Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Ambiente di sviluppo L'ambiente
DettagliIntegrazione InfiniteCRM - MailUp
Integrazione InfiniteCRM - MailUp La funzionalità della gestione delle campagne marketing di icrm è stata arricchita con la spedizione di email attraverso l integrazione con la piattaforma MailUp. Creando
DettagliOffice 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,
DettagliEsercizio 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
DettagliAirone Gestione Rifiuti Funzioni di Esportazione e Importazione
Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...
DettagliProgetto di Ingegneria del Software 2. SWIMv2
Progetto di Ingegneria del Software 2 2012/2013 SWIMv2 Guida di installazione Docente: Prof. Luca Mottola Davide Brambilla Antonio Caputo Paolo Caputo 1 Introduzione La piattaforma è stata sviluppata come
Dettagli1.0 GUIDA PER L UTENTE
1.0 GUIDA PER L UTENTE COMINCIA FACILE Una volta effettuato il login vi troverete nella pagina Amministrazione in cui potrete creare e modificare le vostre liste. Una lista è semplicemnte un contenitore
DettagliMANUALE DI GESTIONE BANCA DATI INTERNET ED AREA FTP PER ESPERTI DI RAZZA
MANUALE DI GESTIONE BANCA DATI INTERNET ED AREA FTP PER ESPERTI DI RAZZA A cura di Giovanni Sleiter Indice 1. Introduzione a pagina 3 2. Richiesta abilitazione a pagina 3 3. Accesso alla Banca Dati a pagina
DettagliCome masterizzare dischi con Nero 11
Come masterizzare dischi con Nero 11 Non c è dubbio che Nero è diventato un sinonimo di masterizzatore di dischi, data la lunga esperienza sul mercato. Molte persone pensano in questo programma nel momento
DettagliGuida all uso delle Web View su ios
Guida all uso delle Web View su ios Tesina per il corso di Programmazione di Sistemi Mobile Lorenzo Pellegrini Matricola: 0000653299 Cosa sono le Web View? Le web view sono componenti grafiche, integrabili
DettagliCdL in Medicina Veterinaria - STPA AA 2007-08
CdL in Medicina Veterinaria - STPA AA 2007-08 Microsoft Windows Funzionalità di un S.O. Gestione dei file Gestione dei dispositivi di ingresso/uscita Comandi per l attivazione e la gestione di programmi
Dettagli. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi
Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare
DettagliInstallazione & Configurazione Php e MySQL su Mac Os X. Php
Installazione & Configurazione Php e MySQL su Mac Os X Php PHP è un linguaggio di scripting interpretato, con licenza Open Source, originariamente concepito per la realizzazione di pagine web dinamiche.
DettagliBlue s Hotel Pro Il software che hai sempre desiderato per il tuo Hotel!
Guida alla configurazione delle centrali innovaphone Versione 2.0 04-06-2006 Blue s Hotel Pro Il software che hai sempre desiderato per il tuo Hotel! Blue s Hotel Pro è la soluzione ideale per i piccoli
DettagliL amministratore di dominio
L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un
DettagliQ U E S T U R A di V A R E S E Ufficio di Gabinetto
Q U E S T U R A di V A R E S E Ufficio di Gabinetto Manuale per la gestione del servizio di invio telematico delle schedine alloggiati Servizio di Invio Telematico Schedine Alloggiati Indice Inserimento
DettagliLCMobile Restaurant. Guida su come usare il software per palmare LCMobile Restaurant.
LCMobile Restaurant Guida su come usare il software per palmare LCMobile Restaurant. Per prima cosa bisogna installare il file LCMobile-Restaurant.exe sul proprio PC dove e collegata la base del palmare.
DettagliSe avete domande scrivetemi a vtornar@libero.it
QuestionMark Il QuestionMark è un applicazione java che non richiede installazione, per avviarla bisogna fare doppio clic sul file QuestionMark.jar presente nella stessa cartella di questo file Leggimi.
DettagliMANUALE PARCELLA FACILE PLUS INDICE
MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella
DettagliMANUALE D'USO DEL PROGRAMMA IMMOBIPHONE
1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma
Dettagliwww.associazioni.milano.it - Il sito dedicato alle associazioni no-profit di Milano e provincia
Utilizzo del Forum NEWS Il forum news è stato pensato per dare ad ogni associazione la possibilità di pubblicare una pagina di novità all intero del proprio sito (scheda o pagina autocomposta). E la sezione
DettagliUso di base delle funzioni in Microsoft Excel
Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce
DettagliConfiguration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1
Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...
DettagliCome utilizzare il sito Verdeazzurroligure
Come utilizzare il sito Verdeazzurroligure Nel marzo 2016, con la nuova versione del sito Verdeazzurroligure, non solo si rinnova la grafica, ma si sviluppano nuove funzionalità che prima erano impossibili.
DettagliCapitolo 20: Render. Avviate MasterChef dall icona presente sul vostro Desktop.
Capitolo 20: Render Avviate MasterChef dall icona presente sul vostro Desktop. Nota: Se state utilizzando una versione dimostrativa, una volta caricato il programma, un messaggio vi comunicherà i giorni
DettagliUtilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015
Utilizzo della APP IrriframeVoice Versione 1.0 maggio 2015 0.0 Installazione Sul telefono o sul tablet andare sullo store delle applicazioni per scaricare la APP A seconda del sistema operativo del telefono
DettagliFile, 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
DettagliSTAMPA DI UNA PAGINA SEMPLICE
Pagina 11 copiati nel proprio sistema (disco fisso o floppy). Questa operazione è detta download o scaricamento. Il modo più semplice per effettuare un download di un file (a meno che non sia specificato
DettagliAccise Settore Prodotti Alcolici Manuale d uso
Olitech Informatica Telematico Accise Accise Settore Prodotti Alcolici Manuale d uso Versione del manuale: 26-01-2010 1 Indice Accise Settore Prodotti Alcolici Manuale d uso... 1 Indice... 2 Funzionalità
DettagliGUIDA PER LA CONNESSIONE ALLA RETE WIRELESS E ALL USO DEL SERVIZIO BERGAMO Wi-Fi
GUIDA PER LA CONNESSIONE ALLA RETE WIRELESS E ALL USO DEL SERVIZIO BERGAMO Wi-Fi Requisiti necessari per l utilizzo di Bergamo Wifi: - Computer/Tablet/Smartphone dotato di interfaccia wireless - Disporre
DettagliPIANO 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
DettagliNOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0
Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2
Dettagli11/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
DettagliMANUALE 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
DettagliRegistratori 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...
DettagliCominciamo 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.
Dettaglitommaso.iacomino@gmail.com INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1
INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1 IMPORTANTE: forse non visualizzate questa barra, se così fosse usiamo questa procedura: posizioniamo il cursore sulla parte vuota tasto destro del
DettagliUso dei modelli/template
Uso dei modelli/template Il modello (o template, in inglese) non è altro che un normale file di disegno, generalmente vuoto, cioè senza alcuna geometria disegnata al suo interno, salvato con l estensione.dwt.
DettagliNAVIGARE FRA LE PRATICHE...
Manuale veloce AUTENTICAZIONE... 3 REGISTRAZIONE... 4 NAVIGARE FRA LE PRATICHE... 5 PRATICA TELEMATICA : AVVIO... 7 PRATICA TELEMATICA : COMPILAZIONE, FIRMA DIGITALE E INVIO... 8 PRATICA TELEMATICA : COMPILAZIONE
DettagliCome utilizzare il nuovo HelpDesk Maggioli Informatica
Come utilizzare il nuovo HelpDesk Maggioli Informatica Sommario 1. Home... 2 2. Tickets... 3 3. Nuove richieste... 3 4. Knowledge Base... 5 5. Documenti... 5 6. Referenti... 6 7. Come modificare e/o resettare
DettagliNUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.
NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti
DettagliGHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.
*+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti
DettagliI M P O S T A R E U N A C C O U N T D I P O S T A C O N M O Z I L L A T H U N D E R B I R D
I M P O S T A R E U N A C C O U N T D I P O S T A C O N M O Z I L L A T H U N D E R B I R D C O N F I G U R A R E L A M A I L 1) Aperto il programma, cliccare su strumenti > impostazioni account. 2) Si
DettagliTricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002
Tricks & Tips [Access] - Michele de Nittis - Tutorial - ActiveX - Controllo Tree View Versione: 1 Data Versione: venerdì 30 agosto 2002 1 SOMMARIO PREMESSA...3 INSERIMENTO DEL CONTROLLO...3 AGGIUNTA DELLE
DettagliGESCO 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
DettagliIl web server Apache Lezione n. 3. Introduzione
Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar
DettagliGateManager. 1 Indice. tecnico@gate-manager.it
1 Indice 1 Indice... 1 2 Introduzione... 2 3 Cosa vi serve per cominciare... 2 4 La Console di amministrazione... 2 5 Avviare la Console di amministrazione... 3 6 Come connettersi alla Console... 3 7 Creare
Dettagli2.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
DettagliIntroduzione. Descrizione. FRITZ!APP Fon
FRITZ!App 1 Introduzione In questa mini-guida presenteremo una carrellata delle FRITZ!App, le applicazioni per smartphone e tablet sviluppate da AVM. Con le FRITZ!App i principali servizi di Telefonia,
DettagliUtilizzo del Terminalino
Utilizzo del Terminalino Tasti: - ENT: funzionano come INVIO - SCAN: per attivare il lettore di barcode - ESC: per uscire dal Menù in cui si è entrati - BKSP: per cancellare l ultimo carattere digitato
DettagliPSNET UC RUPAR PIEMONTE MANUALE OPERATIVO
Pag. 1 di 17 VERIFICHE E APPROVAZIONI VERSIONE V01 REDAZIONE CONTROLLO APPROVAZIONE AUTORIZZAZIONE EMISSIONE NOME DATA NOME DATA NOME DATA PRATESI STATO DELLE VARIAZIONI VERSIONE PARAGRAFO O DESCRIZIONE
DettagliHikVision. Creazione e gestione di collegamenti con sistemi TVCC HikVision DVR/Network Camera
HikVision Creazione e gestione di collegamenti con sistemi TVCC HikVision DVR/Network Camera Febbraio 2015 2 Creazione e gestione di collegamenti con sistemi TVCC HikVision DVR/Network Camera INDICE EUREKA
DettagliPIATTAFORMA DOCUMENTALE CRG
SISTEMA DI GESTIONE DOCUMENTALE DMS24 PIATTAFORMA DOCUMENTALE CRG APPLICAZIONE PER LE PROCEDURE DI GARE D AMBITO 1 AGENDA 1. Introduzione 2. I Livelli di accesso 3. Architettura di configurazione 4. Accesso
DettagliFINE ANNO BOLLE / FATTURE PER E/SATTO
FINE ANNO BOLLE / FATTURE PER E/SATTO (ver. 3 07/11/2014) Sito web:!"#$%$# e-mail istituzionale: $ &'!"#$%$# PEC:!"#$%'(")*(+*$($# % INDICE e-mail istituzionale: #&'!"#$#" PEC:!"#$'(!)*(+*#(#" & Premessa
DettagliManuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1
Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ Versione 1.1 Autore Antonio Barbieri, antonio.barbieri@gmail.com Data inizio compilazione 11 maggio 2009 Data revisione 14 maggio 2009 Sommario
DettagliYour Detecting Connection. Manuale utente. support@xchange2.net
Your Detecting Connection Manuale utente support@xchange2.net 4901-0133-4 ii Sommario Sommario Installazione... 4 Termini e condizioni dell applicazione XChange 2...4 Configurazione delle Preferenze utente...
DettagliMANUALE UTENTE INFOCAR REPAIR ACCESSO SMARTPHONE/TABLET
ACCESSO SMARTPHONE/TABLET Sommario PRIMO ACCESSO SMARTPHONE/TABLET... 3 GUIDA INSTALLAZIONE APP INFOCAR REPAIR IPHONE-IPAD... 3 GUIDA PRIMO ACCESSO APP... 8 GUIDA ALL UTILIZZO APP... 11 2 PRIMO ACCESSO
DettagliFASI DA ESEGUIRE ON-LINE
FASI DA ESEGUIRE ON-LINE a) registrazione del candidato mediante apposito link presente sul portale della Regione Basilicata e rilascio delle credenziali di accesso necessarie per procedere alla candidatura
DettagliModuli (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
DettagliMANUALE 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
DettagliManuale Operativo Beneficiario Sfinge2020
Manuale Operativo Beneficiario Sfinge2020 Pag. 1 di 20 Identificazione Edizione 1.3 Titolo SFINGE 2020 Manuale Operativo Beneficiario Tipo Manuale Utente N. Pagine 20 Diffusione o Riservata o Interna x
DettagliInoltro telematico delle pratiche SUAP
Pagina 1 di 9 Agg.to 01 febbraio 2016_v.001 Inoltro telematico delle pratiche Come autenticarsi 1- Come cambia l invio delle pratiche Per accedere al sito regionale è necessario autenticarsi con un dispositivo
DettagliExcel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it
Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
DettagliCARICAMENTO IN ASCOT DEL FASCICOLO ELETTORALE ELETTRONICO
CARICAMENTO IN ASCOT DEL FASCICOLO ELETTORALE ELETTRONICO 1) Predisposizione della cartella con i file da caricare - Creazione della cartella - Inserimento nella cartella dei file XML - Compressione della
DettagliGuida in linea di Websense Secure Messaging
Guida in linea di Websense Secure Messaging Benvenuti in Websense Secure Messaging, uno strumento che offre un portale sicuro per la trasmissione e la visualizzazione di dati riservati contenuti nelle
DettagliGPS MANAGER Manuale Utente
GPS MANAGER Manuale Utente Introduzione GPS Manager è il software AIM che mette la tecnologia GPS al servizio del pilota. Esso permette infatti di entrare in pista e cominciare a registrare i tempi sul
DettagliManuale Utente. Gestione Richieste supporto Data Warehouse. Della Ragioneria Generale dello Stato. Versione 1.0. Roma, Ottobre 2015
Manuale Utente Gestione Richieste supporto Data Warehouse Della Ragioneria Generale dello Stato Versione 1.0 Roma, Ottobre 2015 1 Indice 1 Generalità... 3 1.1 Scopo del documento... 3 1.2 Versioni del
Dettagli