Come aggiungere Google Play Services al tuo progetto con Eclipse

Qui di seguito vi spiego passo passo come integrare i servizi di Google Play per il vostro progetto.

Il primo passo è quello di installare il Services SDK di Eclipse;

il secondo sarà quello di integrare questo alla nostra applicazione.

Passo 1

Installare Google Play Services Per Eclipse

1. Avviare l’SDK Manager da SDKManagerIcon (l’icona per intenderci Screen Shot 2015-08-09 at 19.14.38)

2. Scorrere fino in fondo alla lista e assicurarsi che Google Play Services è installato. In caso contrario, selezionare il pacchetto e installarlo.

Passo 2

Integrare Google Play Services nella nostra applicazione

1. Questa parte và un pò spiegata, praticamente noi visto che abbiamo (nel “passo 1”) già installato GPS (GooglePlayServices), ora possiamo inserire questa libreria che abbiamo scaricato all’interno del nostro progetto, l’unica cosa importante è che ci serve capire e sapere dove la libreria è posizionata tra le milioni di cartelle del nostro computer, quindi per fare ciò dovete:

Andare su Eclipse – Preferenze Finestra> Selezionare la scheda “Android” nell’angolo alto a sinistra. In alto, possiamo vedere la SDK Location.

Andate in quella cartella specifica!

Una volta aperta quella cartella andare al seguente percorso / extras / google / google_play_services / libproject /. Quindi copiare la cartella google-play-services_lib. (Questa è la cartella che deve essere importata nel nostro progetto)

2.Incollare la cartella Dove e Come. Due opzioni

Incollare la cartella google-play-services_lib qualsiasi posto all’interno della vostra cartella workspace di eclipse, ovviamente dove avete il progetto che ha bisogno di questa libreria.

3. Importiamo la cartella dalla Fase 2

Eclipse>File> Importa, selezionare Android>  codice Android esistente all’interno del vostro workspace
Nota: il metodo seguito NON E’ ASSOLUTISSIMAMENTE giusto File> Importa, selezionare Generali> progetti esistenti in area di lavoro

4. Consultare il Google Play servizi progetto libreria per la nostra applicazione.

Selezionate il vostro progetto (mi riferisco alla finestra di sinistra dove trovate tutti i vostri progetti) quindi fare clic destro su di esso. Selezionare Proprietà> Selezionare la scheda Android da alto a sinistra> Nella Biblioteca sezione Premete Aggiungi Select progetto google-play-services_lib e premere OK. Potrete vedere un segno di spunta verde nella Sezione di sinistra per Google Play Services.

Fine

Grazie per aver letto e spero di aver aggiunto un tassello al vostro sapere.

Alessio

Attivare Developer Mode in Asus ZenFone con Android 5.0

Accedete in Impostazioni

1

Selezionate About (nella categoria System)

2

Accedete nella sezione Software Information

3

Cliccate circa dalle 7 alle 10 volte su Build Number e vedrete che si attiverà il conto alla rovescia per attivare la modalità sviluppatore

Ora potrete accedere nella sezione Opzioni Sviluppatore e checkare le opzioni che desiderate

4

Cercate di effettuare il check di: Stake Away, Mock Location Allowing, GPU rendering and Strict mode5

Fatto questo collegato il vostro smartphone con la USB, effettuate il Run dell’applicazione e selezionate il vostro dispositivo direttamente dalla finestra che si apre prima di fare il run.

Grazie e a presto

Alessio

Android LayoutInflater Turorial

In questo tutorial vi mostrerò come utilizzare il LayoutInflater in Android.

1. Creare un nuovo progetto (ho chiamato il mio progetto InflaterExample e la mia attività principale si chiama “MyActivity”)
2. Andare alla res – Layout – main.xml e mettere un id chiamato “main_layout_id”
XHTML
<LinearLayout xmlns: androide = “http://schemas.android.com/apk/res/android&#8221;
Android: orientamento = “vertical”
Android: layout_width = “fill_parent”
Android: layout_height = “fill_parent”
Android: id = “@ + id / main_layout_id”>
</ LinearLayout>
3. Vai a res – Layout e fare un nuovo xml chiamato “layout_item.xml”. Ora è necessario disporre di due file xml: main.xml e layout_item.xml
4. Faremo una TextView nel file xml creato prima.

Questa sarà la visione che vogliamo a “aggiungere” al main.xml. Mettere sotto il codice nella layout_item.xml
XHTML

