Snippets

In questo articolo si vuole spiegare tramite codice php come ricavare dalle Google maps:

Continue Reading

L’EditText in Android è uno dei widget di base usato per l’inserimento dei dati di input. A questo può essere aggiunto un InputFilter per imporre dei vincoli su quali valori possa o non possa accettare. Ad esempio, si vuole imporre il limite di 10 caratteri oppure consentire l’immissione solo dei caratteri maiuscoli.

L’SDK di Android fornisce già un iniseme di filtri di base: Per esempio per i due casi citati si possono usare: AllCaps e LengthFilter. Inoltre , si possono creare dei filtri personalizzati usando l’interfaccia di InputFilter.
Continue Reading

Misconception terza puntata

Si dice spesso che in linguaggio C il passaggio di parametro delle funzioni possa avvenire in due modi:

  • per valore
  • per riferimento

In questo post vogliamo spiegare la differenza tra passaggio per valore e “per riferimento”, mostrando che in realtà, in linguaggio C, non esiste il passaggio di parametro per riferimento, ovvero esiste solo il passaggio di parametro per valore. Continue Reading

Questo articolo potrebbe avere come titolo: Introduzione alla programmazione a oggetti; infatti il post vuole rispondere alle domande seguenti:

  • Come si imposta un programma a oggetti ?
  • Quali elementi inserire nella classe che rappresenta l’oggetto?

In questo articolo svilupperemo un programma che simula il funzionamento di un televisore allo scopo di mostrare a piccoli passi quali sono i componenti principali di un programma a oggetti senza l’ereditarietà.
Continue Reading

