Tag Archives: java

Android Lezione 17 – Aggiungiamo le mappe alla nostra app Parte 2

Eccoci finalmente alla seconda parte dell’introduzione alle mappe android, la lezione precedente era principalmente incentrata sul far andare google maps sull’emulatore e su come configurare la nostra app per poter visualizzare le mappe,

In questa seconda parte spiegheremo nel dettaglio il codice di esempio di google utilizzato nella lezione, spiegando metodo per metodo cosa viene fatto

Quindi ora riprendiamo il codice della parte uno e spieghiamolo nel dettaglio:

 

import com.google.android.gms.maps.*;
import com.google.android.gms.maps.model.*;
import android.app.Activity;
import android.os.Bundle;
 
public class MapPane extends Activity implements OnMapReadyCallback {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map_activity);
 
        MapFragment mapFragment = (MapFragment) getFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }
 
    @Override
    public void onMapReady(GoogleMap map) {
        LatLng sydney = new LatLng(-33.867, 151.206);
 
        map.setMyLocationEnabled(true);
        map.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 13));
 
        map.addMarker(new MarkerOptions()
                .title("Sydney")
                .snippet("The most populous city in Australia.")
                .position(sydney));
    }
}

Continue reading Android Lezione 17 – Aggiungiamo le mappe alla nostra app Parte 2

Android Lezione 16 – Aggiungiamo le mappe alla nostra app Parte I

Iniziamo ora una serie di lezioni (il numero ancora non è definito) relativa ai servizi di google maps.

In questa prima parte vedremo principalmente i passi per configurare e installare i servizi di google maps. Google maps ora è diventato parte dei servizi di Play services.

Quindi prima di tutto occorre se non è stato gia fatto in precedenza installare i Play services. Come per altri componenti, questi si installano mediante l’sdk manager. Li potete trovare nella sezione “Extras”.

Una volta installati, per rendere disponibili questi servizi alla nostra app (e non incorrere in errori di compilazione del nostro progetto) dobbiamo importare il progetto google-play-services_lib dentro eclipse , questo progetto si trova nel seguente path:

~/sdkpath/extras/google/google_play_services/libproject/google-play-services_lib/

Dopo di chè dobbiamo aggiungerlo come libreria al progetto che utilizzerà google maps. Per farlo, aprite le properties del vostro progetto, aprite il tab Android e aggiungete il progetto google-play-services_lib nella sezione library:

Aggiungere play services lib a progetto Continue reading Android Lezione 16 – Aggiungiamo le mappe alla nostra app Parte I

Android lezione 15 – Aggiungiamo un database con SQLite

In questa lezione vedremo come salvare dei dati della nostra applicazione in un database relazionale con SQLite. Per chi non lo sapesse, SQLIte è un database relazionale, che non necessita dell’installazione di nessun server, e tutto avviene all’interno di un file (dove ogni database è contenuto in un file differente).

Ora immaginiamo di voler sviluppare una applicazione che salvi delle note composte da un titolo all’interno di un database, in questa lezione vedremo come svilupparla (mi concentreró sulla parte relativa alla gestione del database, lasciando a voi tutto ciò che riguarda l’interfaccia grafica). Per utilizzare i database avremo bisogno di una classe che estende SQLiteOpenHelper, e faccia l’override dei metodi:

  • onCreate
  • onUpdate

E che abbia un costruttore che mediante super chiami il costruttore della classe padre. Iniziamo con il vedere la struttura base della classe:

public class DatabaseHelper extends SQLiteOpenHelper {
 
	public DatabaseHelper(Context context, String name, CursorFactory factory,
			int version) {
		super(context, name, factory, version);
	}
 
	@Override
	public void onCreate(SQLiteDatabase db) {
		// TODO Auto-generated method stub
 
	}
 
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldversion, int newversion) {
		// TODO Auto-generated method stub
 
	}
}

Continue reading Android lezione 15 – Aggiungiamo un database con SQLite

Android Lezione 14 – I fragment

In questa lezione vedremo una delle feature introdotte con le versioni più recenti di android, per essere precisi con la versione 3. Si tratta dei Fragment, un altro modo per gestire la parte grafica della nostra applicazione, utile sopratutto se abbiamo layout specifici per tablet (ma non solo come vedremo).

Si tratta in pratica (secondo la definizione ufficiale) di una porzione dell’interfaccia grafica di un activity. Possiamo combinare più Fragment all’interno della stessa activity se vogliamo, come possiamo riusare lo stesso fragment all’interno di diverse Activity. In pratica si tratta di un “modulo” dell’activity, di una sotto sezione.

Questa caratteristica lo rende appuntio molto utile per gestire diversi tipi di schermi, rendendo l’interfaccia grafica della nostra applicazione più modulare.

É importante notare, che anche se è stata introdotta a partire dalla versione te, le caratteristiche dei fragment sono sfruttabili anche in versioni precedenti di android, utilizzando le support-library, che sono dei pacchetti jar, che contengono alcune features delle nuove versioni di android, utilizzabili su dispositivi meno recenti (da android 1.6 in su, prossimamente farò una lezione su come includere le support library nel vostro progetto).

In questo capitolo vedremo come sviluppare una applicazione con due layout distinti, uno specifico per smartphone, e uno specifico per tablet. I due layout saranno strutturati nella seguente maniera:

  • La versione smartphone avrà una prima schermata di menù, e poi in base alla selezione dell’utente si apriranno schermate distinte
  • La versione tablet avrá un menù sulla sinistra fisso con tre elementi, e nella parte destra verranno caricate le varie schermate in base alla selezione dell’utente (che avranno al loro interno delle semplici textView).

