Go Down

Topic: [ITA] arduino forum app test/development (Read 4503 times) previous topic - next topic

lesto

#15
Feb 24, 2013, 06:58 pm Last Edit: Feb 25, 2013, 04:24 pm by lesto Reason: 1
ah sì, è il tasto "unread replies" okok, sì, lo uso, e lo metterò.
In oltre se ci fai caso se sui topixc èremi sul + sul forum, compare la pagina con i topic che hanno avuto modifiche dall'ultima volta che hai aperto la board.

Il codice della app è già predisposto per riconoscere il click sul + o sul nome del tipic.

o meglio per errore ho usato onTouch invece che onClick, ma si risolveion fretta

edit: wow. oltre 700 visite... mi sa che la cosa interessa assai
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

lesto

bene bene, si procede.

Oggi aggiunta la navigazione di board e topic, da aggiungere i sotto-Topic.
I topic lanciano già l'evento con il corretto URL sia per leggere il topic che per leggere il topic a partire dai nuovi messaggi.
Invece per le board l'url per vedere i nuovi topic è null perchè non la estraevo (speravo di riuscire a farne a meno).
Poi ci sarebbe un minimo di restailing grafico...

allego, come promesso, gli screen-shot, ed uppo il workspase nel primo post

Quindi
Fragment LOGIN (da fare)
Fragment BOARD (da aggiungere URL unread topic, diciamo 90%)
Fragment TOPIC (OK)
Fragment MESSAGGIO (da riscrivere, diciamo 20%)
Fragment POST/EDIT (da fare)
Fragment UNREAD REPLIES (da fare)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

lesto

uppo anche il workspace, in modo da creare un diario di tutti i workspace utilizzati..
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

lesto

tracata la formichina prosegue :)

