|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2007
Messaggi: 1020
|
[Java + MySQL] applicazione per smartphone
Salve ragazzi, mi servirebbe qualche consiglio e delle delucidazioni. Ho un'applicazione web java, database mysql e server apache tomcat, compilata con eclipse. Tutto funziona. Ora vorrei però scrivere qualcosa per creare un'applicazione per smartphone in grado di vedere info prendendole direttamente dal database. Praticamente una semplice anagrafica... ad esempio nome/cognome/data di nascita ecc ecc coi valori presi dal database sql.
Come posso realizzarla? posso agganciarmi direttamente al database del sito web o servono passaggi intermedi? ho visto javaFX sembra parecchio potente. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2007
Messaggi: 1020
|
nessuna dritta insomma su come approcciare un progetto mobile?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Be', se l'applicazione web ha già un front-end, una parte "client" scritta in html su protocollo http allora ti basta aprire l'indirizzo del front-end con il browser dello smartphone (ammesso che una frase italiana composta di tre parole inglesi abbia un senso).
Se vuoi fare qualcosa di dedicato allo smartphone - uno deve sempre avere l'occhio d'aquila per leggere una pagina web su un cellulare - dipende dalle API che ci puoi far girare.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Feb 2007
Messaggi: 1020
|
Quote:
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Devi vedere cosa supporta lo smartphone, se è un adroid o un ios o quel che è. Poi per parlare col server la tua interfaccia userà un connettore http, che può essere un socket ma sarà sperabilmente qualcosa di un livello un pelo più alto.
Tanto per intenderci se la tua applicazione web è vincolata all'indirizzo: http:ilmiosito/lamiaapplicazione significa che all'indirizzo ip corrispondente a www.ilmiosito.it c'è un socket aperto che accetta messaggi HTTP: se apri un socket a quell'indirizzo e mandi una richiesta di lettura in formato http ottieni la stessa cosa che otterrebbe un browser. In java non usi il socket, usi un URL new URL(indirizzoweb).openConnection()... leggi direttamente il corpo della risposta http. Con nomi diversi tutte le api hanno la loro connessione url-http.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
Oppure ottimizzi una interfaccia del sito per la navigazione da dispositivi mobile... secondo me ci perdi molto meno tempo e ti basta scriverla una volta sola (e non per ogni tipo di dispositivo: Android, IOs, Maemo, windows phone...) a meno che non fai una app java stand alone, ma non so se ne valga la pena.
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight |
|
|
|
|
|
#7 | ||
|
Senior Member
Iscritto dal: Feb 2007
Messaggi: 1020
|
Quote:
Quote:
Per "dialogare" col server e in particolare col database come posso approcciare la cosa? i dati del database come li estraggo? a me basterebbe una semplice SELECT ALL che mi fa vedere in una tabella sul cellulare i dati del DB. |
||
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
Quote:
Niente java o altro...
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Feb 2007
Messaggi: 1020
|
Quote:
new URL(indirizzoweb).openConnection()... praticamente mi connetto al database che sta sotto a quell'indirizzo web? |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
con openconnection ti connetti "alla servlet http" che il web server ha vincolato al tal indirizzo. Essendo una servlet http risponderà usando il protocollo http. Se il contenuto del messaggio http inviato dalla servlet è una pagina html, ritroverai il codice html di quella pagina nel corpo del messaggio ricevuto.
Ma in sè il protocollo http non serve solo per passare pagine html: è un formato di scambio di dati, ci puoi scambiare qualsiasi cosa. php non ti serve perchè hai già la web application in java, al massimo userai jsp per generare dinamicamente le pagine per il client.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Feb 2007
Messaggi: 1020
|
Quote:
Ho trovato questo... un esempio che potrebbe essermi utile... http://www.corsojava.it/articoli/servlet/un_esempio.jsp che dici fa al caso mio? Ho capito per sommi capi o ho detto solo castronerie? |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
E' corretto. Tieni conto che il discorso sul protocollo http è implicito quando parliamo di servlet http o pagine jsp (che altro non è che un modo diverso per scrivere una servlet): ci pensa la servlet a tradurre in http quello che vuoi fare, attraverso i flussi e i campi della richiesta/risposta.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Feb 2007
Messaggi: 1020
|
Quote:
Un'altra cosa... visto che mi sei stato utilissimo... per capire con che cosa mi sto collegando al server che conviene utilizzare, c'è una procedura standard da seguire??? |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Bisognerebbe sentire un web-designer perchè so che ci sono delle procedure traducibili in javascript per rilevare il browser - e il sistema operativo, ma quello che mi viene in mente è che se la struttura dell'interfaccia client è uguale e cambia solo l'aspetto (proporzioni ed effetti) forse basta usare un foglio di stile condizionale, un po' come quelli che si usano per separare la visualizzazione di un documento dalla stampa. Cioè le pagine servite dalla tua applicazione resterebbero uguali, cambia solo lo stile associato. Bisognerebbe fare un po' di esperimenti.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Se non ti va di reinventare la ruota prova con la libreria user agent utils: http://java.net/projects/user-agent-utils L'uso è semplicissimo, una volta che hai estratto dall'header della richiesta http la stringa contenente il valore del campo user agent, è sufficiente fare una cosa del tipo: Codice:
// import bla bla
String uaValue= ... //valore campo user-agent in http header
UserAgent ua = UserAgent.parseUserAgentString(uaValue);
Browser browser = ua.getBrowser();
OperatingSystem os = ua.getOperatingSystem();
DeviceType device = os.getDeviceType();
if (device == DeviceType.MOBILE) {
// genera risposta per dispositivi mobile
} else {
// genera risposta per tutto il resto, DeviceType.COMPUTER
// | DMR | GAME_CONSOLE | TABLET | UNKNOWN...
}
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 27-02-2012 alle 09:42. |
|
|
|
|
|
|
#16 | ||
|
Senior Member
Iscritto dal: Feb 2007
Messaggi: 1020
|
Quote:
Quote:
Un'ultima cosa, abbiamo parlato sempre di pagine html... ma se volessi mandare al mio dispositivo mobile pagine .jsp (ibride java/javascript/html, supponendo che il dispositivo abbia la sua bella java virtual machine), ci sarebbero problemi? Devo richiedere anche la presenza della JVM al momento della connessione smartphone/server? Ho visto jquery mobile, per creare layout davvero carini per smartphone, ma in quel caso non mi basterebbe mandare semplici pagine html no? |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:39.




















