Android

[Android] how to import android contacts in your application

Thursday 17 January 2013, 18:27
federico.serrelli@synaptica.info

A very simple way to search, select and import contact information from your phone (Android Contacts) to your android app is:

1) Send the specific android intent “ACTION_PICK”:

This intent will do for us and “for free” the operation of opening the contacts list and select the contact to import.

2) Simply manage the Intent result by reading the contact information through the resulting Content URI and access to the internal android database (SQLite):

Obviously it’s possible to customize the procedure in order, for example, to import all contacts or to get the list of all names and make a multiple selection before doing the contact import and so on…

Bye

Supportare differenti dimensioni di schermo in android grazie ai Fragments

Friday 12 October 2012, 17:52
federico.serrelli@synaptica.info

Nello sviluppo di applicazioni mobili diventa sempre più importante il supporto di schermi e dimensioni anche molto diverse a causa del diffondersi di modelli e tipologie di dispositivi sempre più disparati.
Per fortuna Android offre una soluzione veramente intelligente e semplice per aiutarci a sviluppare applicazioni che da un lato siano compatibili col maggior numero possibile di dispositivi ma che, dall’altro, si adattino al meglio agli schermi dei dispositivi in termini di usabilità e sfruttamento della superficie disponibile .

La soluzione sono i FRAGMENT.

In realtà i Fragment offrono altri grandi vantaggi come, ad esempio, poter scomporre le Activity in blocchi elementari (una sorta di “sub-activity”) replicabili e riutilizzabili in più layout o schermate applicative.
In questo articolo ci focalizzeremo su un semplicissimo esempio tramite il quale sviluppare un’Activity (che chiameremo MainActivity) in grado di presentarsi all’utente con due fragment affiancati nel caso lo schermo del dispositivo sia abbastanza grande da consentirlo (es. tablet), mentre negli altri casi gli stessi fragment vengono mostrati sequenzialmente (quasi come se fossero due Activity distinte).
L’ipotesi è quella di avere una listView di oggetti nel primo fragment (SxFragment) e il dettaglio dell’oggetto selezionato nel secondo fragment (DxFragment).

La figura seguente mostra l’esempio.

1) Layout
Predisponiamo due differenti layout per schermi piccoli e grandi. La stessa cosa, ad esempio, può essere fatta per Portrait/Landscape, con più fragmen, etc…

file: /res/layout-large/example_layout.xml

file: /res/layout/example_layout.xml

Da notare che nel secondo layout non sono inclusi staticamente i Fragment e che è invece assegnato un id (fgmContainer) al contenitore che ci occorrerà per agganciare i fragment.

2) Activity principale

oppure nel caso di utilizzo della Android Support Library (retrocompatibilità con device che hanno versioni di android < 3.0):

Nel onCreate includiamo il layout e istanziamo dinamicamente il Fragment nel caso in cui siamo alle prese con uno schermo piccolo.

3) Fragment A (items list)
Nel fragment di sinistra, contenente la listView, assegnamo all’evento di selezione (OnItemClick) il compito di notificare la selezione tramite un metodo di callback (onItemSelected) all’attività principale.

4) Activity principale
Aggiungo il metodo di selezione nella MainActivity. Chiaramente il metodo discrimina il caso in cui abbiamo entrambi i fragment da quello in cui occorra istanziare il secondo dinamicamente. Nel primo caso è sufficiente richiamare il metodo di update esposto dal fragment (doItemSelection), mentre nel secondo caso occorre effettuare una transizione dinamica tra i due Fragment. Il primo dei due, viene sostituito tramite “replace”, ma inserito nel Back Stack in modo che premendo il pulsante “Back” non termini l’activity ma venga semplicemente effettuata la transizione al contario e riappaia il primo Fragment.

5) Fragment B (item details)
Il Fragment B, infine, riceve come argomenti i parametri necessari alla sua inizializzazione o, se già inizializzato, espone i metodi necessari all’aggiornamento da parte della MainActivity. Nell’esempio semplicemente l’id dell’item selezionato viene inserito in una TextView.

Nei prossimi articoli vedremo come effettuare la gestione di Menu e Actionbar nel caso di utilizzo dei Fragment.

Ciao e a presto
Federico

Il Cloud di Synaptica sbarca su Android

Tuesday 31 January 2012, 18:51
federico.serrelli@synaptica.info

[lang_it]
Immaginate di essere un agente commerciale che necessita di avere sempre con sé il proprio listino aggiornato e, con esso, immagini e schede tecniche dei propri prodotti.
Immaginate di essere un magazziniere o un negoziante che ha la necessità di aggiornare l’inventario degli articoli presenti in magazzino, di censire una fornitura di nuovi pezzi o, ancora, di preparare un ordine per la spedizione con annessa bolla di accompagnamento e descrizione della ripartizione nei singoli colli.
Oppure immaginate di essere nel vostro showroom e di voler avere sempre a portata di mano, per i clienti interessati, il catalogo dei prodotti non esposti ed, eventualmente, poter direttamente comporre e registrare un ordine, disponendo direttamente l’emissione della relativa fattura o scontrino.
Ancora, immaginate di viaggiare molto per lavoro e voler avere sempre sotto mano l’agenda degli appuntamenti per poter visualizzare, modificare, eliminare appuntamenti o consuntivare i tempi relativamente alle vostre commesse e ai clienti, trovando, poi, questi dati automaticamente integrati nel vostro sistema gestionale.

Se tutto questo non è solamente immaginazione, il Cloud di Synaptica fa per voi!

Ciò è reso possibile da tecnologie all’avanguardia la cui integrazione nel sistema Syna E.R.P. unisce la solidità e l’affidabilità di un sistema centralizzato che espone servizi e utilities via web in sicurezza con la versatilità e mobilità di applicativi client per PC portatili e, soprattutto, smartphone e tablet.

Perché implementare client nativi sui device? Semplice: perché in questo modo è possibile lavorare anche offline, demandando all’applicativo la gestione dell’invio dei dati al cloud non appena la connettività torna disponibile.

I primi applicativi per Android integrati con Syna E.R.P. sono già disponibili, mantenendo però fermo l’obiettivo di sviluppare soluzioni custom in funzione delle possibili esigenze che, in un contesto di mobilità, si moltiplicano quasi all’infinito!

Ecco un semplicissimo video dimostrativo delle potenzialità offerte dal nostro sistema di interfacciarsi al magazzino della propria azienda :

Scoprite cosa possiamo fare per il vostro business
I nostri linguaggi