PDA

Visualizza Versione Completa : sharedobject & flashlite2



Pecoranera
02-01-2006, 01:56 AM
(uso un nokia 6630)
Scusate se disturbo ma forse qualcuno può aiutarmi a risolvere questo dilemma:

so che sharedobject sono supportati... però non riesco ad usarli...

girando un po in rete ho visto che non sono sincroni, per cui prima di potere accedere alle variabili recuperate bisogna accertarsi che siano efettivamente disponibili...

ok , facile (+-) ... come mai però se metto una funzione che mi flocca l'esecuzione del swf fino a quando non sono caricati.... il filmato si blocca definitivamente (sigh!)?cioè non carica i dati

(mi basterebbe sapere dove va a salvare il file per avere la certezza che esiste! dopodiche un sistema per recuperarlo lo trovo....)

per adesso è quasi una curiosità...mi serviva per caricare e aggiornare una classifica di gioco...ma non riuscire ad usarli mi limiterà parecchio in futuro

flagers
02-01-2006, 02:39 AM
Ciao,

ho fatto pochi test ma ti copio un pezzo di codice che ho già provato e funziona sul mio 6630. Ho guardato gli esempi della guida e ho scovato questa soluzione.
Con il getSize riesci a sapere se esiste lo SO in questione e quindi eseguire le azioni di conseguenza. Purtroppo ho cercato velocemente il file LSO sul telefonino per capire dove veniva memorizzato ma non l'ho trovato.. anzi se hai tempo di guardare fammi sapere :).... nella guida non è specificato purtroppo.




function loadCompletePrefs (mySO:SharedObject) {
if (my_so.getSize() == 0)
{
// Se Size = 0 inizializzo i dati
//my_so.data.name = "Fab";
getDate() ;
}
else
{
// Visualizzo i dati memorizzati nello SO
for (var idx in mySO.data) {
trace( " " + idx +": " + mySO.data[idx] );
output.text = idx +": " + mySO.data[idx]
}

}
}
SharedObject.addListener( "TrialTest_1", loadCompletePrefs );

var my_so:SharedObject = SharedObject.getLocal("TrialTest_1");



Spero ti sia utile... scusami in anticipo se nei proxx giorni potrei ritardare con le risposte

Pecoranera
02-01-2006, 10:02 AM
grazie mille flagers!
lo provo imediatamente!
anche io avevo provato a cercare nei meandri della memoria del telefono i file ...masenza scovarli.
ti faccio sapere quanto prima
a presto

flagers
02-01-2006, 12:18 PM
Parentesi...

a me lo script degli SO che ti ho copiato sopra non funzionano sull'emulatore FL1.
Moltissime altre cose non vanno sull'emulatore, tanto da avermi fatto decidere di sviluppare in FP7 e poi convertire in FL2.0 alla fine (naturalmente cercando di creare gli script affinchè funzioni cmq da subito su cellu e non proprio in FP7).

Quindi per fare test è un po' una rottura di scatole... :)

Pecoranera
02-01-2006, 12:25 PM
idem!
sono sempre attaccato col cavo al nokia x verificare effettivamente che funzioni!!!

per i SO capitava l'inverso... lo provavo in FP7 ed era tutto ok, poi sul telefonino ..nisba!
ho letto del fatto che i So su FL2 sono asincroni e mi sembrava di avere trovato/risolto il problema ....

appena riesco verifico lo script che mi hai mandato.
grazie ancora e ciao

Pecoranera
02-01-2006, 03:59 PM
secondo te.... se metto a video un campo testo che prende questo valore:

_root.stato = System.capabilities.hasSharedObjects;
( stato è la variabile del campo testo)

