Supponiamo di reinstallare Debian, e di voler reinstallare tutti i pacchetti presenti precedentemente.

Come possiamo fare?

Prima di tutto possiamo creare la lista in maniera semplice:

$ dpkg-query -f '${binary:Package}n' - > pacchetti.txt

Mi è servito in diverse occasioni intercettare l'evento resize su un JFrame.

Oggi vi espongo un esempio di come intercettare tale evento.

Quello che ci serve è un component listener, e ComponentAdapter.

Questo piccolo tip vale, ovviamente, anche per tutte le distro derivate da Debian, Ubuntu e Mint.

In sostanza dovrebbe valere per tutte le distro che usando APT e DPKG.

Vediamo come eseguire il backup dei pacchetti in una lista, in modo poterli ripristinare facilmente in uno altro sistema.

Per creare la lista:

$ dpkg --get-selections > pkgs.list

AutoCompleteTextView è un componente che in pratica si comporta come Google Suggest.

Oggi vediamo come usarlo, e per complicarci la vita, prenderemo in dati in formato JSON da un servizio remoto, e useremo un custom adapter.

Cominciamo con la classe che mappa i dati JSON:

public class Cities {

    private int id;
    private String nome;
    private String paese;
    private double latitudine;
    private double longitudine;

    public Cities(int id, String nome) {
        this.id = id;
        this.nome = nome;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getPaese() {
        return paese;
    }

    public void setPaese(String paese) {
        this.paese = paese;
    }

    public double getLatitudine() {
        return latitudine;
    }

    public void setLatitudine(double latitudine) {
        this.latitudine = latitudine;
    }

    public double getLongitudine() {
        return longitudine;
    }

    public void setLongitudine(double longitudine) {
        this.longitudine = longitudine;
    }

}

I i campi JSON quindi sono:

  • id
  • nome
  • paese
  • latitudine
  • longitudine

Supponiamo di avere il nostro Adapter che estende BaseAdapter.

E supponiamo di volere rendere non selezionabile una riga della nostra ListView nel caso di una determinata condizione.

Come possiamo fare?

Semplicemente facendo l'Override del metodo isEnabled.