allora news: il simbolo - scompare, ingigantendo lo spazio per il nome delle board/topic, ma compare il + (quindi il bottone pervisualizzare direttamente i nuovi topic... pagina non testata per mancanza dinuovi topic a quest'ora :( )

il bello che il suddetto coidice per le unread dovrebbe funzionare anche per le sotto-sezioni... che però devo ancora implementare, quindi anche quì non testato :(

mi apsetto che funzioni anche con il tasto "unread replies" (che mi accorgo ora essere solo replies, sorry testato, ecco perchè non ci capivamo), anche quì non siscuro per mancanza di nuovi post da quando ci ho pensato e per la mancanza di un tasto "leggi unread", che pensavo di nascondere nel menù (ma selezionabile come "homepage"), per lasciare tutto lo spazio all'elenco board/topic/messaggi

infine ho sistemato un pò il gestore di eventi, unificandolo.

al solito allego un paio di screen-shot e il workspace, che aggiorno anche nel primo post.

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Madwriter

Complimenti lesto bell'iniziativa ho ababdonato la programmazione andorid qualche tempo fà ho pubblicato giusto qualche app sul market poi mi sono ritirato per impegni lavorativi, se ti serve una mano per la gestione DB no problem ;)
Programmo nei più svariati linguaggi da anni, purtroppo lavorativamente non sono mai stato nel campo web(solo grandi aziende quindi fatturazione etc etc), da quanto ho letto nella prima pagina tu sfrutti i tag presenti nel codice per leggere le varie parti che ti interessano, immagino che hai studiato un pò l'html del forum e l'hai sfruttato in questa maniera, ma di conseguenza basta che il forum venga aggiornato o la struttura cambiata o anche solo il nome di un tag variato che ti si sballa tutta l'app giusto?
(sto studiando un pò per conto mio la programmazione web per ora solo php, css e javascript)

ps potresti aggiungere un DB, e magari salvare le discussioni che uno si vuole rileggere o anche solo i topic, o anche solo segnalibri, ti assicuro che sqllite è leggero e si usa facilmente ;)
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

lesto

hai ragione su tutta la lina riguardo all'interpretazione dell'HTML. però dato che ogni tipologia di pagnia (elanco board, elenco topic, elenco messaggi, elenco unread) al suo interno è identica, ho 4 classi parser che fanno solo quello, quindi sono facili da aggiornare senza rompere il resto.

Per quanto riguarda i DB hai parzialmente ragione, ma un DB sarebbe "un overkill", ovvero una pesantezza inutile, meglio un sistema su file di testo.
Tanto non abbiamo da gestire accessi simultanei, essendo la app unica, in oltre se si fa che ogni tipic è un file di testo e la struttura board/sottoboard fatta con cartelle, viene fuori un sistema più vicino alla realtà e in grado di visualizzar in parallelo due topic senza problemi.
Anche l'aggiornamento non ha problemi: leggi il testo e lo mostri a video, contemporaneamente fai partire l'asyncTask che aggiorna TUTTI i mesaggi (per via degli edit..), poi alla chiusura del Fragment sovrascrivi il file di testo con lo stato attuale.

Infine ogni tot cancelli i file più vecchi di X e le cartelle vuote. easy no?

Al momento però è una cosa "forse la faccio"; salvo discussioni di più pagine, in cui sarebbe utile, comunque dovrei scaricarmi tutta la pagina e parsarla... senza contare il problema che stai leggendo qualcosa che magari nel frattempo è stata editata/modificata.

per ora preferisco sprecare banda in favore della "freschezza" dei dati, tanto ormai non c'è quasi più nessuno a consumo.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Madwriter

vabbè era solo per capire come si lavora sul web, anche io faccio spesso aprsing quindi capisco la facilità di ristrutturazione in caso di modifiche del forum.
forse hai ragione per i topic nei file di testo sarà che programmo su database da anni e ci faccio davvero di tutto quindi cerco di piazzarli ovunque, comunque per memorizzare impostazioni utente è perfetto un db, altrimenti ci sono le shared(non mi ricordo lo ammetto) che creano un area di memoria dove salvare delle impostazioni.
magari quando ho un pò di tempo ci do un occhiata e vedo di darti una mano, mi paicerebbe lavorare su web o/e app, almeno il risultato è più concreto.
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

lesto

sì, capisco, anche io all'inizio avevo questa tendenza... ma ora lvornado su file di 30/40GB a botta, mi rendo conto di quando rallentino le operazioni..

certo parliamo di tanti dati, ma su computer "normali", un andorid è un minipc e va in crisi con pochi dati
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Madwriter


sì, capisco, anche io all'inizio avevo questa tendenza... ma ora lvornado su file di 30/40GB a botta, mi rendo conto di quando rallentino le operazioni..

certo parliamo di tanti dati, ma su computer "normali", un andorid è un minipc e va in crisi con pochi dati

io ho lavorato anche su qualche miliardo di dati e ti assicuro che il db se ottimizzato al massimo rende bene, su android non saprei le prestazioni io ciò fatto solo piccole query(ho creato un gioco di enigmi e ho memorizzato all'interno, soluzioni, indovinelli, risposte e esiti.) .
wow 30/40gb  :smiley-eek-blue:
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

lesto

il miliardo non l'ho ancora raggiunto  :smiley-mr-green:, per ora uso molto meno di un paio di GB totali di spazio DB perchè i dati sono pre-analizzati da un programma che mette nel DB solo i dati utili (da quei 30/40GB giornalieri estraggo circa 5/10 milioni di righe ogni 14 giorni) (ma ho visto sistemi da miliardi di dati fare query select molto sotto il secondo...)

però ora che ci penso bene il vero problema non è l'elaborazione in sè, ma il peso di base del DB.. che però se è già in funzione perchè lo usa andorid di suo diventa nullo... quasi quasi...
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Madwriter


il miliardo non l'ho ancora raggiunto  :smiley-mr-green:, per ora uso molto meno di un paio di GB totali di spazio DB perchè i dati sono pre-analizzati da un programma che mette nel DB solo i dati utili (da quei 30/40GB giornalieri estraggo circa 5/10 milioni di righe ogni 14 giorni) (ma ho visto sistemi da miliardi di dati fare query select molto sotto il secondo...)

però ora che ci penso bene il vero problema non è l'elaborazione in sè, ma il peso di base del DB.. che però se è già in funzione perchè lo usa andorid di suo diventa nullo... quasi quasi...

non volevo di certo costringerti ad usare un db però conoscendone le potenzialità volevo consigliartelo  :smiley-mr-green:
eh si tieni conto che il rating di una grande società telefonica registra ogni singola chiamata quindi il miliardo di record si sfiora in relativamente poco tempo  :smiley-mr-green:
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

lesto

#26
Feb 28, 2013, 12:56 am Last Edit: Feb 28, 2013, 12:59 am by lesto Reason: 1
Oggi poca roba...
gli algoritmi del parser sono da rivedere, mentre ora esttraggo un array di topic o di board, la soluzione ideale è estrarre UNA board o UN topic, poichè le pagine con le subboard hanno sia i tag per le board che per i topic, e per evere un parser unico...

c'è da rivedere il tutto in teoria, io ho diviso visualizzatore board e topic, in realtà sarebbe da fare una pagina sola con sopra le board e sotto i topic, e poi alimetarli in base a cosa ci si trova.

vabbè.. l'importante è che per ora sta in piedi. Se nessuno si diverte a immettere HTML nei messaggi/titoli.

ed ho aggiunto le sub-baord.

resta da testare il tasto unread-reples, credo risolvere un bug con l'elenco board che non rileva l'immagine per i nuovi topic, e fare fragment dei messaggi. poi passo al poter rispondere, posto il codice su github, e mi prendo una vacanza  :P
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Testato

bueno, prometto di testarlo nel fine settimana e di guardare il codice, guardare nel senso letterale del tyermine,  visto che lo capiro' poco  :)
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

lesto

ammetto essere un pò incasinato, ma è molto semplice.

Si parte dalla FragmentApplication, che diciamo è il "main". Questa crea 2 oggetti, uno è il listener che in base ad un URL richiesto carica la giusta Fragment (e mette la vecchia "sotto" le altre nello stack, in modo che ricompaia alla pressione del tasto "indietro".

Ogni Fragment è una schermata, per ora ce n'è una per le Board e una per i Topic (che però come detto vorrei riunire, così come il parser), e sono divisi in sotto-cartelle.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Testato

Attenzione mica sto dicendo che non lo capisco per colpa tua, è semplicemente per mia ignoranza  :)

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Go Up