Quello che avremo sará che il layout per smartphone avrà i due fragment in due schermate distinte, mentre la seconda li conterrá entrambi all’interno della stessa chermata. Graficamente:

Fig 1. Fragments

Continue reading Android Lezione 14 – I fragment

Android lezione 13 – A fondo nel manifest

Dopo qualche mese di silenzio, riprendiamo finalmente le lezioni android di italialinux. Questa volta non andremo a  vedere altro codice, ma ci concentremo sul file di Manifest, cercando di spiegare  come comprendere e modificarlo a nostro piacimento. Il file AndroidManifest.xml in realtá è una specie di biglietto da visita dell’applicazione (o forse sarebbe meglio da dire il curriculum 🙂 ), dove specifichiamo tutte le informazioni riguardanti la nostra applicazione, quali:

  • Informazioni di presentazione (quali nome package, versione, numero revisione, etc)
  • Requisiti de sistema android  dell’app
  • Informaizoni grafiche: layout, icona.
  • Informazioni permessi, ovvero a quali servizi la nostra applicazione accede
  • Informazioni riguardanti la struttura delle activity e le azioni alle quali devono rispondere.

Android logo

 

Continue reading Android lezione 13 – A fondo nel manifest

Eclipse non parte

Non so voi ma a me di tanto in tanto capita che eclipse non parte più mostrandomi a schermo un messaggio tipo: “An error occurred, please see the log file at….”

Se vi si è presentato anche a voi, e ancora non lo avete risolto, ecco una breve guida su come fare per far ripartire questa applicazione.

Prima di tutto aprite un terminale, e portatevi nella cartella del workspace che sta facendo i capricci (attenzione non in quella di eclipse!! Ma il workspace che state utilizzando per i vostri progetti).

Continue reading Eclipse non parte

Android lezione 11 – Ricevere gli SMS

Nella lezione precedente abbiamo visto come spedire un sms dal nostro android, ora come promesso vi spiegherò come riceverli. Per implementare la ricezione degli sms useremo un nuovo oggetto specifico di android. Il BroadcastReceiver. Si tratta di una classe astratta, che viene utilizzata dalle applicazioni android qualora queste vogliano ricevere dati dalle intent che vengono spedite dalla sendBroadcast().

 

Dal momento che le intent che si possono ricevere (o spedire) sono molte, possiamo istruire la nostra applicazione per rispondere solo ad alcune di esse. E questo lo si puó agevolmente fare  tramite il Manifest. In questo caso le intent che dovranno essere ricevute dal nostro BroadcastReceiver vanno inserite all’interno del tag chiamato appunto <receiver …> che viene utilizzato appunto per configurare questo tipo di oggetti. Quindi quello che dovremo aggiungere sarà:

Continue reading Android lezione 11 – Ricevere gli SMS

In-App billing per comuni mortali – puntata 4 CHECK_BILLING_SUPPORTED

In questa lezione effettueremo la nostra prima richiesta al servizio in-app di android, per la precisone utilizzeremo la richiesta CHECK_BILLING_SUPPORTED  che ci permetterá di sapere se il device è abilitato o meno a questa tipologia di pagamento (non tutte le versioni di android supportano l’in-app billing).

Le richieste disponibili – Numero 1: CHECK_BILLING_SUPPORTED

La prima richiesta che andiamo a vedere, é anche la piú semplice, ed é quella per verificare che l’in-app billing sia supportato dal telefonino. Questa richiesta non genera delle risposte asincrone, ma bensí solo un risposta sincrona. con il RESPONSE_CODE il cui valore ci dirá se possiamo fare o meno le richieste in-app.  Nell’immagine seguente vedete come é la sequenza di chiamate risposte per questo comando (l’immagine é stata presa dalla documentazione android di google)
.

Continue reading In-App billing per comuni mortali – puntata 4 CHECK_BILLING_SUPPORTED

Android lezione 10 – Spedire SMS e introduzione al file manifest

Bene visto che abbiamo imparato durante tutte queste lezioni a lavorare co alcuni degli elementi dell’interfaccia grafica di android, questa volta inizieremo anche ad interagire con alcuni servizi del telefono. Quello che andremo a vedere é forse una delle caratteristiche piú usate nei telefonini di tutto il mondo: gli SMS!! Vi spiegheró come realizzare una semplice applicazione per inviare e ricevere gli SMS. Nel fare questo vedremo anche dei concetti nuovi, come per esempio gli inten-filter e le relative action, andremo a mettere mano direttamente al File AndroidManifest. Vedremo cosa sono le permission, etc. Quindi non ci resta che iniziare 🙂

Parte 1 – configurazione del servizio Una delle caratteristiche di android, é che ogni volta che installiamo una applicazione, sappiamo sempre quello che avrá il permesso o meno di fare. Avete presente la schermata di installazione ? Bene se non ci avete mai fatto caso, in quella schermata vengono riepilogate tutti servizi/componenti del telefonino utilizzate dall’app. Un esempio é la screenshot seguente:

Continue reading Android lezione 10 – Spedire SMS e introduzione al file manifest

Gentoo: java nel browser

Recentemente nel seguire alcuni tutorial java che mostravano l’output all’interno di alcune applet, ho constatato con disappunto che il mio browser non era stato mai configurato per visualizzarle. Quindi qui vi spiegheró come abilitare i plugin java nei browsers della nostra gentoo.

Continue reading Gentoo: java nel browser