array

Mattepuffo's logo
Creare un array in Javascript da php

Creare un array in Javascript da php

A volte può capitare di dover creare un array in Javascript prendendo i dati da PHP.

Nel mio caso eseguo una query e i dati che prendo da PHP li devo spezzare e metterli dentro a delle input text.

La parte in PHP sarà una cosa del genere:

<?php

foreach ($objCerca->getCliente($_GET['id']) as $var) {
    echo $var['an_codice'] . ',', $var['an_ragsoc'] . ',', $var['an_piva'] . ',', $var['an_cf'];
}

La funzione getCliente() si occupa di eseguire la query (non mi soffermo su questo punto) e di inviare i dati separati da virgola, come li vuole JS per gli array.

Mattepuffo's logo
Android Spinner da JSON

Android Spinner da JSON

Oggi vediamo un altro componente importante, lo Spinner, e come riempirlo prendendo i dati dal server in formato JSON.

Lo Spinner è un menu a tendina che ci permette di scegliere tra una serie di valori.

Cominciamo con la richiesta al server per ottenere i dati:

public class Service {

    private final String remote = "http://www.sito.com/service/";
    
    public String getCausali() throws ClientProtocolException, IOException, JSONException {
        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost(remote + "get_causali.php");
        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();
    }
    
}

Tramite HttpClient ci connettiamo al server e con HttpPost inviamo una richiesta POST al file specifico (che in questo caso è in PHP).

Il file sul server esegue la query e restituisce i dati in JSON (guardate qua per un esempio).

Prendiamo il contenuto e lo aggiungiamo a un oggetto StringBuffer.

A questo punto creiamo una classe wrapper che rappresenta la nostra tabella sul db; nel mio caso ho solo due campi:

  • id
  • nome

Ecco il mio esempio:

public class Causali {
    
    private int id;
    private String nome;

    public Causali(int id, String nome) {
        this.id = id;
        this.nome = nome;
    }
    
    public int getId() {
        return this.id;
    }
    
    public String getNome() {
        return this.nome;
    }
    
    @Override
    public String toString() {
        return this.nome;
    }
    
}

Questa classe ci servirà come contenitore.

Mattepuffo's logo
Passare dati da una JTable a un JFrame

Passare dati da una JTable a un JFrame

Lo scenario è questo: abbiamo dei dati su un db che visualiziamo tramite JTable; quando vogliamo modificare un record lo selezioniamo e passiamo i valro a un JFrame che si occuperà di fare questo.

Come fare?

La cosa non è molto difficile.

Dopo aver aggiunto un JButton apposito dobbiamo creare un evento.

Io l'ho fatto fare a NetBeans (sono un pò pigro ).

Mattepuffo's logo
Trovare l'ultimo elemento di un array PHP

Trovare l'ultimo elemento di un array PHP

Creare array in PHP è molto semplice.

Inoltre il linguaggio offre molti strumenti semplice per scandagliarlo e interrogarlo.

Un problema può sorgere nel caso in cui si debba visualizzare l'ultimo elemento di un array creato dinamicamente.

Come fare a sapere qual'è?

Mattepuffo's logo
Identificare le schede di rete con Java

Identificare le schede di rete con Java

Java non ha molti strumenti per accedere al livello basso del sistema e reperire informazioni hardware.

Anzi, non ne ha praticamente nessuno a parte la classe NetworkInterface.

Questa classe ci permette di identificare le schede di rete ed alcune informazioni associate.

Vediamo come creare un metodo che ci listi tutte le interfacce; le salveremo in un ArrayList così che possa essere facilmente richiamato in una JComboBox ad esempio (ciò che serviva a me).

Mattepuffo's logo
Manipolare file XML con Java

Manipolare file XML con Java

Java ha varie librerie per manipolare file XML.

La più utilizzata è JDom, ma nell'esempio che vi posto ho usato la libreria standard che va più che bene per piccole cose.

Vi spiegherò anche come caricare i vari nodi dentro a una JList.

La classe XML ha tre metodi:

  • create
  • read
  • save

Il primo serve per creare un file di inizio, e lo richiamo nell'evento WindowOpened.

Il file xml che creeremo è molto semplice:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<todos>
<todo>cast classe personale book java</todo>
</todos>

Una semplice lista di cose da fare.

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class Xml {

private static File xmlFile = new File("todo.xml");

public static void create() throws ParserConfigurationException, TransformerConfigurationException, TransformerException, IOException {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();

Element todos = doc.createElement("todos");
doc.appendChild(todos);

Element todo = doc.createElement("todo");
todo.appendChild(doc.createTextNode("Da fare 1"));
todos.appendChild(todo);

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
if (!xmlFile.exists()) {
xmlFile.createNewFile();
StreamResult result = new StreamResult(xmlFile);
transformer.transform(source, result);
}
}

........

//altri metodi

}