e mi esce "false"... è un brutto segno?:( :( :(

ho provato lo script... e altri che mi sono inventato e/o trovato in giro...e in locale funziona ma appena lo carico su cellulare ..niente!
così ho provato

System.capabilities.hasSharedObjects;
e come valore mi da false...se ho ben capito ( l'inglese, mannaggia!!!) non sarebbero supportati

ciao

flagers
02-01-2006, 07:37 PM
Che cellu hai? Io 6630 e a me a dire il vero andavano... quello script che ti avevo mandato infatti scriveva le variabili la prima volta mentre dalla seconda mi dava un altro messaggio.

Non ho ancora provato ad usare .hasSharedObjects.
lo faccio piu' tardi e ti faccio sapere

Pecoranera
02-01-2006, 08:41 PM
anche io ho il 6630...ma non va! sicuramente sbaglio qualcosa ..anche se non so cosa!

l'hai provato proprio sul cell. o solo in emulazione? xchè se lo provo in emulazione sul pc me le salva e mi da l'output come dovrebbe essere...ma se lo passo sul cell è sempre undefined!

mi viene il dubbio che sia perchè provo il swf dalla memorycard e non sull'hd del nokia..
adesso provo! ( sarebbe il colmo!)

[qualche secondo dopo]

no..niente da fare
boh chi ci capisce è bravo.

flagers
02-02-2006, 02:42 AM
Ciao,

ho fatto il test su 6630


output.text = System.capabilities.hasSharedObjects

Il risultato è true

Ma sei sicuro di esportare in FlashLite 2.0? Scusa la domanda banale :D

ciao
Fabio

Pecoranera
02-02-2006, 11:23 AM
non è banale...specie con un casinista come me!:)

però ho ri-verificato.

esporto in fl2!!

mentre sono in flash.. e faccio la simulazione tutto ok.
mi da "true"

però se lo passo sul cellulare e lo faccio partire... mi compare tristemente "false".

( passo " System.capabilities.hasSharedObjects" ad una variabile in un campo di testo....se sbagliassi il percorso, il nome o la sintassi ...mi uscirebbe al massimo "undefined!)
boh!

tu l'hai provato sul cellulare o solo in emulazione? ( scusa la domanda banale :) )

Lukather
02-02-2006, 11:59 AM
Scusate, approfitto del thread per altre domande sugli SO.
E' l'unico modo di salvare dati persistenti sul cell da flash giusto? (senza usare software di terze parti)
E' possibili in seguito 'estrarre' i dati salvati e portarli su pc? Praticamente ho svliuppato un qeustionario e dovrei avere i risultati su pc per lavorarli con access e word.

Grazie

flagers
02-02-2006, 12:17 PM
Pecora... ti avevo già risposto... SI TUTTO PROVATO SU CELLULARE e funziona.

Luke: si è l'unico modo senza sviluppare soluzioni in C++, J2ME, ecc.

Per portarli su pc puoi optare per la sincronizzazione/invio dei dati ad un Db utilizzando un linguaggio server side o sarebbe da verificare la compatibilità degli SO del cellu con quellli per PC e provare a creare un app Flash che legge quei SO e poi farli scrivere in qualche modoo..... non so se mi segui.. cmq dovrei pensarci un attimo ma cosi al volo mi è venuto in mente questo

flagers
02-02-2006, 12:19 PM
Pecora mandami il file SWF che utilizzi per testare le capatibilies degli SO.
Quello che a te da false.. mandamelo uguale uguale e verifico sul mio cellu.

Se da false significa che sbagli qualcosa nel codice. Se è true significa che hai probs sul cellu (o MEMORIA PIENA.. hai controllato di avere spazio?)

Lukather
02-02-2006, 12:37 PM
Luke: si è l'unico modo senza sviluppare soluzioni in C++, J2ME, ecc.

Per portarli su pc puoi optare per la sincronizzazione/invio dei dati ad un Db utilizzando un linguaggio server side o sarebbe da verificare la compatibilità degli SO del cellu con quellli per PC e provare a creare un app Flash che legge quei SO e poi farli scrivere in qualche modoo..... non so se mi segui.. cmq dovrei pensarci un attimo ma cosi al volo mi è venuto in mente questo

Si ti ho 'abbastanza' seguito :)
Praticamente provare a creare un app Flash su pc che legge gli SO sul cell...però come faccio a farli comunicare?
L'altra opzione è da scartare, deve essere un applicazione che non mi faccia spendere soldi :D

PS: ma write2file non esiste più? Non riesco a trovarlo su internet :(

Pecoranera
02-02-2006, 12:46 PM
ecco il codice.

ho controllato la memoria...ed è libera per 3/4...quindi dovrebbe essere ok.

mi viene il dobbio che forse in qualche modo bisogna attivarli( gli SO) ..o dare il "permesso " al swf di scriverli sul disco....?

grazie per la disponibilita..e soprattutto per la pazienza!

flagers
02-02-2006, 12:57 PM
Lukather : Silk Write2File è pieno di problemi.. .non va bene.

C'è un moderatore, bytesm, che ha sviluppato e ho integrato già in un gioco di poker un app in C++ che fa la stessa cosa ma molto meglio. Non so se lo ha reso disponibile per il download pero'... sarebbe da chiedere.

Cmq io non intendevo sincronizzare... per fare una cosa bene assolutamente non puoi fare nulla solo con FlashLite 2. Devi necessariamente usare altri sw.

Quello che intendevo io era che potevi prendere i LSO del cellulare, copiarli A MANO sul PC e creare un app su PC che legga tali SO e che magari scriva qualcosa... cmq tutto molto macchinoso e inutile. Io procederei con la chiamata server side dal cellu ma dipende da cosa devi fare e dal contesto



Pecora: guarda ho fatto pochissimi test, tanto per provarli, ma a parte i primi problemi iniziali (dovuti al fatto che si usano in modo leggermente differente) mi è sembrato andare tutto bene.
Ribadisco che se a te viene FALSE il valore del supporto agli SO puoi fare di tutto ma la vedo dura che ti vada.
io cmq testo tutto su una card esterna... se ti puo' essere d'aiuto.

Ma hai guardato e copiato il codice dalla guida? Il mio codice lo hai visto?

Lukather
02-02-2006, 01:08 PM
Lukather : Silk Write2File è pieno di problemi.. .non va bene.

C'è un moderatore, bytesm, che ha sviluppato e ho integrato già in un gioco di poker un app in C++ che fa la stessa cosa ma molto meglio. Non so se lo ha reso disponibile per il download pero'... sarebbe da chiedere.

Cmq io non intendevo sincronizzare... per fare una cosa bene assolutamente non puoi fare nulla solo con FlashLite 2. Devi necessariamente usare altri sw.

Quello che intendevo io era che potevi prendere i LSO del cellulare, copiarli A MANO sul PC e creare un app su PC che legga tali SO e che magari scriva qualcosa... cmq tutto molto macchinoso e inutile. Io procederei con la chiamata server side dal cellu ma dipende da cosa devi fare e dal contesto


Purtroppo è un applicazione sviluppata nell'ambito di un progetto di ricerca e non ci sono fondi da investire per chiamate da cell (abbiamo fatto 2 conti e per l'utilizzo che ne dobbiamo fare dovrebbero venire fuori 1500 euro di chiamate :| ).
La soluzione dello scaricamento degli SO invece mi andrebbe bene, è lunga ma tanto:
1 - non la faccio io :D
2 - abbiamo tempo a disposizione

Il problema adesso è trovare gli SO...dove vengono salvati?
Intanto provo a contattare bytesm e chiedere per quel software, grazie :)

flagers
02-02-2006, 01:15 PM
Sul posizionamento dei SO onestamente ne avevamo discusso con altri ragazzi e da una prima occhiata non li ho trovati. Poi onestamente sono abbastanza preso da altre cose e non ci ho perso piu' molto tempo.. informazioni nella guida e in rete non ce ne sono.

Come vedi PecoraNera sta facendo diversi test e magari lo scoprirà lui per noi (e ce lo comunicherà.. vero Pecora? :) )

Cmq sia non penso sia quello l'ostacolo..... per il resto forse ci sono altre soluzioni più convenienti e onestamente questa è un po' macchinosa e non so se risolve a pieno il vostro problema.. valutatela bene.


Pecora: non ho ancora visto il codice... dopo lo faccio... scusami ma ho una consegna maledetta lunedi, che mi sta assorbendo totalmente, ma come hai visto dopo un po' le cose le faccio :)

Pecoranera
02-02-2006, 01:38 PM
Pecora: non ho ancora visto il codice... dopo lo faccio... scusami ma ho una consegna maledetta lunedi, che mi sta assorbendo totalmente, ma come hai visto dopo un po' le cose le faccio :)

tranquillo....


se scopro qualcosa ..anche per Lukather vi faccio sapere.

ciao a tutti

Andrea Trento
02-02-2006, 03:04 PM
Ciao.

Ho testato il tuo swf su PC, 6630, 6680, N90, 6620, e funziona correttamente sia su emulatore, sia su memory card e sia su HD dei devices.

Una domanda, dove posizioni l'swf (in quale cartella? Te lo chiedo per vedere di ricreare la tua stessa situazione)?

Andrea

Andrea Trento
02-02-2006, 03:22 PM
Ti mando in allegato un esempio, sempre inerente ai SO.
Testalo sul tuo device. E dimmi se ti funziona tutto correttamente.

Andrea

Pecoranera
02-02-2006, 04:30 PM
ho messo il swf in questa posizione:

memorycard/documents/flash/

adesso provo col file che mi hai mandato.
ciao

Lukather
02-02-2006, 04:44 PM
A me funziona il flash di Andrea!

Per il salvataggio ho risolto con il programmino di bytesm che ringrazio di cuore ;)

