D
Deleted member 103
Guest
Beato te, qui ci sono da ieri 15cm di neve e -1,3 gradi.s
Sono stato in silenzio 2 settimane :-(
Vabbe torno in silenzio.... anzi esco a passeggiare, c'é una bella giornata oggi
Beato te, qui ci sono da ieri 15cm di neve e -1,3 gradi.s
Sono stato in silenzio 2 settimane :-(
Vabbe torno in silenzio.... anzi esco a passeggiare, c'é una bella giornata oggi
Beato te, qui ci sono da ieri 15cm di neve e -1,3 gradi.
...e che fessacchiotto! Perché non ho usato dei ToggleButton per i numeri da selezionare, anziché cambiare colore ai numeri, cosa nemmeno diretta, in b4j?Troppo lavoro per così poco:
Leggermente migliorato (sempre inutile, eh ) - unica cosa buona che fa è aggiornarsi da sé (se lo avvii, ovviamente, non usa un servizio b4a in background, essendo per PC )...e che fessacchiotto! Perché non ho usato dei ToggleButton per i numeri da selezionare, anziché cambiare colore ai numeri, cosa nemmeno diretta, in b4j?
Senilità!
Ho trovato un modo per perdere altro tempo.
Una nuova libreria, la chiamerò Penelope... View attachment 65570
Comunque, stai perdendo originalità, non solo nel nome:
https://www.b4x.com/android/forum/threads/help-with-animation.90261/#post-570696
Ci ho pensato mille volte, mai fatto (avevo iniziato, sia in VB.Net che B4J; non ricordo a che punto arrivai).Adesso sto pensando alla bversione successiva per Creare Dei NavigatorSQl come quelli che si hanno su VB.NET
Dove associ le label, EditText o ImageView e con lo scorrere del Navigator automaticamente ti aggiorna la UI.
Visto ma al volo, non so cosa faccia esattamente; se vuoi specificarlo qui... grazieho realizzato una su SQL.
Gli passi una ListView? E l'immagine? Duplicata per ogni item/record?Popolare una Lista, ListView con un DB, inclusa l'immagine nel ListView
Esempi comandi, pleaseSalvare immagini in un campo BLOB.
Dim oper As sqlite
oper.Initialize
oper.UpdateBitmap(filenamedb,"mytable","ID=1","bitmap",LoadBitmap(File.DirInternalCache,"b4a.png"))
oper.UpdateBitmap(filenamedb,"mytable","ID=2","bitmap",LoadBitmap(File.DirInternalCache,"b4j.png"))
oper.UpdateBitmap(filenamedb,"mytable","ID=3","bitmap",LoadBitmap(File.DirInternalCache,"b4i.png"))
Dim Sq As sqlite
Sq.Initialize
Sq.PopulateListTwoViewLineBitmap(FileDB,"mytable","name","description","ID","bitmap","",ListView1,True)
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim DB As SqlNavigator
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("main")
File.Copy(File.DirAssets,"test.sql",File.DirRootExternal,"test.sql")
DBn.ConnectDB(File.DirRootExternal,"test.sql",False)
DBn.AddLinkView(ImageView1,"bitmap")
DBn.AddLinkView(LabelName,"name")
DBn.AddLinkView(EditTextDescription,"description")
DBn.Query("SELECT * FROM mytable")
DBn.Position=0
End Sub
Immagino che sqlite sia il nuovo "tipo" che hai creato, ovvero un wrapper al tipo SQL, insomma, la libreria.Dim oper As sqlite
Senza parametri, per cui usa/userà un db sqlite già inizializzato/aperto, giusto?oper.Initialize
Cos'è filenamedb? Non sarà invece un db SQLite già inizializzato? Se fosse il nome del file db, a quel punto il comando stesso dovrebbe verificare ed eventualmente aprilre il db, mi parrebbe strano. Non sarebbe meglio inizializzare la tua variabile sqlite con un parametro che sia il db sqlite già aperto?oper.UpdateBitmap(filenamedb,"mytable","ID=1","bitmap",LoadBitmap(File.DirInternalCache,"b4a.png"))
Ecco, vedo da questo comando che FileNameDB è una string, quindi non un oggetto SQL come pensavo; quindi suppongo che ne crei uno al proprio interno e lo inizializzi, se necessario.PopulateListTwoLineBitmap (FileNameDB As String, NameTable As String, FieldName As String, FieldSecondLine As String, FieldID As String, FieldBitmap As String, Condition As String, LV As ListView, CLearListView As Boolean) As String
Suggerimento che non ha a che fare con le tue librerie: effettuare queste operazioni nello starter, copia ed apertura db; inoltre, copiarlo nella DirInternal, non nella DirRootExternal - sia perché questa potrebbe non essere accessibile, sia perché poi il db sarebbe accessibile anche dall'esterno dell'app e quindi l'utente potrebbe eliminarlo.File.Copy(File.DirAssets,"test.sql",File.DirRootExternal,"test.sql")
Ecco, sarebbe meglio, come ho scritto nel post precedente, che le tue classi/librerie richiedessero un db sqlite aperto nell'inizializzazione; sarebbe tutto più semplice e logico. Inoltre, farei un'unica libreria, in cui il navigatore sia un metodo come gli altri, UpdateBitmap...DBn.ConnectDB(File.DirRootExternal,"test.sql",False)
Immagino che qui bitmap sia il nome del campo, giusto?DBn.AddLinkView(ImageView1,"bitmap")
Uhm... forse questo no, il navigatore dev'essere una sorta di CustomView.Inoltre, farei un'unica libreria, in cui il navigatore sia un metodo come gli altri, UpdateBitmap...
Grazie, é una cosa che pensavo da tempo, ma che non credevo fossi in grado di realizzarla. L'altra notte mentre dormivo un colpo di genio nel sonno (le idee migliori mi vengono quando dormo, non é la prima volta)@Star-Dust
Per ora questa Libreria non mi serve, però mi potrebbe tornare utile in qualche nuovo progetto; intanto ci metto il segnalibri.
Librerie per gestire più facilmente db SQLite sono e saranno sempre utilissime, soprattutto per i principianti ma non solo.@Star-Dust
Per ora questa Libreria non mi serve, però mi potrebbe tornare utile in qualche nuovo progetto; intanto ci metto il segnalibri.
questa è la cosa più importante.Non so se servirà ad altri ma a me serve....
La classe Sqlite, é più intesa come una raccolta di procedure. Con una sola classe dichiarata nel global fai tutte le operazioni.Allora... i Like sono d'obbligo, mentre tu... li meriti davvero, hehehe.
Ora però devo capire bene tutta la faccenda (leggIo...).
Immagino che sqlite sia il nuovo "tipo" che hai creato, ovvero un wrapper al tipo SQL, insomma, la libreria.
Senza parametri, per cui usa/userà un db sqlite già inizializzato/aperto, giusto?
Cos'è filenamedb? Non sarà invece un db SQLite già inizializzato? Se fosse il nome del file db, a quel punto il comando stesso dovrebbe verificare ed eventualmente aprilre il db, mi parrebbe strano. Non sarebbe meglio inizializzare la tua variabile sqlite con un parametro che sia il db sqlite già aperto?
E' chiaro che poi sqlite potrebbe lavorare su unico db, visto che ai comandi come UpdateBitmap non passerai più filenamedb, ma anche con la libreria SQL usi un db per volta, è giusto così.
"ID=1" è la chiave primaria della tabella, immagino; questo va valutato bene, in quanto una chiave potrebbe essere composta da più campi. Inoltre, spesso potrebbe essere utile recuperare/aggiornare un record in base ad una clausola Where anziché tramite chiave primaria.
Ecco, vedo da questo comando che FileNameDB è una string, quindi non un oggetto SQL come pensavo; quindi suppongo che ne crei uno al proprio interno e lo inizializzi, se necessario.
Non lo trovo molto utile ma solo per il fatto che non è utile una ListView; nel 99% dei casi è meglio usare una xCustomListView.
Per il navigator... prossimo post, altrimenti dici che i miei post sono troppo lunghi
meno male che non è stato un colpo sulla testa di tua moglieIeri notte mentre dormivo un colpo di genio nel sonno