<LinearLayout xmlns: androide = “http://schemas.android.com/apk/res/android&#8221;
Android: layout_width = “fill_parent”
Android: layout_height = “fill_parent”
Android: id = “@ + id / layout_item_id”>

<TextView android: layout_width = “fill_parent”
Android: layout_height = “wrap_content”
Android: text = “Ciao, questo è il testo gonfiato: D”
Android: layout_gravity = “center”
Android: gravità = “center_horizontal”
Android: id = “@ + id / text_item_id” />

</ LinearLayout>
5.Ora nella vostra attività principale si dovrà chiamare il main.xml con findViewById perché è il genitore che ospiterà il nostro punto di vista.
// Chiama il layout principale da xml
LinearLayout mainLayout = (LinearLayout) findViewById (R.id.main_layout_id);
6. A questo punto dobbiamo creare una visione per gonfiare il metodo gonfi dobbiamo dire prima cosa vogliamo gonfiare e poi dove vogliamo gonfiare il nostro punto di vista il layout_item.xml.In. Usiamo l’attributo “false” perché in questo modo eventuali ulteriori modifiche di layout che facciamo alla visualizzazione caricato, avranno effetto. Se abbiamo impostato a “true” che sarebbe tornato di nuovo l’oggetto principale, che impedirebbe ulteriori modifiche di layout per l’oggetto caricato (a meno che non siamo in grado di trovarlo con findViewById). Potete trovare ulteriori spiegazioni qui: StackOverflow
Giava

// Creare una visualizzazione per gonfiare il layout_item (xml con il textView creato prima)
Vista view = getLayoutInflater () gonfiaggio (R.layout.layout_item, mainLayout, false).;
7. E l’ultimo passo, aggiungere la vista del layout
// Aggiunge la vista al layout principale
mainLayout.addView (vista);
8. Ecco tutta la classe MyActivity:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;

public class MyActivity estende Attività
{
/ ** Chiamato quando l’attività viene creato. * /
Override
onCreate public void (Bundle savedInstanceState)
{
super.onCreate (savedInstanceState);

// Qui abbiamo impostato il layout principale
// Questo è il layout parrent … qui lo aggiungeremo la vista che abbiamo creato
setContentView (R.layout.main);

// Chiama il layout principale da xml
LinearLayout mainLayout = (LinearLayout) findViewById (R.id.main_layout_id);

// Creare una visualizzazione per gonfiare il layout_item (xml con il textView creato prima)
Vista view = getLayoutInflater () gonfiaggio (R.layout.layout_item, mainLayout, false).;

// Aggiunge la vista al layout principale
mainLayout.addView (vista);
}
}

Translate: http://www.myandroidsolutions.com/2012/06/19/android-layoutinflater-turorial/

Android Studio Error finished with non-zero exit value 2

Ero nel bel mezzo della mia programmazione Android con il Cloud quando aggiungendo il modulo per il caricamento dei file nel cloud mi sono imbattuto nell’errore dove ho trovato grande sofferenza nel ricercare la soluzione, in quanto in molti anzi moltissimi hanno avuto questo problema e tutti l’hanno risolto in maniera differente dalla mia alcuni anche stravolgendo tutta la programmazione. Per come sono fatto io cerco sempre di trovare molto più di una semplice soluzione bensì cerco sempre la soluzione più semplice (alcune volte non accade così opto per le soluzioni difficili)

Bene tornando a noi, la soluzione….

Quando creiamo un progetto usiamo tante “dependencies” e alcune volte queste entrano in conflitto tra di loro.

La mia dependencie che entrava in conflitto era:

 

compile(group: ‘com.google.api-client’, name: ‘google-api-client’, version:’1.19.0′){

exclude(group: ‘com.google.guava’, module: ‘guava-jdk5’)

}

Quindi ho semplicemente commentato questo pezzo e mandato in run…Ovviamente dovete testare che tutto funzioni correttamente, io ho inserito altre dependencies per sostituire quella che mi entrava in conflitto.

Ragazzi grazie per aver letto il mio post e spero che il mio consiglio vi sia d’aiuto.

A presto

Alessio

GCM Google Cloud Messaging con Android Server/Client side CCS (XMPP)

Ciao a tutti ragazzi, anche se sono impegnato in nuovi progetti cerco sempre di essere presente. Attualmente ringrazio tutti quelli che provano i codici sorgenti che inserisco e che mi chiedono informazioni per eventuali bug.