PS: ho cercato dove vengono salvati i dati degli SO con FExlporer ma non ho trovato niente :(

Andrea Trento
02-02-2006, 04:46 PM
ho messo il swf in questa posizione:

memorycard/documents/flash/

adesso provo col file che mi hai mandato.
ciao

OK. Prova ora a mettere il file in:
memorycard/Others/Flash/

e fammi sapere ;-)

Andrea

Pecoranera
02-02-2006, 04:48 PM
belandi! mi darei una serie di martellate sugli zebedei!!!
alla fine il morivo era che li salvavo nella cartella sbagliata!

scusate tutti se vi ho messo a perdere per la mia 'gnoranza!
[per la cronaca ..vanno in :Nokia/others/...]

( adesso per farmi perdonare mi metto a cercare dove salva gli SO)

ciao a tutti

flagers
02-02-2006, 04:49 PM
Andrea, senza farci perder tempo, sai per caso darci qualche indicazione sul path di salvataggio degli SO?

Andrea Trento
02-02-2006, 05:03 PM
Nessun problema ;-)

Per quanto concerne il dove salva i dati SO, sinceramente non ho ancora verificato. Non ho ancora avuto necessità di capirlo. A sensazione potrebbe darsi anche che non salvi i dati in una locazione fisica del device accessibile, ma potrebbe gestire il dato in cache all'interno di file di sistema accessibili solo tramite FL player. Quindi il dato viene salvato ma l'unico modo per richiamarlo o accedervi è tramite il player/l'swf. Un po' come succede nell'U10. In ogni caso verifico e vi farò sapere.

