From Push Technology to Real-Time Messaging and WebSocketsAlessandro Alinone
The History of Data Push and the Lightstreamer Technology.
Agenda:
- Quick company background
- Some use cases based on Lightstreamer
- Push technology and Real-Time Messaging: history and techniques
- Lightstreamer Server: architecture, features, and live examples
- Other products: Lightstreamer JMS Extender
From Push Technology to Real-Time Messaging and WebSocketsAlessandro Alinone
The History of Data Push and the Lightstreamer Technology.
Agenda:
- Quick company background
- Some use cases based on Lightstreamer
- Push technology and Real-Time Messaging: history and techniques
- Lightstreamer Server: architecture, features, and live examples
- Other products: Lightstreamer JMS Extender
Wearable Lab: Progettazione per Apple WatchPaolo Musolino
Le applicazioni mobile hanno trovato diffusione su larga scala attraverso gli smartphone. Oggi queste app hanno un nuovo modo di essere portate in mobilità grazie ad Apple Watch, un dispositivo wearable capace di sfoggiare una interfaccia familiare come quella di iOS. Ma progettare app per l’Apple Watch pone gli sviluppatori e i designer di fronte ad una nuova sfida ancora più audace: con un piccolo schermo c’è molto meno spazio per l’interazione dell’utente. In questo lab tenuto a Todi Appy Days 2015, assieme all'amico Erik Peruzzi ho spiegato quali sono le possibilità offerta da Apple Watch, come farlo comunicare con iPhone, e cosa possiamo aspettarci nel breve periodo grazie all’introduzione di Watch OS 2.
Introduzione alla programmazione android - Android@tulug lezione 3Ivan Gualandri
Terza lezione del corso android tenuto presso il TuLug (Tuscia Lug) A Viterbo. Le slides sono completamente in italiano (Slides are in italian! Sorry!)
Microsoft Band e' uno dei piu' innovativi e cross platform smartwatch sul mercato. Recentemente sono stati rilasciati SDK per le principali piattaforme mobile. In questa sessione vedremo come interagire con lo smartwatch da applicazioni Windows Phone e Windows Store.
Breve panoramica su alcuni argomenti della programmazione di dispositivi mobili basata sul Sistema Android. In particolare ho analizzato e sviluppato delle mini applicazioni su: BroadcastReceiver, Intents e Intent Filter, Data Storage e Location API.
Notifiche Locali vs Notifiche Push - di Gabriele CoppolaGiuneco S.r.l
Le notifiche locali sono un meccanismo di comunicazione con l’utente per permettere la ricezione di certe informazioni, gestite come popup con testo ed eventualmente immagini. Se l’utente fa tap sul popup, il Sistema operative apre l’app che ha comunicato la notifica.
Le notifiche locali sono inviate dalle applicazione installate sul device e sono utilizzate spesso come reminders, eventi di calendario o informazioni basate sulla posizione.
Ogni piattaforma ha un suo meccanismo nativo per creare, mostrare ed utilizzare le notifiche locali
Le notifiche push sono un meccanismo di comunicazione con l’utente per permettere la ricezione di certe informazioni, gestite come popup con testo ed eventualmente immagini. Se l’utente fa tap sul popup, il Sistema operative apre l’app che ha comunicato la notifica.
Le notifiche push sono gestite attraverso infrastrutture platform-specific chiamate Platform Notification Systems (PNS), le quali offrono funzionalità base quali invio e ricezione della notifica, ma non hanno un interfaccia comune.
Per inviare una notifica cross-platform, ovvero la stessa notifica per device Android e iOS, dovremmo lavorare separatamente sui PNS, Apple Push Notification Service (APNS) per iOS, Firebase Cloud Messaging (FCM) per Android, ed implementare le relative funzionalità.
Wearable Lab: Progettazione per Apple WatchPaolo Musolino
Le applicazioni mobile hanno trovato diffusione su larga scala attraverso gli smartphone. Oggi queste app hanno un nuovo modo di essere portate in mobilità grazie ad Apple Watch, un dispositivo wearable capace di sfoggiare una interfaccia familiare come quella di iOS. Ma progettare app per l’Apple Watch pone gli sviluppatori e i designer di fronte ad una nuova sfida ancora più audace: con un piccolo schermo c’è molto meno spazio per l’interazione dell’utente. In questo lab tenuto a Todi Appy Days 2015, assieme all'amico Erik Peruzzi ho spiegato quali sono le possibilità offerta da Apple Watch, come farlo comunicare con iPhone, e cosa possiamo aspettarci nel breve periodo grazie all’introduzione di Watch OS 2.
Introduzione alla programmazione android - Android@tulug lezione 3Ivan Gualandri
Terza lezione del corso android tenuto presso il TuLug (Tuscia Lug) A Viterbo. Le slides sono completamente in italiano (Slides are in italian! Sorry!)
Microsoft Band e' uno dei piu' innovativi e cross platform smartwatch sul mercato. Recentemente sono stati rilasciati SDK per le principali piattaforme mobile. In questa sessione vedremo come interagire con lo smartwatch da applicazioni Windows Phone e Windows Store.
Breve panoramica su alcuni argomenti della programmazione di dispositivi mobili basata sul Sistema Android. In particolare ho analizzato e sviluppato delle mini applicazioni su: BroadcastReceiver, Intents e Intent Filter, Data Storage e Location API.
Notifiche Locali vs Notifiche Push - di Gabriele CoppolaGiuneco S.r.l
Le notifiche locali sono un meccanismo di comunicazione con l’utente per permettere la ricezione di certe informazioni, gestite come popup con testo ed eventualmente immagini. Se l’utente fa tap sul popup, il Sistema operative apre l’app che ha comunicato la notifica.
Le notifiche locali sono inviate dalle applicazione installate sul device e sono utilizzate spesso come reminders, eventi di calendario o informazioni basate sulla posizione.
Ogni piattaforma ha un suo meccanismo nativo per creare, mostrare ed utilizzare le notifiche locali
Le notifiche push sono un meccanismo di comunicazione con l’utente per permettere la ricezione di certe informazioni, gestite come popup con testo ed eventualmente immagini. Se l’utente fa tap sul popup, il Sistema operative apre l’app che ha comunicato la notifica.
Le notifiche push sono gestite attraverso infrastrutture platform-specific chiamate Platform Notification Systems (PNS), le quali offrono funzionalità base quali invio e ricezione della notifica, ma non hanno un interfaccia comune.
Per inviare una notifica cross-platform, ovvero la stessa notifica per device Android e iOS, dovremmo lavorare separatamente sui PNS, Apple Push Notification Service (APNS) per iOS, Firebase Cloud Messaging (FCM) per Android, ed implementare le relative funzionalità.
2. COSA SONO I NOTIFICATION SERVICES
Vengono utilizzati per esecuzioni di attività in background che non sono dotati di UI
Fornisce il meccanismo per per la notifica all’utente della disponibilitàà di determinati dati che
non possono essere visualizzati direttamente in una activity.
La NS permette di notifdicare sullo status bar di android il completamento di una attività
Anche se è possibilie lanciare una Activity non è corretto farlo bisogna prima avvisare utente e
poi lanciare l’activity se necessario.
3. Un esempio di NS è l’arrivo di un SMS che viene notificao sulla status bar e delegato all’utente il
lancio dell’activity necessaria alla sua visualizzzione.
Quando l’utente vuole vedere il dato trascina giu lo status bar e clicca sulla notifica lanciando
l’Intent relativo.
4. CREAZIONE DI UNA NOTIFICATION
Le informazini vengono incapsulate in un oggetto ti tipo Notification del package android.app
e dovrà specificare le seguenti informazioni:
Icona
Messaggi oda visualizzare
Intent da lanciare in caso di selezione
Oltre a queste informazioni standard ci sono altre informazioni opzionali
Messaggio stile ticker nella status bar
Suono di allert
Modalità vibrazione
Lampeggio led
5. CREAZIONE DI UNA NOTIFICATION
Alcune informazioni possono essere passate al costruttore della Notification
Public Notification(in icon,CharSequence tickerText,long when)
When rappresenta l’istante della notifica e fa riferimento al click del dispositivo
le altre info possono essere settate attraverso il metodo specifico
Public void setLatestEventInfo(Context context, CharSequence contentTitle,
CharSequence contentText, PendingIntent contentIntent)
Il PendingIntent è in questo caso l’intent da lanciare alla selezione della notifica.
Attenzione!!! In android il ticker ovvero il testo specificato da visualizzare scurre dal basso verso
l’altro
6. ESEMPIO CODICE LANCIO NOTIFICATION PASSO 1
Creiamo una Activity che si occupera di recuperare le informazioni e di mostrarle
Bundle extras = getIntent().getExtras();
if (extras != null) {
TextView textView = (TextView) findViewById(R.id.outputView);
textView.setText(extras.getString("notificationType"));
}
7. ESEMPIO CODICE LANCIO NOTIFICATION PASSO 2
Creiamo una variabile di class
private NotificationManager notificationManager;
private final static int VIBRATE_NOTIFICATION_ID = 3;
Quando creiamo l’activity principale creiamo il notificationManager
notificationManager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
8. USIAMO IL METODO PER GESTIRE LA NOTIFICATION
/*
* Metodo di gestione di una notifica con vbrazione
*/
public void vibrateNotification(View button) {
// Creiamo la Notification
Notification notification = new Notification(R.drawable.icon,
"Vibrate Notification", System.currentTimeMillis());
long[] vibrateData = { 100, 100, 200, 200, 80, 80 };
notification.vibrate = vibrateData;
// Impostiamo le altre informazioni tra cui l'Intent
Intent intent = new Intent(this, NotificationActivity.class);
intent.putExtra("notificationType", "Vibrate Notification");
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent,
PendingIntent.FLAG_CANCEL_CURRENT);
notification.setLatestEventInfo(this, "Vibrate Notification",
"Vibrate Notification Extended", pIntent);
// La lanciamo attraverso il Notification Manager
notificationManager.notify(VIBRATE_NOTIFICATION_ID, notification);
}
9. Possiamo usare queste costanti per gestire la tipologia della notifica
private final static int SIMPLE_NOTIFICATION_ID = 1;
private final static int SOUND_NOTIFICATION_ID = 2;
private final static int VIBRATE_NOTIFICATION_ID = 3;
private final static int LIGHT_NOTIFICATION_ID = 4;
private final static int CUSTOM_NOTIFICATION_ID = 5;
10. LAYOUT PERSONALIZZATO
Nel caso in cui si abbia necessità di creare una notofocation personalizzata android ci mette a
disposizione la classe RemoteViews
I passi per usarla sono:
Creare istanza di RemoteViews
Assegnare l’istanza creata a contentView della Notification
Associare il PeddingIntent all’attributo pubblico contentIntet
11. ESEMPIO NOTIFICA PERSONALIZZATA
public void customNotification(View button) {
// Creiamo la Notification
Notification notification = new Notification(R.drawable.icon,
"Custom Notification", System.currentTimeMillis());
notification.flags |= Notification.FLAG_AUTO_CANCEL;
// Impostiamo le altre informazioni tra cui l'Intent
Intent intent = new Intent(this, NotificationActivity.class);
intent.putExtra("notificationType", "Custom Notification");
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
// Creiamo ed impostiamo la RemoteViews
RemoteViews remoteView = new RemoteViews(getPackageName(),R.layout.remote_view_layout);
remoteView.setTextViewText(R.id.firstText, "Primo Testo Custom View");
remoteView.setTextViewText(R.id.secondText, "Secondo Testo Custom View");
notification.contentView = remoteView;
// Impostiamo l'Intent
notification.contentIntent = pIntent;
// La lanciamo attraverso il Notification Manager
notificationManager.notify(CUSTOM_NOTIFICATION_ID, notification);
}