Questo articolo è la seconda parte dell’articolo sulle liste che trovate qui, e nel quale sono già state spiegate alcune cose riguardanti anche questa parte (il file AndroidManifest.xml si trova lì).
Qui, rispetto all’articolo precedente, svilupperemo una seconda activity (accessibile dalla prima) che contiene una lista fatta da item contenenti due oggetti (una stringa e un numero intero idealmente compreso tra 1 e 10) (l’effetto finale è visibile nella figura o nell’articolo precedente.
Continue Reading

In questo articolo svilupperemo una semplice app Android per la creazione di liste. In particolare creeremo passo passo due liste, una semplice tramite array di stringhe, e un’altra con due campi per riga (item); in quest’ultima, gli item saranno aggiunti a una LinkedList e “adattati” alla parte grafica grazie a un CustomAdapter.
Nella seconda lista inseriremo anche la possibilità di modificare ed aggiungere item tramite Dialog.
Se volete già guardare l’effetto finale andate nelle figure dell’app finita.
Verrà spiegato come:

  • creare una lista semplice tramite array di Stringhe, ed ArrayAdapter
  • creare una lista un pò più complessa con due campi per item e per la quale serve anche
    • creare una classe per i dati di un singolo Item della lista
    • creare un CustomAdpater (adapter personalizzato) per una lista
  • aggiungere, modificare ed eliminare un Item dinamicamente tramite un Dialog

Continue Reading

In questo articolo svilupperemo una semplice app Android che usa i file interni al dispositivo.
Come esempio salviamo nome ed anno di nascita di una persona per ogni riga del file. Se volete già guardare l’effetto finale andate nella figura dell’app.
Verrà spiegato come:

  • creare un file di testo salvandolo nella memoria interna del proprio dispositivo
  • leggere un file carattere per carattere
  • leggere un file riga per riga
  • eliminare un file

Continue Reading

Questo articolo potrebbe avere come titolo:“Introduzione allo sviluppo di app su Android”, svilupperemo infatti una semplice app allo scopo di spiegare passo passo i concetti iniziali per la sua creazione. In particolare verranno spiegati:

  • I file più importanti di Android Studio, il loro contenuto e come sono collegati tra loro
  • Il layout più semplice e comune per le activity (LinearLayout con le due orientation: vertical e horizontal)
  • Gli oggetti di uso comune (TextView, EditText, Button)
  • I metodi java per acquisire e impostare il testo da una TextView

Per leggere l’articolo si dovrebbe avere come prerequisito di base la conoscenza dei concetti principali della programmazione a oggetti (in qualsiasi linguaggio) e possibilmente aver creato almeno una volta un semplice programma java.
Continue Reading

Perché la programmazione ad oggetti?

Sembrerà banale, ma la prima cosa che deve fare un programmatore è quello di realizzare programmi funzionanti, in secondo luogo il programma deve essere facilmente gestibile, ed in seguito poter riutilizzare i programmi già fatti.
I linguaggi non orientati agli oggetti si basano sulla tecnica a funzioni (programma = struttura dati + funzioni), il che permette di realizzare programmi di difficile manutenzione e riuso. La programmazione ad oggetti divide il programma in tante piccoli parti, che dovrebbero facilitare queste operazioni.
Continue Reading


Contenuti:
Guida passo passo
Programma di esempio

Se volete installare la libreria graphics.h in Ubuntu bisogna compilare e installare libgraph che è l’implementazione delle API di  grafica del turbo c su Linux con l’uso delle SDL.

Non è una libreria molto potente e adatta alla creazione di applicazioni di qualità ma, è semplice, e  adatta a scopi didattici e cioè di apprendimento.
Continue Reading


Contenuti:
Introduzione
Guida d’installazione passo passo
Programma di esempio

Introduzione

Per aggiungere un pò di grafica in un programma in c/c++ si possono usare svariate librerie; una delle più semplici da usare si chiama graphics.h.
Non è una libreria molto potente e adatta alla creazione di applicazioni di qualità ma, è semplice, e adatta a scopi didattici e cioè di apprendimento. Continue Reading


Un albero di Natale realizzato con i caratteri ASCII? Si può fare con un programma in linguaggio C/C++; l’obiettivo è mostrare qualcosa di questo genere:

 B U O N   N A T A L E . . .

              @
             @@@
            @@@@@
           @@@@@@@
          @@@@@@@@@
         @@@@@@@@@@@
        @@@@@@@@@@@@@
       @@@@@@@@@@@@@@@
      @@@@@@@@@@@@@@@@@
     @@@@@@@@@@@@@@@@@@@
              #
              #
              #
              #


A U G U R I I I I I I I . . .

oppure di questo genere:

B U O N   N A T A L E . . .

           A
          AAA
         AAAAA
        AAAAAAA
       AAAAAAAAA
      AAAAAAAAAAA
     AAAAAAAAAAAAA
           M
           M
           M
           M

A U G U R I I I I I I I . . .

in cui sono cambiati:

  • l’altezza, e cioè il numero di righe dell’albero (adesso 7, prima 10),

  • il carattere da visualizzare (adesso A, prima @), e
  • il carattere del tronco (adesso M, prima #)

L’altezza del tronco è rimasta invece uguale (4).
Se volete ricavare il vostro albero personalizzato basta seguire i seguenti passi:

  1. andate su IDEONE (un sito per la compilazione ed esecuzione online di programmi)
  2. cliccate su “fork” (in alto a sinistra)
  3. inserite (modificando quelle già presenti) nella casella “enter input (stdin)” le 4 cose appena dette nello stesso ordine (altezza albero, carattere, altezza tronco. carattere tronco). Lasciate sempre uno spazio tra queste cose;
  4. infine cliccate sul pulsante verde “RUN” in basso a destra

Codice dell’albero di Natale in C/C++

Per coloro invece che conoscono la programmazione (o la stanno imparando) e volessero provarlo sul proprio computer (magari personalizzando anche il codice) ecco di seguito il programma in linguaggio C/C++ (compilare ed eseguire per credere 😉 ):

using namespace std;
#include 
#include 
#include 
#define spazi  4
int main()
{
  int altezza, altezzaTronco, numSimboli;
  char simbolo,simboloTronco;

//acquisizione dati di input
  cout<<"inserisci altezza albero: ";   cin>>altezza;
  cout<<"inserisci simbolo da visualizzare(es. @,#,0 ";  cin>>simbolo;
  cout<<"inserisci altezza tronco: ";   cin<>simboloTronco;
  int spaziPrima = altezza;
  numSimboli=1;
  cout<

Commenti al programma albero di Natale

Come si può notare, si tratta di un albero disegnato con i caratteri ASCII in cui è possibile personalizzare l'altezza dell'albero (senza considerare il tronco), l'altezza del tronco, e i caratteri (chiamati simbolo) con cui verranno disegnati l'albero e il tronco.
Il programma si può vedere suddiviso in tre parti; la prima parte serve appunto ad acquisire da tastiera tramite le istruzioni cout e cin (del C++) tali dati (altezza albero, altezza tronco, simbolo albero, simbolo tronco).
Successivamente in base all'altezza fornita dall'utente viene disegnato l'albero con un ciclo for che scrive su output delle linee fatte col simbolo scelto; ogni linea avrà meno spazi (precedenti al primo simbolo) e più simboli rispetto alla precedente (ecco il perchè delle istruzioni: spaziPrima--; e numSimboli+=2; ).
Dopo sarà disegnato il tronco con un altro ciclo for.

Ciao e fatene Buon uso ! 🙂

PS: Se ti è piaciuto questo articolo, ti potrebbe piacere anche un albero di Natale animato scritto in C/C++ con l'uso della libreria graphics.h. Lo trovi qui.

Oggi volevo segnalarvi due siti molto interessanti e utili per condividere frammenti di codice con chi vogliamo. Il primo sito è Pastie; consente di incollare codice in moltissimi linguaggi (di programmazione e non) o anche il testo di Makefile o shell script colorandoli in maniera corrispondente (cioè facendo l’utilissima Syntax highlighting). Una volta premuto incollato il testo e premuto il tasto Paste (incolla) basterà dare il link (di solito un numero di 6 cifre dopo pastie.org) alle persone con le quali lo vogliamo condividere. Utile anche la possibilità di “embeddare” il codice nel proprio sito copia-incollando il codice html fornito.

L’altro sito è: friendpaste che permette, oltre a frammenti di codice, anche puro testo (plain text); permette inoltre di aggiungere un titolo al proprio snippet e, cosa interessante, una password che consente di permettere o vietare l’editing del proprio snippet a differenza di Pastie che invece consente a tutti di editare.
E’ pure possibile incollare il codice senza aprire il browser e andare sul sito, installando un tool scaricabile su services.

Vi lascio col motto di Pastie che è: Be nice. 🙂 Use Pastie for good, not evil. 😉