Il progetto su cui sto lavorando riguarda il Google Cloud Messaging, non con il normale protocollo HTTP bensì con il protocollo XMPP (eXtensible Message and Presence Protocol) usando CCS( Cloud Connection Server).  Questo stesso acronimo identifica il motivo per il quale userò questo protocollo, perché mette a disposizione la possibilità da parte del Client di inviare file al Server.

Questo sarà un blog lungo perchè accompagnerà man mano il mio progetto, quindi errori, soluzioni, strategie saranno all’ordine del giorno…

Inizio col dirvi che importantissimo per creare la vostra applicazione che usi GCM dovete prima di tutto comunicare al Signor Google la vostra intenzione di usare il Suo cloud, a meno che non avete un vostro cloud personale (cosa figa da gestire).

Quindi iniziamo:

Google Cloud Messaging (GCM) consente di comunicare rapidamente con i dispositivi mobili Android. GCM consente di inserire i comandi direttamente per i dispositivi Android.

Quindi impostare GCM :

Bisogna creare un nuovo progetto sul sito di Google API, ottenere il numero di progetto ID, e generare una chiave del server API di Google.

Per creare un nuovo progetto e di ottenere il numero di server e API chiave del progetto ID

Vai a https://code.google.com/apis/console, accedi al tuo account Google e fare clic su Crea progetto.

Sul lato sinistro della pagina Dashboard API, fare clic sul menu a discesa e selezionare Crea.

Digitare un nome per il progetto, e fare clic su Crea progetto.

Il browser si aggiorna e visualizza un nuovo URL.

Nel URL, individuare l’elemento #project.

Registrare il numero che segue #project.

Per esempio:

https://console.google.com/apis/console/#project:1066916068160

Questo numero è chiamato il “Google Project ID”, ed è necessario per utilizzare GCM.

Selezionare il progetto dall’elenco a discesa API progetto, e nel riquadro a sinistra selezionare Servizi.

Scorrere la pagina di Google Cloud Messaging per Android, e impostare l’ON / OFF widget per ON.

Su Google API Condizioni di pagina servizio, accettare e accettare i termini del contratto.

Nel riquadro a sinistra, selezionare API Access e quindi fare clic su Crea nuova chiave Server.

Per impostare in modo esplicito i server che possono utilizzare GCM, digitare l’indirizzo IP di ogni server.

Digitare un solo indirizzo IP per riga. Se non si aggiunge un indirizzo IP, viene utilizzato l’indirizzo del computer che si utilizza per accedere al sito web di Google API. Controllare la documentazione di Google per ulteriori informazioni.

Fare clic su Crea.

La chiave del server viene visualizzato nella pagina di accesso API sotto chiave per le applicazioni server (con bloccaggio IP) come API Key. Registrare la stringa chiave del server da utilizzare nella procedura successiva. Questa API Key è necessario quando si configura il proprio progetto per utilizzare GCM e quindi effettuare il collegamento al cloud.

Quanto prima proseguirò

Joomla: Passare da GCalendar a DPCalendar in pochi passi

Tre giorni fà (18.Novembre) un cliente mi chiama allarmato chiedendomi il motivo per il quale il calendario inserito nel suo website ha deciso di non funzionare più.

Da amministratore ho subito tranquillizzato il cliente informandolo di un mancato aggiornamento avvenuto in quei giorni e che avrei controllato immediatamente (ero già sul sito, loggato e avevo già visto da backend che qualcosa non andava o era stato fatto qualche cambiamento), così chiudo la conversazione informando che tutto andrà per il meglio.

Intanto il problema era dietro l’angolo che mi aspettava per dirmi: eh eh e ora? che fai? Google ha deciso di chiudere le API v2 ai quali fa riferimento Google Calendar. Le API verranno chiuse il 17 di Novembre, dal 18 bisognerà usare API v3 (questo è un enorme problema anche perché esistono milioni di utenti che proprio sul Calendar hanno organizzato il loro lavoro o anche vita personale). Comunque detto questo nel giro di pochissimo tempo devo trovare una soluzione a questo problema.

Inizio con le mie ricerche e come funghi compaiono link che mi portano a DPCalendar, spieghiamo cosa è.

La Digital Peak è una società il cui motto è:

Software should work for you – it should be simple, accessible, easy to use and above all, it should do what it says on the tin.

Questa società americana già dal 2007 aveva creato la loro prima versione di GCalendar usando le Google API v1 sino a che in Aprile Google ha deciso di togliere tutto e loro hanno avuto così la possibilità di prendersi una buona fetta di mercato, offrendo anche la possibilità di migrazione guidata e automatizzata da GCalendar al loro DPCalendar.

Vediamo come effettuare questa migrazione…

