Visualizzazione post con etichetta api. Mostra tutti i post
Visualizzazione post con etichetta api. Mostra tutti i post

mercoledì 25 aprile 2012

Android e i grafici: GraphView

Mi è capitato l'altro giorno, lavorando a un progetto personale, di dover mostrare dei grafici su alcuni dati memorizzati in un database sqlite. Android non offre nativamente la possibilità di usare i grafici ma esistono diverse librerie Java utilizzabili in Android. Molto interessante ho trovato la libreria GraphView di Jonas Gehring, facile da usare e abbastanza funzionale. Permette la creazione di grafici semplici come line chart e bar chart ma anche qualcosa di complesso come le serie multiple.
Vediamo ora un pezzo di codice che utilizza questa libreria.

Codice Java:


GraphViewData[] data = 
        new GraphViewData[data_from_db.size()];
       double v=0;
       for (int i=0; i<data_from_db.size(); i++) {
data[i] = new GraphViewData(i, data_from_db.get(i));
       }
GraphViewSeries exampleSeries= new GraphViewSeries("Sinus curve", Color.rgb(200, 50, 00), data);
GraphView graphView = new LineGraphView(this, "GraphViewDemo");
graphView.addSeries(exampleSeries); // data
graphView.setScrollable(true);
graphView.setHorizontalLabels(regioni);
graphView.setScalable(true);  
LinearLayout layout = (LinearLayout) findViewById(R.id.graph1);
layout.addView(graphView);
File Xml: 
<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:id="@+id/ScrollView02" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
              xmlns:android="http://schemas.android.com/apk/res/android">
<HorizontalScrollView 
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="2000dip"
android:layout_height="500dip"
android:id="@+id/graph1" />
<TextView  
   android:id="@+id/legend"
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
android:textColor="#ffffff"
android:textSize="17sp" 
    />
  </LinearLayout>
    </HorizontalScrollView>
</ScrollView>

Il codice crea un serie a partire dal vettore data_from_db contenente i dati che vogliamo mostrare nel nostro grafico. Successivamente crea un oggetto di tipo GraphView che rappresenterà il nostro grafico e assegna a tale oggetto la serie creata in precedenza. Infine aggiunge il grafico al LinearLayout definito nel file xml.
Questo è il risultato ottenuto.



Una libreria facile da usare che offre diverse opzioni per rendere più gradevoli ed espliciti i propri grafici su Android. Per maggiori  informazioni consultare il blog ufficiale della libreria.

venerdì 27 gennaio 2012

Fai socializzare la tua app!

Ho scoperto di recente lavorando su una mia applicazione android un servizio davvero interessante. Il suo nome è socialize e permette di rendere la tua applicazione android o iOS più "sociale". In pratica è resa disponibile un Api gratuita che permette di aggiungere una barra contente diverse opzioni che rendono social l'app. Queste opzioni sono il classico "I like" stile facebook, un contatore delle visualizzazioni, la possibilità di condivisione del contenuto via facebook, email o sms e la possibilità di lasciare un commento anonimamente o loggandosi con il proprio account facebook. Ovviamente è possibile utilizzare anche il proprio account twitter invece dell'account di facebook.


Il servizio è gratuito se il traffico coinvolge meno di 100.000 utenti. Superate tale soglia occore comprare uno dei vari account premium proposti.
Ho inserito tale servizio nella mia applicazioni in quanto mi ha permesso in pochissimi passi di dare un aspetto social, che è tanto in voga oggi e comunque utile, alla mia applicazione.

Get Socialize!