Visualizzazione stampabile
-
Programmi di esempio ??
Ciao a tutti, stò studiando sul libro del Sig. Carli però ora, per approfondire alcuni concetti illustrati, sono alla ricerca di qualche sito internet che metta a disposizione dei programmi android (anche piccoli e stupidi) con il relativo codice in modo da vedere effettivamente come sono stati scritti e magari imparare anche qualcosa in più. Esiste un sito del genere ?
Grazie
-
Il sito di Google non basta?
List of Sample Apps | Android Developers
Inoltre, puoi sempre scaricarteli, per consultarli off-line
-
Grazie per la pronta risposta, veramente cercavo programmi un pochino meno complessi che mi facessero vedere praticamente come si usano activity, adapter, intent e così via, quelli sul sito google sono troppo complicati per me che sono alle prime armi...
-
Quote:
Originariamente inviato da
mimmog
Grazie per la pronta risposta, veramente cercavo programmi un pochino meno complessi che mi facessero vedere praticamente come si usano activity, adapter, intent e così via, quelli sul sito google sono troppo complicati per me che sono alle prime armi...
Ugh...ehm...mi sembra difficile riuscire a scendre come livello di complessità..
Per quello che riguarda un'activity, il più all'osso che puoi avere è quello che si genera automaticamente con l'SDK.
Per gli intent la chiamata mi sembra piuttosto semplice anche se effettivamente puoi ragionarla in un secondo momento.
Per gli adapter puoi guardare l'esempio sul notepade, anche se la cosa è un po' annegata... ma magari seguire tutti gli esercizi step-by-step può essere il livello di frammentazione che cerchi.
Meno di così ho paura che sia veramente difficile trovare cose, a meno di parlare di veri e propri frammenti di codice...
Ma almeno le basi java le hai?
-
Quote:
Originariamente inviato da
Cymon
Ugh...ehm...mi sembra difficile riuscire a scendre come livello di complessità..
Per quello che riguarda un'activity, il più all'osso che puoi avere è quello che si genera automaticamente con l'SDK.
Per gli intent la chiamata mi sembra piuttosto semplice anche se effettivamente puoi ragionarla in un secondo momento.
Per gli adapter puoi guardare l'esempio sul notepade, anche se la cosa è un po' annegata... ma magari seguire tutti gli esercizi step-by-step può essere il livello di frammentazione che cerchi.
Meno di così ho paura che sia veramente difficile trovare cose, a meno di parlare di veri e propri frammenti di codice...
Ma almeno le basi java le hai?
Proverò a seguire il tuo esempio e vediamo come va. Le basi di java le ho come quella di molti linguaggi che ho usato in passato tipo C++, assembler, php però devo dire che stò incontrando ugualmente parecchie difficoltà ad entrare nel concetto si android anche perchè spesso mi trovo chiamate a funzioni che non sono mensionate da nessuna parte....bho....
-
Quote:
Originariamente inviato da
mimmog
..... perchè spesso mi trovo chiamate a funzioni che non sono mensionate da nessuna parte....bho....
non posso che quotarti mimmog! io ho imparato un po' di java l'anno scorso in uni, poi quest'estate per conto mio ho approfondito molto più a fondo questo linguaggio potendo sperimentare sia aspetti sia limiti che non conoscevo...
E poi puff... settimana scorsa ero li che pensavo a quando son andato al WHYmca dove ho conosciuto Massimo di persona, e soprattutto quanta curiosità con la sua presentazione mi ha trasmesso...
Ed ecco ho preso il libro.
Nonostante questi precedenti, trovo anche io difficoltà ad approcciarmi a questo nuovo modo di vedere le cose:
- inizialmente è così, vedi metodi, file xml, architetture o altri aspetti che son di per sè difficile
- ma poi quando inizi ad entrare nell'ottica capisci come e il perchè di certe cose
Nella tua stessa situazione, ti dico di non demordere ;)
-
Quote:
Originariamente inviato da
dhalia
non posso che quotarti mimmog! io ho imparato un po' di java l'anno scorso in uni, poi quest'estate per conto mio ho approfondito molto più a fondo questo linguaggio potendo sperimentare sia aspetti sia limiti che non conoscevo...
E poi puff... settimana scorsa ero li che pensavo a quando son andato al WHYmca dove ho conosciuto Massimo di persona, e soprattutto quanta curiosità con la sua presentazione mi ha trasmesso...
Ed ecco ho preso il libro.
Nonostante questi precedenti, trovo anche io difficoltà ad approcciarmi a questo nuovo modo di vedere le cose:
- inizialmente è così, vedi metodi, file xml, architetture o altri aspetti che son di per sè difficile
- ma poi quando inizi ad entrare nell'ottica capisci come e il perchè di certe cose
Nella tua stessa situazione, ti dico di non demordere ;)
Ciao e grazie per la tua testimonianza. Spero che sia come dici tu anche perchè è proprio denigrante per una persona che come me programma con vari linguaggi da oltre 10 anni imbattersi in un qualcosa che sembra non avere un senso... View, Viewgroup, Intent, Activity, Adapter e via dicendo ma non tanto questo quanto il fatto di capire le sottoclassi o metodi, da dove escono e del perchè vengano usati...comincio a pensare che si debba imparare tutto a memoria perchè ancora spesso un senso logico non lo riesco a vedere...
Ti faccio un esempio banale : nel libro di Carli e precisamente nel capitolo che parla dei custom layout la classe LayoutParams estende quella di ViewGroup.LayoutParams con vari costruttori e vari metodi che se non prendessi il libro e le ricopiassi pari pari all'occorrenza, non sarei mai in grado di ricordare, allora mi chiedo : è una mia limitazione o in effetti occorre prendere e copiare di sana pianta tutto quel codice fino a quando uno non lo impara a memoria??
-
Quote:
Originariamente inviato da
mimmog
...comincio a pensare che si debba imparare tutto a memoria perchè ancora spesso un senso logico non lo riesco a vedere...
(Scusa se elimino un po' nel quote ma altrimenti vengon post eterni :D )
Guarda su certe cose mi chiedo anche io del perchè vengano usate, perchè quello che manca forse nell'approccio di libro di massimo è un perchè di certe cose, che ovviamente rimanda più volte all'sdk. Devo dire che è fatto molto bene perchè è molto puntiglioso, fortunatamente!, su tanti aspetti
ma giustamente/sfortunatamente certi aspetti son lasciati per così dire al lettore..
Io son dell'idea che ci vuole solo pratica per certe cose...
Tipo di xml conosco ben poco.. Per alcuni es mi son chiesto
"ma questo android: * a che serve?" poi ho capito che vien utilizzato per certe cose e i dubbi son diventati altri...
Piano piano si fa tutto, non penso che i genietti che ci son qui abbiano capito tutto subito hehe roftl
-
Quote:
Originariamente inviato da
dhalia
(Scusa se elimino un po' nel quote ma altrimenti vengon post eterni :D )
Guarda su certe cose mi chiedo anche io del perchè vengano usate, perchè quello che manca forse nell'approccio di libro di massimo è un perchè di certe cose, che ovviamente rimanda più volte all'sdk. Devo dire che è fatto molto bene perchè è molto puntiglioso, fortunatamente!, su tanti aspetti
ma giustamente/sfortunatamente certi aspetti son lasciati per così dire al lettore..
Io son dell'idea che ci vuole solo pratica per certe cose...
Tipo di xml conosco ben poco.. Per alcuni es mi son chiesto
"ma questo android: * a che serve?" poi ho capito che vien utilizzato per certe cose e i dubbi son diventati altri...
Piano piano si fa tutto, non penso che i genietti che ci son qui abbiano capito tutto subito hehe roftl
Diciamo che io fino all'XML sono andato veloce veloce, sul Capitolo 4 e 5 stò sbattendo da un mesetto e mezzo, sono arrivato agli adapter con i vari listview,arrayadapter ma a questo punto credo di fregarmene andando avanti...nel frattempo cercavo qualche programma facile facile di esempio che mi aiutasse a capire un pò di più...
-
Quote:
Originariamente inviato da
mimmog
Diciamo che io fino all'XML sono andato veloce veloce, sul Capitolo 4 e 5 stò sbattendo da un mesetto e mezzo, sono arrivato agli adapter con i vari listview,arrayadapter ma a questo punto credo di fregarmene andando avanti...nel frattempo cercavo qualche programma facile facile di esempio che mi aiutasse a capire un pò di più...
mmmm bene mi scoraggi così visto che arrivo tra qualche pagina al 4 ahaha :D
no dai sinceramente penso che in 5 giorni non sia male aver digerito abbastanza bene i primi 3...
in caso avrò una spalla su cui pianger se mi areno anche io hehe
-
Quote:
Originariamente inviato da
dhalia
mmmm bene mi scoraggi così visto che arrivo tra qualche pagina al 4 ahaha :D
no dai sinceramente penso che in 5 giorni non sia male aver digerito abbastanza bene i primi 3...
in caso avrò una spalla su cui pianger se mi areno anche io hehe
Oh mamma!!! fammi sapere il difficile comincia dal cap 4 in poi !!!! ;)
-
Quote:
Originariamente inviato da
mimmog
Oh mamma!!! fammi sapere il difficile comincia dal cap 4 in poi !!!! ;)
Certo! anzì guarda diamoci appuntamento in qualche post tra un po' di tempo così vediamo come procedon i progressi di entrambi ihih
(tra un po' ti darò un po' di vantaggio visto che dovrò mettermi sotto per l'esame di statistica/probabilità, software engineering e db)
-
Quote:
Originariamente inviato da
mimmog
perchè spesso mi trovo chiamate a funzioni che non sono mensionate da nessuna parte....bho....
Ragazzi, stiamo parlando di JAVA. Il JAVA è un linguaggio cattivo e antipatico. Il JAVA non ti vuole. Programmare in JAVA è come scrivere su una tastiera mentre la signorina Rottenmaier ti guarda da sopra la spalla e ti da una bacchettata tutte le volte che pigi puntoevirgola :cool:
E parlo in senso generale.
Per quello che mi riguarda, in realtà, devo dire di trovarmi molto bene con l'architettura android. Il disegno dei layout ha finalmente senso, cosa che non mi è capitato di incontrare spessissimo usando le librerie per le GUI di JAVA e mi sembra che la divisione tra activity, service e tutto il resto sia molto razionale.
Certo, è un framework quindi ha tonnellate di XML che per un lungo periodo non puoi far altro che copincollare e delle classi che "misteriosamente" interagiscono fra loro. E' anche il suo vantaggio, perchè quel "mistero" non hai bisogno di svilupparlo, c'è già, basta capire come ragiona e sfruttarlo.
Per quello che riguarda metodi e robe che non si capisce bene da dove vengono beh... ringraziandosun JAVA viene sempre consegnato con un corposo JAVADOC ;) E come dico io il JAVADOC è il miglior amico del programmatore, dovresti passare più tempo sul JAVADOC che a scrivere in una somma totale.
Comunque perplessità, soprattutto agli inizi, sono sempre legittime, l'importante è non scoraggiarsi. Se volete provare a postare qui qualcuno di questi frammenti di codice oscuro troverai sicuramente qualcuno che vi darà delucidazioni :)
-
Mimmog? Scusa una domanda: dai tuoi post mi sembra di capire che tu sei abituato ad una programmazione strutturata o per tipi di dati astratti, ma non mi sembra che sei molto nell'ottica di una programmazione ad eventi.
Mi sbaglio oppure sto prendendo un granchio? :)
P.S. non voglio essere critico nei tuoi confronti, ma come ha detto gia' qualcuno prima di me, nelle prime fasi di apprendimento di un linguaggio, e' naturale copiare pezzi di codice, anche se non si capiscono. La programmazione "autonoma" viene col tempo & l'esperienza, quando si sono capiti i meccanismi del nuovo ambiente.
-
Bhe ragazzi che dire...prima di tutto sono contento di rilevare anche dalle parole dei più esperti che non sono il solo ad aver avuto problemi iniziali con questo linguaggio e che comunque copiare il codice è na cosa "normale" all'inizio. Prenderò sicuramente in considerazione il consiglio di Cymon sul javaDoc.
Quote:
Originariamente inviato da
TheCopacabanaMan
Mimmog? Scusa una domanda: dai tuoi post mi sembra di capire che tu sei abituato ad una programmazione strutturata o per tipi di dati astratti, ma non mi sembra che sei molto nell'ottica di una programmazione ad eventi.
Mi sbaglio oppure sto prendendo un granchio? :)
P.S. non voglio essere critico nei tuoi confronti, ma come ha detto gia' qualcuno prima di me, nelle prime fasi di apprendimento di un linguaggio, e' naturale copiare pezzi di codice, anche se non si capiscono. La programmazione "autonoma" viene col tempo & l'esperienza, quando si sono capiti i meccanismi del nuovo ambiente.
Per risponderti, come ho già detto in precedenza, programmo da oltre 10 anni con i più svariati linguaggi che però hanno sempre avuto una caratteristica comunue e cioè quella di essere strutturati alla stessa maniera con l'abitudine di scrivere le classi da me e oppure di utilizzare quelle già pronte che però nascevano e morivano lì invece java ha i costruttori, le sottoclassi, i metodi e questo mi ha spiazzato notevolmente...devo dire la verità.
Per spiegarmi meglio e dato che la discussione sembra interessare molti, inserisco qui di seguito uno dei tanti codici incriminati :)
Riprendo il discorso del codice del libro del Dr.Carli, precisamente quello che si trova nel Cap. 5 da pagina 178, che descrive la costruzione di un layout custom. Il codice è quello relativo alla classe FlowLayout.java
Allora quello che dico quando parlo di ricordarsi il codice è :
1) possibile che per un layout personalizzato occorra ricordarsi 200 linee di codice ? lo trovo assurdo. Poi metodi e sottometodi per fare cosa ? dire che si sta utilizzando nell'XML l'attributo custom invece che android...
2) Prendiamo in cosiderazione i metodi obtainStyledAttributes o makeMeasureSpec o ancora gli ultimi 3 in Override, una persona che comincia mi dite come fa a ricordarli, sapere che esistono, che alcuni metodi sono in override, ricordare la sintassi, etc etc etc ?? non mi dite di guardare la documentazione perchè altrimenti una persona per scrivere un piccolo programma ci mette 2 anni....quello che mi sarei aspettato da Eclispe è che una volta scritto public class LayoutParams extends ViewGroup.LayoutParams lui mi mettesse già tutti i costruttori e mi desse indicazioni sui metodi da utilizzare per arrivare allo scopo altrimenti parliamoci chiaro, ci può anche essere un costruttore tipo
ma se io non sò che alla fine devo utilizzare il metodo recycle(); sono fottuto...
onestamente mi sento umiliato a fare i copia ed incolla...
Spero di essermi spiegato...
-
Ma guarda ti do ragione, dover definire un layout in questo modo è una cosa disumana..
-
Quote:
Originariamente inviato da
eafkuor
Ma guarda ti do ragione, dover definire un layout in questo modo è una cosa disumana..
E intanto, correggimi se sbaglio, ma non ci sono alternative...
-
Concordo con eafkuor che non si tratta di un codice semplice, anzi, direi già che è programmazione avanzata... molti programmatori android potrebbero non arrivare mai a dover fare una roba del genere. Ci sono un cifro di ottimi layout già fatti che funzionano in quasi ogni situazione :)
Vorrei però cercare di fare luce sul "ragionamento" che c'è dietro un codice del genere, che è un ragionamento al 90% JAVA e al 10% android.
1) Devo fare un'applicazione con un certo layout. Vado a spulciarmi tutti i layout già implementati nel SDK magari guardando questa pagina e scopro che nessuno mi piace!
2) Come si nota dal javadoc di uno qualsiasi dei layout già presenti (tho: il grezzissimo Linear) tutti i layout sono figli di ViewGroup.
3) A questo punto, visto che quello che mi serve non esiste, me lo faccio da me! E il punto di partenza deve essere ovviamente ViewGroup
4) A questo punto mi sono già portato in casa un badile di metodi e un badile di variabili. Tutta roba tracciata nel JAVADOC di ViewGroup (te lo qui)
5) Da qui cominciano i dolori... Per far fare al layout quello che voglio io devo capire come ViewGroup ragiona e come "risponde" alle varie sollecitazioni con i suoi vari metodi. A questo punto individuo alcuni metodi che devono rispondere diversamente e li riscrivo secondo le mie esigenze. Ricordandomi anche di scrivere ex-novo il methodo onLayout che in ViewGroup è abstract e quindi è una scatola vuota che però in una classe "reale" deve essere riempita.
6) Finito questo lavoraccio è a questo punto che si esprime la smisurata potenza di JAVA. Perché il mio layout, ridefinito secondo il mio volere, può essere usato nel progetto come un qualsiasi dei Layout pre-esistenti e posso anche dimenticarmi del fatto di averlo fatto io e maneggiarlo in agilità.
Ah, un appunto, ricorsivamente :-P nel codice d'esempio il ragionamento viene ripetuto su ViewGroup.LayoutParams per le stesse ragioni.
Ripeto, comunque, che questo codice è TROPPO AVANZATO per uno sviluppatore android (e anche JAVA, in certi casi) alle prime armi. Android mette a disposizione una dozzina di ottimi layout e il suggerimento è cominciare usando quelli :p
Quote:
Originariamente inviato da
mimmog
E intanto, correggimi se sbaglio, ma non ci sono alternative...
Appunto, ce ne sono eccome! Basta usare i layout già esistenti!
-
Signori, ho idea che vi stiate arenando sui Layout, e in particolare su quel Custom Layout del libro.
Premetto che non ho il libro, e che ho litigato anch'io sui Layout standard :)
Ma perche' non passate avanti, e vedete qualche altro argomento?
Questo e' il mio parere personale, sia chiaro...
Mimmog? Gia' che hai il libro in mano, puoi dare un'occhiata al capitolo sul SQLite (se c'e') e vedere com'e' fatto? In particolare per quanto riguarda il trasferimento di un DB (con gia' dei dati dentro) su un dispositivo.
Grazie, ti devo una birra :)
-
Quote:
Originariamente inviato da
Cymon
Appunto, ce ne sono eccome! Basta usare i layout già esistenti!
Esattamente. Tra RelativeLayout e LinearLayout si può fare praticamente tutto ;)
-
Premettendo che ho capito quello che intendete quando dite di utilizzare layout standard e di andare avanti ed infatti è quello che stò facendo (anche se non mi piace perchè secondo me un programmatore non deve utilizzare layout standard perchè è un pò come dire a qualcuno di fare un sito internet e questo prende un sito con grafica già fatta e lo utilizza).
Però, tralasciando ora l'argomento layout, ho voluto postare il codice di cui sopra per far capire che con android anche le cose più banali hanno bisogno di linee e linee di codice. Faccio un altro esempio : ExpandibleListAdaper possibile che per ottenerlo con android sia necessario uno codice di questo tipo ?
ragazzi ma ci rendiamo conto che questa cosa con il C++, il PHP e quant'altro si fa con un array, una tabella ed un ciclo for ? :O
Evito di parlare di Spinner ed ImageSpinnerAdapter perchè ti fanno venire i capelli dritti ! :D
@TheCopacabanaMan : c'è un intero capitolo dedicato all'SQLite però spiega solo come creare un db, come scrivere e leggere dentro ma non come effettuare l'operazione che vuoi tu. Mi spiace, fose dovrai utilizzare tipo 1000 linee di codice per farlo :D :p
-
Quote:
Originariamente inviato da
mimmog
@TheCopacabanaMan : c'è un intero capitolo dedicato all'SQLite però spiega solo come creare un db, come scrivere e leggere dentro ma non come effettuare l'operazione che vuoi tu. Mi spiace, fose dovrai utilizzare tipo 1000 linee di codice per farlo :D :p
Bah, ce l'ho fatta con 14 linee di codice. Avevo gia' avuto l'impressione che quel libro fosse un "entry level"...
P.S. grazie, ti devo una birra :)
-
Cose come questa:
mi fanno venire i brividi.
-
Quote:
Originariamente inviato da
mimmog
ragazzi ma ci rendiamo conto che questa cosa con il C++, il PHP e quant'altro si fa con un array, una tabella ed un ciclo for ? :O
Ehm... no. ;)
Quando parli di un oggetto JAVA che è derivazione di altri oggetti JAVA non devi solo considerare quello che è l'uso che devi farne, ma al fatto che l'oggetto che andrai a gestire potrà essere utilizzato in qualsiasi contesto questo è atteso.
Un Adapter, per esempio, è effettivamente un elenco di elementi però considera che questi elementi possono essere generici (stringhe, classi, immagini o quant'altro) e che in lui porta abbastanza informazione da potersi costruire, da solo un'interfaccia, se invocato nel modo opportuno.
Ovviamente tutto questo carico di capacità ha un prezzo che in JAVA (in JAVA, ripeto, non in android) è dato da costruzioni un po' più barocche che altrove.
Se tu avessi solo un array poi dovresti implementare il modo in cui leggere l'array, magari un modo per maneggiarei dati al suo interno e infine un'interfaccia per visualizzarli. Molte di queste cose potrebbero non essere riutilizzabili... Una volta che hai implementato l'adapter in questo modo invece sai di poterlo usare in ogni contesto necessiti di un adapter. In una prospettiva di progetti grandi (ok, più grandi di app android, ma JAVA ha un uso parechcio esteso) questo è vitale.
-
Condivido quanto dici, anzi non vorrei si pensasse che ho qualcosa contro java che invece reputo un linguaggio che sicuramente vale la pena conoscere,dico solo che per android qualcosina e' un po troppo ostica e potrebbe essere migliorata e semplificata. Eclipse come interfaccia grafica per la gestione dei layout va tanto migliorata, la dovrebbero far diventare stile dreamweaver per essere buona, per il resto continuo a studiare e copiate il codice cosi come consigliato da tanti sperando che in un prossimo futuro le cose mi sembrino più chiare :)
-
Ciao a tutti,
Finalmente un bel post tecnico di buon codice :-) A parte gli scherzi è ovvio che, non solo in Android, è sempre meglio utilizzare le api esistenti piuttosto che realizzare qualcosa di custom. La creazione di componenti custom deve essere presa solamente come l'ultima opzione. Proprio di recente ho dovuto fare un refactoring di una applicazione esistente, piena di "reinvent the wheel" spostando a livello di risorse gran parte del codice scritto in Java. Eh si, le odiate risorse che hanno portato via molte pagine del mio libro :-) L'esempio del FlowLayout è un esempio puramente didattico di come si possa creare un layout custom ma, come giustamente diceva uno di voi, si tratta di un qualcosa di abbastanza raro: quasi tutto si riesce a fare con i layout predefiniti. L'esempio successivo in realtà non ha nulla di complesso se non alcuni metodi per la creazione di una struttura dati che permetta l'utilizzo dell'ExpandableListAdapter. In questo esempio c'è poi un utilizzo "simpatico" delle Generics. A tale proposito vi consiglio, se non lo avete giá fatto, di leggervi il libro "Effective Java" di Josh Bloch il quale è un MUST per chiunque sviluppi in Java (Android o no).
Per colui che chiedeva come caricare un db già costruito gli dico che la cosa è semplice dato che è possibile mettere il relativo file come risorsa raw e, alla prima esecuzione dell'applicazione, ricopiarlo nella cartella relativa al db della stessa che è /data/data/<package app>/databases/. È comunque possibile accedere a questa directory direttamente dall'Activity attraverso un apposito metodo di Context che dovrebbe essere getDatabasePath() se ricordo bene. Se non chiaro è possibile scrivermi una mail per avere il codice già fatto per questa cosa. Si tratta si e no di 5 righe di codice per chi è abituato a contarle ;-)
Più in generale, penso che nessuno abbia mai detto che sviluppare per Android sia o debba essere facile. Sicuramente dipende da cosa si deve realizzare anche se possiamo dire che, a paritá di applicazione, Android è più complesso di iPhone. Poi, a parità di linguaggio, molto dipende da chi sviluppa e dalla sua volontà di creare qualcosa di riutilizzabile. Questo sta alla base di sintassi all'apparenza complesse del tipo List<? extends Map<String,String> che sta,in due parole, ad indicare un riferimento ad una lista di oggetti di cui non conosco il tipo esatto ma che sicuramente sono oggetti istanza di una classe che implementa l'interfaccia Map che associa ad una String un'altra String. Il fatto che non conosca il tipo esatto degli elementi nella lista non mi permetterà di aggiungere elementi alla stessa ma mi permetterà di sapere che qualunque cosa estrarrò sarà sicuramente un qualcosa che potrò assegnare ad un riferimento di tipo Map<String,String>.
Non ho molto tempo di seguire i vari forum ma se mi scrivete una mail per chiedere delucidazioni sul libro vi risponderò senza problemi come ho fatto in diversi casi di altri lettori.
Massimo
-
Gentile Dott Carli, la ringrazio per le sue delucidazioni. Ora il suo libro e' già nelle librerie e non so nemmeno se ha intenzione di fare delle ristampe, nel caso ci fosse questa intenzione direi che sarebbe opportuno a questo punto prendere in considerazione l' ipotesi di dedicare ai custom magari la parte finale del libro perché se la inserisce come ha fatto nel capitolo 4, un neofita come me e tanti altri che si avvicinano per la prima volta al mondo android, presumono che il custom sia una cosa indispensabile per creare un interfaccia di layout d decente in un proprio programma android o quantomeno le propongo di scrivere che le api esistenti sono sufficienti ma ci si potrebbe imbattere nell' esigenza remota di un custom. Questo lo dico perché personalmente ho studiato e capito i primi 4 capitoli in maniera straordinariamente veloce ma poi mi sono arenato fino ad oggi su un codice che solo ora scopro essere non indispensabile, il dubbio mi era venuto ed infatti ero andato avanti sugli adapter, ma poi quando anche li ho visto che vi erano riferimenti a quelli custom,ho pensato che forse mi sbagliavo e' nata di li la mia esigenza di creare questo topic intitolato Programmi di esempio proprio per capire se queste customuzzazioni fossero la norma oppure no. Ora so di poter andare avanti e di rispolverare questi custom quando avrò una maturità di programmazione in questo ambiente tale da sentirmi pronto a farlo. Spero che prenda seriamente in considerazione questa mia richiesta e la ringrazio sempre per la sua disponibilità nell' intervenire in queste discussioni che a volte cominciano con un qualcosa di poco serio ma poi si trasformano in un aiuto per tanti di noi. Grazie
-
concordo con mimmog. Effettivamente, mi era sembrato strano trovare questo codice gia al capitolo 4, ma non volevo infierire. :)
Comunque, le edizioni successive dei libri sono sempre piu corrette.
Mimmog, in bocca al lupo!
-
Beh, vi ringrazio dell'osservazione di cui terrò conto nel prossimo libro che uscirá a febbraio e che non sarà una seconda edizione del precedente ma avrá contenuti diversi. Ne terrò conto per quello che sarà nelle mie possibilità visto che sono aspetti che non sempre decide chi scrive.
Ne approfitto anche per precisare che, come avvenuto nel testo precedente, darò per scontato i concetti legati alla programmazione Java per cui non mancheranno sintassi del tipo List<? extends E> le quali possono non essere forse banali ma che mi permetteranno di creare un piccolo framework per la gestione di problematiche comuni nello sviluppo Android. Sicuramente non permetterà di fare tutto (se avessi dovuto affrontare in modo approfondito tutto Android il primo testo sarebbe stato di 3000 pagine...) ma sicuramente potrà essere preso come spunto.
Lasciatemi comunque dire che il fatto di partire a "testa bassa" nel realizzare un Layout custom mi sa tanto di CPP (copy and past programming). Se fosse stata una regola quella di dover sempre realizzare un layout custom, quelli esistenti a cosa sarebbero serviti? La cosa bella è che il paragrafo "Realizzare Layout Custom" inizia proprio così: "Nella maggior parte dei casi, i layout descritti in precedenza, sono più che sufficienti alla realizzazione delle interfacce più comuni. Nel caso in cui vi fosse la necessità di creare algoritmi personalizzati con cui disporre le View......". Ovviamente per leggere questa parte bisogna avere il libro ;)
Buon lavoro
-
Bhe che dire? Attendiamo con ansia febbraio ed il suo nuovo libro :) Per il layout custom e' vero che all' inizio del capitolo 4 dice che i layout standard sono sufficienti ma e' anche vero che non si capisce quello che si e' detto qui e cioè che utilizzare un layout custum e' una cosa rara che forse un programmatore android potrebbe non trovarsi mai a fare, non ho capito però il suo discorso sul partire a ''testa a bassa'' nel realizzare un layout custom le sa di CPP che intende?
-
Scusate, magari dico un'eresia, ma guardando la pagina dei layout standard fornita da Cymon copè questa Hello, Views | Android Developers volevo sapere se vi era anche la possibilità di downlodare il codice di ogni layout o chiedo troppo ? roftl
-
Mimmog, basta che clicchi su ognuna delle immagini, per vedere il codice Xml relativo a quel layout.
-
Quote:
Originariamente inviato da
TheCopacabanaMan
Mimmog, basta che clicchi su ognuna delle immagini, per vedere il codice Xml relativo a quel layout.
Bhe certo questo lo sò, volevo sapere se si potevano downlodare perchè poi ci sono esempi con più files e quindi volevo evitare di fare copia ed incolla ;)
-
1 allegato(i)
Certo che puoi scaricare gli esempi: lancia l'SDK e guarda l'immagine allegata:
-
Quote:
Originariamente inviato da
TheCopacabanaMan
Certo che puoi scaricare gli esempi: lancia l'SDK e guarda l'immagine allegata:
L'ho fatto ma non capisco dove li mette però o_O perchè se vedo in sdk-windwos sia in API7 che API8 non trovo i linearlayout e company perchè mi sà che quelli sono tutorial non sample...
-
Fai una passeggiata per il tuo FileSystem, sicuramente troverai una cartella denominata ...android-sdk-windows\samples
;)
-
Quote:
Originariamente inviato da
TheCopacabanaMan
Fai una passeggiata per il tuo FileSystem, sicuramente troverai una cartella denominata ...android-sdk-windows\samples
;)
si si come ti dicevo sopra quella c'è ma i layout fanno parte dei tutorial che purtroppo non sono compresi...
-
Allora credo che l'unica sia fare copia-incolla
-
Infatti così ho fatto alla fine :)
-
Quote:
Originariamente inviato da
massimocarli
Ciao a tutti,
Per colui che chiedeva come caricare un db già costruito gli dico che la cosa è semplice dato che è possibile mettere il relativo file come risorsa raw e, alla prima esecuzione dell'applicazione, ricopiarlo nella cartella relativa al db della stessa che è /data/data/<package app>/databases/. È comunque possibile accedere a questa directory direttamente dall'Activity attraverso un apposito metodo di Context che dovrebbe essere getDatabasePath() se ricordo bene. Se non chiaro è possibile scrivermi una mail per avere il codice già fatto per questa cosa. Si tratta si e no di 5 righe di codice per chi è abituato a contarle ;-)
Più in generale, penso che nessuno abbia mai detto che sviluppare per Android sia o debba essere facile. Sicuramente dipende da cosa si deve realizzare anche se possiamo dire che, a paritá di applicazione, Android è più complesso di iPhone. Poi, a parità di linguaggio, molto dipende da chi sviluppa e dalla sua volontà di creare qualcosa di riutilizzabile. Questo sta alla base di sintassi all'apparenza complesse del tipo List<? extends Map<String,String> che sta,in due parole, ad indicare un riferimento ad una lista di oggetti di cui non conosco il tipo esatto ma che sicuramente sono oggetti istanza di una classe che implementa l'interfaccia Map che associa ad una String un'altra String. Il fatto che non conosca il tipo esatto degli elementi nella lista non mi permetterà di aggiungere elementi alla stessa ma mi permetterà di sapere che qualunque cosa estrarrò sarà sicuramente un qualcosa che potrò assegnare ad un riferimento di tipo Map<String,String>.
Non ho molto tempo di seguire i vari forum ma se mi scrivete una mail per chiedere delucidazioni sul libro vi risponderò senza problemi come ho fatto in diversi casi di altri lettori.
Massimo
Intanto complimenti per il suo fantastico ultimo libro. Seguendo le indicazioni in esso contenuti, sto cercando di scrivere il mio primo programma: mi sono impiantato proprio sull'utilizzo di un DB SQLite precostituito che l'applicazione dovrà leggere per sfruttarne i dati.
Tutte le volte che ci accedevo da programma me ne veniva creato uno, vuoto però e, quindi, con conseguenti errori nell'esecuzione delle query.
Per poter continuare a lavorarci ho dovuto copiare a mano il DB nel DVM.
Naturalmente mi è utile capire come poterlo fare da installazione dell'applicazione per poterla distribuire.
Grazie.