Prima di tutto dove scaricarvi il file joomla extension da qui:

http://joomla.digital-peak.com/download/dpcalendar (scegliete la versione, io attualmente ho scaricato la 4.1.2)

Questa è la versione FREE e contiene il GCalendar plugin.

1- Installate la versione attraverso il Joomla installer.

2- Poi andate nella vostra cartella locale di download e unzippate il file DPCalendar_Free.zip, vedrete che all’interno vi sarà un altro file chiamato: plg_dpcalendar_gcalendar.zip (dovrete installare anche questo file in joomla, quindi ritornare nel vostro backend e installate questo plugin)

3- Sempre dal backend andate nella sezione Plugin Manager e ATTIVATE il DPCalendar – GCalendar plugin.

4- Andate in Components ->DPCalendar->Tools->Import

Vi importerà le date, gli eventi, i posti e il calendario salvati nel vostro account google.

Ora potrete creare un nuovo DPCalendar – Calendar dal link nel menù e creare il calendario proprio da GCalendar

——IMPORTANTE——-

Lasciate il plugin di GCalendar nel website non lo eliminate perchè servirà da ponte.

——————————-

Nel caso in cui avete il pacchetto Professional perché -vi siete registrati sul sito della Digital Peak e avete pagato il vostro canone- allora potrete anche usufruire del pacchetto “DPCalendar – Google plugin”

Cosa è questo pacchetto…..questo vi servirà perché vorrete creare altri calendari su google e desiderate averli direttamente sul vostro DPCalendar, quindi in qualche modo dovrete creare la connessione tra DPCalendar backend and Google Account.

Vediamo come possiamo fare e cosa ci serve.

Innanzitutto vi serviranno ClientID e Client Secret.

Per avere la possibilità di importare i tuoi Google calendars hai bisogno di un ClientID e di un Client Secret dalla sezione Google Developer Console

In questa sezione dovrete essere loggati “ovviamente” con l’account con cui il website si deve interfacciare (nel mio caso mi sono collegato con l’account del mio cliente).

1 – Create un nuovo progetto con il nome ” Joomla Access”, accettate e andate avanti (in basso a destra si aprirà una finestra con barra nera all’interno della quale vedrete la creazione del nuovo progetto in corso)

plugin-google-create-project

2- Andate nel menu a sinistra e cliccate su APIs&auth->APIs vi aprirà la pagina con le API del vostro account, scendete nel Browse APIs e cercate Calendar API

plugin-google-api-screen-shot

Fatto ciò dovrete cliccare su OFF di Calendar API in modo tale da ABILITARLO

plugin-google-select-enable-api

Poi andate sempre nella colonna a sinistra, nella sezione Credentials e qui dovrete creare in OAuth un nuovo Client ID.

Cliccando vi si apre la finestra:

Screen Shot 2014-11-21 at 11.44.48

Web application->Configure…

Inseriamo la mail dell’account collegato con Google Calendar (miraccomando a digitare correttamente la mail), inserite il nome del progetto che desiderate e andate avanti, vi si aprirà l’altra schermata

Screen Shot 2014-11-21 at 11.51.33

In questa schermata dovrete inserire l’indirizzo del vostro website (miraccomando prestate molta attenzione all’inserimento dell’indirizzo perchè se al posto dell’ “httpS” inserite “http” normale non avrete accesso al vostro website). Procedete cliccando sul bellissimo tasto blu (Create Client ID).

Fatto ciò avrete una nuova schermata che vi mostrerà il vostro Client ID, come noterete avrete anche il Redirect URIs che sarà formato dal vostro indirizzo+oauth2callback (questo verrà cambiato con un altro indirizzo che andremo a scovare tra un po’)

Passo successivo andiamo nel backend

Extensions->PluginManager e attiviamo il plugin DPCalendar – Google.

Clicchiamo su questo plugin ed entriamo nella pagina relativa-> (ora in base a quale versione di joomla avete)

Joomla3.0: Pagina sfondo bianco, accanto al tasto verde(New) vi sarà il pulsante Import (cliccate su Import)

Joomla2.5: Sulla sinistra vi si aprirà la sezione relativa al plugin dove potrete clicc are su Import

Vedrete nella schermata successiva ClientID e Client Secret,  qui inserite i link dati da Google Console, Copia e Incolla.

