lunedì 25 luglio 2011

IOException: Too many open files

alle volte ritornano...

qualche utile link per correggere il malfunzionamento:

dove mi ha fatto venire in mente che non facevo:

Finally destroy() your Process.

ma infine utilissimo:


vanno chiusi anche gli stream....

public class ProcDemo {

public static void main(String[] args) throws
InterruptedException, IOException {
Process proc = null;
try {
ProcessBuilder pb = new ProcessBuilder(args);
proc
= pb.start();
proc
.waitFor();
} finally {
if (proc != null) {
close
(proc.getOutputStream());
close
(proc.getInputStream());
close
(proc.getErrorStream());
proc
.destroy();
}
}
}

private static void close(Closeable c) {
if (c != null) {
try {
c
.close();
} catch (IOException e) {
// ignored
}
}
}
}

mercoledì 6 luglio 2011

appunti android - e se volessimo raccogliere la firma di un cliente tramite app

Immaginiamo una bella app in cui si richiede di far firmare il nostro utilizzatore..
sto pensando ai corrieri ups che consegnano a casa i pacchi..e con il loro dispositivo mobile ci fanno firmare l'avvenuta consegna del pacco...
forse non avrà grande validità legale...ma uno schizzo su carta verrebbe fuori...

bene come facciamo da un app android a fare la stessa cosa?

tralasciando le librerie a pagamento, ho trovato una libreria web che usa html5 e qualche artificio magico da approfondire che fa quello che ci serve...

http://thomasjbradley.ca/lab/signature-pad#require-drawn

nel frattempo la ricerca sui forum continua.. e qualche idea javosa viene fuori:


appunti android - usiamo html css e js per creare la nostra app

Invece di scrivere il codice alla vecchia.. vediamo se è possibile scrivere una app che usa le funzioni di basso liverllo del nostro android, senza dover scrivere il codice java necessario..
Ebbene si! Si puo fare:


un bel progetto..scaricata la mini libreria.. provata su due android, con differenti risultati:

android 1.6 (non funziona bene..continui popup di errore..anche se qualche funzione la esegue lo stesso.. LASCIARE PERDERE)
android 2.2/2.3 funziona alla grande...

e parte la soffisfazione nel vedere che da una paginetta web, si riesce a scattare una foto e la si rivede nel dom della pagina html...
aggancia i contatti...aggancia le connessioni wifi/umts... si localizza...

insomma funziona!!

(chiaramente per ora mi interessa solo android..ma pare si possa usare anche su iphone/backberry/etc.. proveremo...)

links utili (progetti riusabili..idee preziose)

un po di documentazione...

i mitici plugins...


bella app da vedere e leggere per imparare uso avanzato..

e qui la possiamo vedere:

plugins...

come gestire l'update della app sviluppata con phonegap (in realtà sono opzioni generali android)..

come scalare la app in base alla grandezza del dispositivo dispositivo..


ottimo esempio..

come lanciare un browser in una nuova finestra..

come inviare sms da phonegap html pages...


appunti android - ubuntu non vede il samsung galaxy

Mentre attaccando il mio glorioso nexus one, eclipse lo riconosce al volo..
Attaccando il samsung galaxy..niente da fare:


adb devices

List of devices attached
???????????? no permissions

Google è sempre nostro amico....


http://www.mjonik.pl/blog/2010/01/samsung-galaxy-with-android-sdk-on-ubuntu/

creiamo il file per udev..etc etc...

non serve usare adb modificato..basta fare un bel sudo..


sabato 18 settembre 2010

prima dell'abbandono di jsf 1.2

Sarebbe bello poter creare jsf managed beans senza dichiararli nel faces-config.xml

chiaramente ci vorrebbe qualcosa che allo startup legge le classi nel war annotate in un certo modo...

http://stackoverflow.com/questions/2050309/jsf-managed-bean-auto-create

http://stackoverflow.com/questions/315073/jsf-initialize-application-scope-bean-when-context-initialized

evitando di creare un configuratore in cui dichiarare le classi...stile guice..

blog da seguire

http://www.germanescobar.net/2010/04/4-areas-of-possible-confusion-in-jee6.html


http://smokeandice.blogspot.com/2009/12/cdi-and-declarative-transactions.html

approfondire:

http://seamframework.org/Community/SingletonEJBs

domenica 12 settembre 2010

jsf: come bypassare la fase di validazione senza perdere i dati

Interessante diatriba: immaginate un utente che compila dei dati su un form. A metà dell'opera si accorge che prima di completare il form ha bisogno di inserire dei dati collegati, in un altra sezione (banalmente per emettere una fattura va prima inserito il cliente).

A meno che l'interfaccia non glielo permetta in modo contestuale (senza quindi abbandonare i dati inseriti - ad esempio mediante un popup modale), spesso è necessario chiudere la pagina in cui si sta lavorando, per poi tornarci una volta inseriti i dati utili, riscrivendo quanto già inserito.

Un po di links...utili...

http://www.ibm.com/developerworks/web/library/wa-aj-jsf1.html
http://www.ibm.com/developerworks/web/library/wa-aj-jsf2/index.html
http://wiki.apache.org/myfaces/How_The_Immediate_Attribute_Works
http://balusc.blogspot.com/2006/09/debug-jsf-lifecycle.html
http://radio.javaranch.com/gthought/2005/01/04/1104874993000.html
http://wiki.apache.org/myfaces/OptionalValidationFramework
http://www.jsfcentral.com/articles/myfaces_extval_2.html