Andrea

Lukather
02-02-2006, 05:09 PM
Grazie, gentilissimo, ma ho paura che tu abbia ragione per quanto riguarda il salvataggio in cache nei file di sistema.

Andrea Trento
02-02-2006, 05:17 PM
Dimenticavo...

i file main possono essere messi in:

- memorycard/Others/Flash/
- c/Nokia/Others/Flash/
- e in root principale di c o memorycard (ma in nessuna cartella)

Vi spiego.
Se si mettono file Swf, che hanno interazioni esterne tipo SO o anche Xml, in cartelle di sistema (diverse da quelle del FL player su menzionate) questi a volte non funzionano correttamente. Sembra che le policy di accesso del device non permettano al FL player di accedere correttamente alle fonti dati. Tecnicamente sto attendendo delle info più dettagliate da Adobe.

Andrea

Pecoranera
02-02-2006, 05:23 PM
grazie mille...
ho crcato in ogni meandro della memoria ma non si trovano i SO salvati... mi sa proprio che è come dici tu.

ciao

flagers
02-02-2006, 07:26 PM
Pero'.. a dire il vero io i test li ho fatti in cartelle differenti da quelle menzionate.

Sapevo di questo problema per gli XML ma gli SO non mi avevano dato probs.

Per scrupolo ricontrollero' e farò altri test.

PS: non avete trovato i files? Solitamente anche in Windows sono messi in posizione ardua.... chissà qua sul cellu.

Comunque sia puoi tranquillamente utilizzarli senza sapere esattamente dove sono posizionati (anche se in alcune situazioni diventa un po' scomodo)...

ciao
Fabio

Pecoranera
02-02-2006, 07:56 PM
macchè...sono introvabili!

comunque per quanto riguarda il funzionamento degli SO.
adesso che li ho salvati nelle cartelle menzionate è tutto ok! ( almeno con i test che ho fatto) ma fondamentalmente quello che sbagliavo è che li aprivo direttamente e non con l'applicazione flash installata....

spero che almeno questo mio errore serva ad evitare ulcere e calvizie precoci ad altri
ciao ciao

Andrea Trento
02-02-2006, 08:49 PM
Pero'.. a dire il vero io i test li ho fatti in cartelle differenti da quelle menzionate.

Sapevo di questo problema per gli XML ma gli SO non mi avevano dato probs.


Non in tutte le cartelle sorge il problema.
Dalle numerose prove fatte ho potuto notare che in alcune proprio questo tipo di interattività non funziona, in altre dipende dal tipo di funzionalità e caratteristiche dell'swf.

Nelle locazioni segnalate si è sicuri di avre un corretto funzionamento dell'swf e delle sue features.

Quando avrò dettagli tecnici in merito ve lo farò sapere.

Andrea