Dopo cliccate su Import e vi apparirà un errore (perché il redirect URI nella richiesta fatta non è corretta, questo è il link che vi dicevo prima scritto in GRASSETTO.

Screen Shot 2014-11-21 at 13.08.28

Cosa bisogna fare:

Semplicemente selezioniamo (come vedete nell’immagine) l’indirizzo che ci viene consigliato in questa pagina e lo COPIAMO e INCOLLIAMO da qualche parte dove lo possiamo modificare (anche se aprite Blocco Note).

Una volta incollato, dovrete togliere la scritta “amp;” (in totale ne saranno 3, miraccomando dovrete eliminare anche il “punto e virgola”  , quindi sarà (troverete l’indirizzo del vostro website al posto del mio “websiteexample”):

http://websiteexample.com/administrator/index.php?option=com_dpcalendar&task=plugin.action&plugin=google&action=import

Fatto ciò riprendete questo indirizzo e lo copiate.

Andate nella pagina di Google Developers Console

Screen Shot 2014-11-21 at 13.16.39

Cliccate su Edit Settings

Screen Shot 2014-11-21 at 13.18.08

Selezionate l’indirizzo nella casella Authorized redirect URI e incollate l’indirizzo che avete modificato nel vostro Blocco Note.

Cliccate su Update.

Ritornate nel vostro backend, andate un click indietro nella pagina perchè dovrete reinserire nuovamente il Client ID e Client Secret. (sempre gli stessi passi fatti precedentemente.

Una volta cliccato su Update vi compare un altra schermata alcune volte è differente per ognuno di noi dove cliccherete sul nostro bel tasto blu ACCETTANDO tutto………..eh………….magia……..vedrete comparire i tutti vostri calendari eventi e tutto ciò che avete nel vostro account google nel vostro website.

Ora di tutti questi calendari probabilmente non vi serviranno tutti, scegliete quali vi servono abilitandoli e disabilitandoli.

Fatto tutto questo andate e riaggiornate la vostra pagina frontend dove avete il vostro calendario.

Cosa accade? Ancora vi rimane l’errore?

Certo, è ovvio…perchè voi avete importato i calendari da google però quella vostra pagina è ancora un modulo GCalendar, quindi dovrete:

Disabilitare il modulo del calendario di quella determinata pagina, Creare un nuovo modulo DPCalendar scegliendo i calendari che vi servono e miraccomando dategli la stessa posizione (all’interno della pagina) del vostro vecchio GCalendar (ossia tipo: bottombox1 nel mio caso)

Grazie per avermi letto

Buona fortuna e ricordatevi (create un vostro database interno al vostro website perchè tempo 1 anno google eliminerà il vostro calendario dai suoi server quindi PERDERETE TUTTO)

Per qualsiasi dubbio o chiarimento sono sempre a disposizione.

Grazie

Alessio Scannicchio.

Python Codeskulptor PyDev Eclipse

Cercherò di andare per gradi

1.1. Che cosa è Python
Python è un linguaggio di programmazione interpretato ed è un linguaggio di programmazione molto efficace. Python è stato sviluppato da Guido van Rossum.

Il nome Python è basato sullo show televisivo chiamato Monty Python Flying Circus. Durante l’esecuzione il codice sorgente Python è tradotto in bytecode che è poi interpretato dall’interprete Python. Python codice sorgente può anche essere eseguito su Java Virtual Machine, in questo caso si utilizza Jython.

Le caratteristiche principali di Python sono:

– alto livello di tipi di dati, come ad esempio: elenchi estensibili

– le istruzioni vengono raggruppate tramite indentazione (rientri) invece che di parentesi graffe (durante la programmazione osserverete che subito dopo una istruzione metterete i due punti “:” e automaticamente entrerete nell’istruzione

– variabile o dichiarazione argomento non è necessaria perchè vengono visti come oggetti dichiarati in quel momento

– supporto per la programmazione orientata agli oggetti e stile di programmazione procedurale e funzionale

1.2. Concetto di blocco in Python tramite l’indentazione
Python identifica blocchi di codice con l’indentazione. Se si dispone di un’istruzione if e la riga successiva è rientrata, allora vuol dire che questo blocco indentato appartiene al caso. L’interprete Python supporta sia spazi o tabulazioni, ad esempio, non è possibile combinare entrambe le cose. Il modo più “pythonic” è quello di utilizzare 4 spazi per ogni livello di indentazione.

2. Installazione
2.1. Python
Scarica Python da http://www.python.org.

2.2. Eclipse plugin Python
Assumo che sia stato già stato installato Eclipse.

Per lo sviluppo di Python sotto Eclipse è possibile utilizzare il PyDev Plugin, che è un progetto open source.

Installare PyDev tramite il gestore aggiornamenti Eclipse tramite il sito di aggiornamento: http://pydev.org/updates

2.3. Configurazione di Eclipse
È inoltre necessario mantenere in Eclipse il percorso della vostra installazione Python.

Apri Finestra → Preferenze → Menu → Pydev interprete Python.

Premere il pulsante Nuovo e immettere il percorso python.exe nella directory di installazione di Python. Per gli utenti Linux e Mac OSX questo è normalmente / usr / bin / python.
ATTENZIONE
Su MAC OSX le librerie python non vengono installate per impostazione predefinita. Googling per installarli.

Il tuo primo programma Python in Eclipse
Selezionare File -> Nuovo -> Progetto. Seleziona Pydev -> Pydev progetto.
Creare un nuovo progetto con il nome “firstpython.first”. Selezionare Python versione 2.6 e il tuo interprete.
Fare clic su Fine.

Selezionare Finestra-> Apri prospettiva -> Altro. Selezionare il punto di vista PyDev.
Selezionare la cartella “src” del progetto, fare clic destro e selezionare Nuovo -> PyDev Modul. Creare un modulo “FirstModule”.

——Dopo che avete scritto alcune righe di codice lo dovete runnare come PyDev run

Fare clic con il proprio modello e selezionare Run As -> Esegui Python.

4. Debug
Basta fare clic destro nel codice sorgente e aggiungere un punto di interruzione.

Quindi selezionare Debug come -> Esegui Python
Ora è possibile controllare e modificare le variabili nella vista variabili.

Per il vero e proprio Debugging contattatemi

Spero sia stato utile

Alessio

Carta di Credito Falsa per annullare Pagamenti Automatici non voluti – Fake Credit Card

Perché questo titolo?

Ad una domanda così semplice non posso che spiegarvi cosa è accaduto e capirete automaticamente.

Esistono siti che una volta inserita la tua carta di credito (postepay che sia) loro automaticamente mensilmente vi scalano dei soldi che apparentemente potrebbe sembrare una somma irrisoria però se considerate che questo viene fatto per milioni di clienti vi renderete conto che magari state pagando un servizio che non utilizzate o che non avete mai realmente utilizzato, inutilmente. Quindi cosa decidete di fare?

Entrate nel sito e iniziate a leggere la policy dove dice che puoi cancellare il tuo account quando vuoi e in qualsiasi momento perché è un tuo diritto essere artefice delle tue azioni e sopratutto è tuo diritto decidere cosa fare dei tuoi soldi etc etc bla bla bla ca@@ate ca@@ate ca@@ate.

Dopo tutte queste belle parole vi accorgete che il numero da chiamare E’ A PAGAMENTO e neanche poco (le ca@@ate fatte si pagano care…) così vi dite…bene mando una mail…iniziate a scriverla lo fate con tanta cura e attenzione a curare ogni minimo dettaglio, la scrivete cercando di essere cordiali perché sapete che magari potrebbero non rispondervi…

E secondo voi cosa accade? Attendete la risposta a questa mail….il che arriva dopo una settimana chiedendovi:

Nome completo

Data di nascita

Residenza

Luogo di nascita

Residenza

Dove vivete

Cosa fate

Perché avete preso questa decisione

Da quanto tempo siete iscritti

Bla Bla Bla

Rispondete a tutte le domande richieste e inviate la mail con la risposta.

Dopo un’altra settimana ricevete la mail cortese di risposta nella quale vi dicono.

Gentile Signor STUPIDO abbiamo inserito i vostri dati nel Database (cioè li abbiamo buttati nel cestino) quanto prima verrà contattato da un nostro membro del servizio clienti che gentilmente vi eliminerà dal database.

Ringraziandovi dei soldi che ci avete dato sino ad’oggi per un servizio inesistente le auguriamo buona giornata.

Nel frattempo passa un’altra settimana e sapete cosa accade? Che purtroppo siete entrati nel mese successivo e quindi loro vi ciulano i soldi anche di questo mese.

Voi felicissimi di tutto questo li contattate nuovamente tramite mail, ora scrivendo qualcosa di più serio e più cattivo.

Miracolo vi rispondono dopo 4 giorni chiedendovi altre informazioni giusto per prendere altro tempo e dicendovi che verrete contattati telefonicamente. NON AVVERRA’ MAI.

Arrivato a questo punto decidete di interrompere il pagamento direttamente dalla carta postepay.

Mandate una mail e il servizio clienti vi risponde dopo 2 giorni dicendovi che loro non possono bloccare i pagamenti (che razza di politica è mai questa, non posso bloccare i pagamenti che escono dalla mia carta dai MIEI soldi…PRATICAMENTE anche colui che custodisce i vostri soldi è felice che voi pagate perché poi dovrete necessariamente inserire altri soldi dentro!!!!)

Così passate alle maniere ancora più forti e chiamate un vostro amico informatico con esperienza e più indiavolato di un Dev (eccomi presente) e gli spiegate cosa è accaduto…..

Lui semplicemente e con molta calma sorride e vi dice:

Dev:”Amico mio cambia numero della carta e finisce il gioco”

Voi:”Se vabbè e che numero gli metto?Il sito ogni volta fà il check per vedere se la carta è valida o meno quindi è impossibile perché dovrei inserire una carta esistente”

Dev: “Amico mio allora è vero!!??”

Voi: “Cosa?”

Dev: “Che sei stupido!!! Hanno fatto bene a toglierti i soldi!!

Vai su questo sito: http://www.getcreditcardnumbers.com/ e genera un codice con la tipologia di carta che desideri e il gioco è fatto!!”

Morale della favola: Chi trova un amico informatico nella società di oggi trova un tesoro.

 

A presto

Alessio

Inserire Form+Attachment nel proprio website

Molte persone mi chiedono informazioni su come creare un proprio form in modo da riceve richieste con i rispettivi allegati.

Oggi inserisco tutto il codice che vi serve per fare ciò, l’ho creato con nomi generici quindi non dovete far altro che copiarlo e incollarlo.

Nella vostra pagina Index.html inserirete il form:

<code>

<!– Contact –>
<article class=”container box style3″>
<header>
<h2>Approfondisci ora!</h2>
<p>Inviaci un messaggio, ti risponderemo con tutte le informazioni che desideri.</p>
</header>
<form name=”Contattaci” action=”contact.php” method=”post” enctype=”multipart/form-data”>
<div class=”row half”>
<div class=”6u”> <input type=”text” class=”text” name=”name” placeholder=”Nome” /></div>
<div class=”6u”> <input type=”text” class=”text” name=”email” placeholder=”Email” /></div>
</div>
<div class=”row half”>
<div class=”12u”>
Message: <textarea name=”message” placeholder=”Messaggio”></textarea>
</div>
<p> Oppure se desideri collaborare con noi inviaci il tuo CV, saremo lieti di visionarlo:</p>
<li><input type=”file” name=”attachment”></li>
</div>
<div class=”row”>
<div class=”12u”>
<ul class=”actions”>
<li><input type=”submit” class=”button form” value=” Invia “></li>
<li> </li>
<li><input type=”reset” class=”button form” value=” Annulla “></li>
</ul>
</div>
</div>
</form>
</article>

</code>

Ora creamo la pagina contact.php che sarà la pagina a cui la vostra pagina Index.html si collegherà:

<code>

<?php
if ($_SERVER[‘REQUEST_METHOD’]==”POST”){

// Set the “To” email address
$to=”alessio.scannicchio@gmail.com”;

//Subject of the mail
$subject=”Join Us E-mail with Resume attachment”;

// Get the sender’s name and email address plug them a variable to be used later
$from = stripslashes($_POST[‘name’]).”<“.stripslashes($_POST[‘email’]).”>”;

// Check for empty fields
if(empty($_POST[‘name’]) || empty($_POST[‘email’]) || empty($_POST[‘message’]))
{
$errors .= “\n Error: all fields are required”;
}

// Get all the values from input
$name = $_POST[‘name’];
$email_address = $_POST[‘email’];
$message = $_POST[‘message’];

// Check the email address
if (!eregi( “^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$”, $email_address))
{
$errors .= “\n Error: Invalid email address”;
}

// Now Generate a random string to be used as the boundary marker
$mime_boundary=”==Multipart_Boundary_x”.md5(mt_rand()).”x”;

// Now Store the file information to a variables for easier access
$tmp_name = $_FILES[‘attachment’][‘tmp_name’];
$type = $_FILES[‘filename’][‘type’];
$file_name = $_FILES[‘filename’][‘name’];
$size = $_FILES[‘filename’][‘size’];

// Now here we setting up the message of the mail
$message = “\n\n Name: $name \n\n Email: $email_address \n\nMessage: \n\n $message \n\nHere is your file: $file_name”;

// Check if the upload succeded, the file will exist
if (file_exists($tmp_name)){

// Check to make sure that it is an uploaded file and not a system file
if(is_uploaded_file($tmp_name)){

// Now Open the file for a binary read
$file = fopen($tmp_name,’rb’);

// Now read the file content into a variable
$data = fread($file,filesize($tmp_name));

// close the file
fclose($file);

// Now we need to encode it and split it into acceptable length lines
$data = chunk_split(base64_encode($data));
}

// Now we’ll build the message headers
$headers = “From: $from\r\n” .
“MIME-Version: 1.0\r\n” .
“Content-Type: multipart/mixed;\r\n” .
” boundary=\”{$mime_boundary}\””;

// Next, we’ll build the message body note that we insert two dashes in front of the MIME boundary when we use it
$message = “This is a multi-part message in MIME format.\n\n” .
“–{$mime_boundary}\n” .
“Content-Type: text/plain; charset=\”iso-8859-1\”\n” .
“Content-Transfer-Encoding: 7bit\n\n” .
$message . “\n\n”;

// Now we’ll insert a boundary to indicate we’re starting the attachment we have to specify the content type, file name, and disposition as an attachment, then add the file content and set another boundary to indicate that the end of the file has been reached
$message .= “–{$mime_boundary}\n” .
“Content-Type: {$type};\n” .
” name=\”{$file_name}\”\n” .
//”Content-Disposition: attachment;\n” .
//” filename=\”{$fileatt_name}\”\n” .
“Content-Transfer-Encoding: base64\n\n” .
$data . “\n\n” .
“–{$mime_boundary}–\n”;

// Thats all.. Now we need to send this mail… 🙂
if (@mail($to, $subject, $message, $headers))
{
echo ‘<div><center><h1>Mail Sent successfully !!</h1></center></div>’;
}else
{
echo ‘<div><center><h1>Error !! Unable to send Mail..</h1></center></div>’;
}
}
}
?>

</code>

Derby error configurazione con Netbeans porta 1527

Attivando Derby potresti visualizzare il seguente errore:

“Derby error connecting to server localhost on port 1527 with message connection refused”

Questo può capitare nel caso in cui la porta di default di Derby, appunto la 1527, è chiusa per ovvi motivi di sicurezza.

Cosa possiamo fare in questo caso? Ci sono diverse strade da percorre e tra le tante la più veloce e immediata è quella di trovare la cartella dove i file di Derby sono situati e modificare i permessi di accesso attraverso riga di comando.

Vediamo subito come fare:

Step1 Cercare la giusta cartella dove modificare il file:

Vedete questa snapshot? Cliccate tasto destro su JavaDB->Properties

Immagine

Successivamente troverete il campo Java DB Installation (prendete questa stringa e copiatela nel prompt dei comandi preceduta dal comando linux “cd” (change directory)

Quindi avrete qualcosa di questo genere: cd /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/db

Il nostro intento è quello di entrare nella cartella security dove andremo a cambiare i permessi e quindi:

cd /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security

(notate che la cartella db scompare perché quella serve solo a Netbeans per sapere dove si trovano i db)

ora dobbiamo aprire il file “java.policy” però con accesso da amministratore in quanto tale cartella non può essere modificata da qualsiasi utente e quindi useremo “sudo” (Super User DO) e “vi” (così apriamo con il text editor per modificarlo)

$sudo vi java.policy

Dopo aver dato il Return vi chiederà la password da amministratore di cui non visualizzerete neanche una lettera sempre per privacy.

Una volta aperto dovrete pigiare la lettera “i” ( questa è una forma di prevenzione per evitare inserimenti “adcapocchiam” (deriva dal latino non preoccupatevi)-> quindi pigiate la lettera “i” e vedrete comparire la scritta sotto –INSERT–

Dopo il comando “grant” vedrete la parentesi graffa aperta, da qui iniziano i permessi, quindi scendete sino a qualsiasi riga dove vedete scritto “permission” e inserite questa stringa:

permission java.net.SocketPermission"localhost:1527","listen,resolve";

Ora dovrete salvare e chiudere e per farlo con il text editor di linux bisogna:

  1. premere tasto “esc” sulla tastiera;
  2. scrivere ” :wq!” (significa “:” identifica i comandi che inserirete che sono: w(Write)+q(Quit)+”!” forzare l’azione).

 

Fatto questo la vostra porta 1527 sarà abilitata quindi potrete dal framework (Netbeans) e aggiungere un nuovo DataBase.

Spero possa essere utile tutto questo.

Per qualsiasi spiegazione o ulteriore problema sarò felice di cercare una soluzione con voi.

A presto ragazzi

Alessio