fragment

Mattepuffo's logo
Usare i Fragment in React

Usare i Fragment in React

Prime della versione 16.2 in React eravamo costretti ad usare un elemento padre per raggruppare diversi altri elementi.

Dalla versione 16.2, invece, possiamo usare i Fragment, che sostanzialmente ci evitano di aggiungere altri elementi HTML inutli al DOM.

E questo comporta anche avremmo meno elementi innestati e una migliore organizzazione del codice.

Mattepuffo's logo
Utilizzare i Fragmens in Android e Java

Utilizzare i Fragmens in Android e Java

I Fragments in Android possono essere molto utili in diverse occasioni.

In pratica rappresentano porzioni riutilizzabili di codice; ogni Fragment ha il proprio layout e il proprio ciclo di vita.

Oggi vediamo un esempio del loro utilizzo in Java.

Mattepuffo's logo
Creare grafici su Android con MPAndroidChart

Creare grafici su Android con MPAndroidChart

Ho scoperto che in questi ultimi tempi, sono tante parecchie librerie per la creazione di grafici per Android.

Oggi ne vediamo una che mi è piaciuta parecchio: MPAndroidChart.

Andremo a costruire un PieChart, lo metteremo dentro ad un Fragment, e i dati li prenderemo da un file JSON (giusto per fare qualcosa di diverso dagli esempi classici che potete trovare anche qua).

Prima di tutto scaricate la libreria e aggiungetela al progetto (questa operazione varia a seconda dell'IDE che usate).

Mattepuffo's logo
Riempire una ListView Android da XML

Riempire una ListView Android da XML

Abbiamo visto come riempire una ListView in Android con dati in formato JSON.

Oggi vediamo come fare la stessa cosa usando l'altro formato principe per strutturare i dati: XML.

Qua useremo una Activity invece di un Fragment, ma cambia relativamente poco.

Partiamo dalla Activity:

public class MainActivity extends ListActivity {

    private ArrayList list;
    private ArrayAdapter adapter;
    private ReadXml rx;
    private ListView lv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv = getListView();
        rx = new ReadXml();
        setLista();
    }

    private void setLista() {
        try {
            list = rx.readClienti(getApplicationContext(), Environment.getExternalStorageDirectory() .getAbsolutePath() + File.separator + "dati.xml" ;
        } catch (IOException e) {
        } catch (SAXException e) {
        } catch (ParserConfigurationException e) {
        }
        adapter = new ArrayAdapter(getApplicationContext(),
                android.R.layout.simple_list_item_1, list);
        lv.setAdapter(adapter);

    }

}

Abbiamo un metodo setLista che si occupa di riempire la ListView.

Mattepuffo's logo
Android ListView da JSON

Android ListView da JSON

In un precedente articolo vi avevo mostrato come riempire uno Spinner in Android prendendo i dati in remoto in formato JSON.

Oggi vedremo come fare la stessa operazione con una ListView, che però inseriremo in un Fragment.

La base di partenza per i Fragment dentro a un Tab la potete trovare qua.

Adesso andremo a riempire il nostro Fragment con una ListView.

Prima però andiamo a prendere la classe Service per il recupero dei dati:

public class Service {

    private final String remote = "http://www.example.com/";
    
    public String login(String user, String pwd) throws ClientProtocolException, IOException {
        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost(remote + "login.php");
        List nameValuePairs = new ArrayList(2);
        nameValuePairs.add(new BasicNameValuePair("user", user));
        nameValuePairs.add(new BasicNameValuePair("pwd", pwd));
        post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = client.execute(post);
        BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
        String line;
        String result = null;
        while ((line = reader.readLine()) != null) {
            result = line;
        }
        reader.close();
        return result;
    }
    
    public String getLastItems(String phpFile) throws ClientProtocolException, IOException, JSONException {
        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost(remote + phpFile);
        HttpResponse response = client.execute(post);
        HttpEntity entity = response.getEntity();
        BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line).append("\n");
        }
        reader.close();
        return sb.toString();
    }

}

Questo è il metodo che ci servirà nel Fragment, metodo a simile a quello spiegato in altri articoli, quindi non mi ci soffermo.