[ITA] arduino forum app test/development

c'è, c'è (da fare)

Fragment POST/EDIT (da fare)

se intendi qualcosa di simile senza postare non so, perchè non uso DB e voglio tenere l'app leggera... Al massimo faccio una specie di segnalibri per i topic

Tu usi il tasto replies normalmente? Se lo premi ti appare una schermata con tuttii topic a cui hai risposto ma solo se hanno ricevuto controrisposta
Quindi nella app metterei un bottone, un segnalibro,un menu, non so decidi tu, che premuto mi faccia vedere lo stesso risultato

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

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)

principale1.png

principale2.png

topic1.png

topic2.png

uppo anche il workspace, in modo da creare un diario di tutti i workspace utilizzati..

NewArduinoForum2013-2-26.zip (1.1 MB)

tracata la formichina prosegue :slight_smile:

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 :frowning: )

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 :frowning:

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.

principaleNew1.png

topicNew.png

NewArduinoForum27-2-2013.zip (1.11 MB)

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 :wink:
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 :wink:

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.

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.

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

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

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 :fearful:

il miliardo non l'ho ancora raggiunto :grin:, 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...

lesto:
il miliardo non l'ho ancora raggiunto :grin:, 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 :grin:
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 :grin:

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 :stuck_out_tongue:

NewArduinoForum2013-02-28.zip (1.11 MB)

bueno, prometto di testarlo nel fine settimana e di guardare il codice, guardare nel senso letterale del tyermine, visto che lo capiro' poco :slight_smile:

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.

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

comunque è presto da testare, manca la parte messaggi che direi è fondamentale, poi il login e quella per rispondere.

appena li integro rilascio un APK (il file applicazione) così potete testarla senza passare dall'IDE.

aggiornata ad oggi, ora funziona completamente come lettore (male)

male nel senso che le discussioni di più pagine finchè non sono state completamente caricate tutte le pagine non viene visualizzato nulla.

però questa volta oltre al sorgente pure l'APK, se vi va di provare com'è... tutto anche nel primo post, come al solio

NewArduinoForum10-4-2013.zip (1.34 MB)

NewArduinoForum.apk (213 KB)