Messagerie


Utilisation de binary sur android

Wolkam
samedi 17 janvier 2015 à 23:21
Bonsoir les clickeurs,

Je galère avec l'objet Binary sur android, j'ai suivi le guide pdf qui est dispo, ou en fait on référence le fichier (c'est un fichier ini) dans la bibliothèque, on l'appelle ensuite et on recupère les données.

J'ai suivi le guide et j'appelle le fichier avec le nom qu'il a dans la bibliothèque et ça marche sur PC, mais pas sur android.

Dans le post http://comptoir-mmf.eu/Forum/index.php?topic=738.15 Cyberclic appelle le fichier uniquement avec son nom, sans le chemin, j'ai essayé aussi mais là ça ne marche ni sur android ni sur le pc.

Est-ce que quelqu'un peut m'aider a trouver d'ou cela viens ?
Pit73
1055 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
samedi 17 janvier 2015 à 23:39
Hello
Perso, j'utilise l'objet tableau ( array ), tu peux sauvegarder et c'est plus sécurisé que le ini, moins simple aussi surement.
mais ca marche bien. C'est à toi à te faire un fichier référence pour savoir ce qui est sauvé dans ton tableau. ( histoire de s'en rappeler dans un mois si le fichier est complexe ;)
A+ Pit
atheros75
dimanche 18 janvier 2015 à 00:13

Dans le post http://comptoir-mmf.eu/Forum/index.php?topic=738.15 Cyberclic appelle le fichier uniquement avec son nom, sans le chemin, j'ai essayé aussi mais là ça ne marche ni sur android ni sur le pc.


Si tu n'utilises pas de chemin, ton fichier (ini ou autre), doit se trouver dans le même répertoire que ton application, ça devrait fonctionner, tout au moins sur PC.
conceptgame
429 messages
Fusion 2.5 Dev
Fusion 2.5+ Firefly Exporteur iOS Exporteur Android
dimanche 18 janvier 2015 à 08:54
Comme indiqué par Fernando, utilises l'objet Android pour charger ton fichier. Pas besoin du chemin entier, le nom n'est pas unique sur Android. Il faut bien sûr ne pas oublier de l'ajouter aux fichiers binaires dans CF2.5 mais çà c'est la même chose que pour Windows.
Wolkam
dimanche 18 janvier 2015 à 11:39
Merci, je galère mais j'avance :)

En fait j'ai deux fichiers ini, un classique (save.ini) que je créerpour les sauvegarde et un qui contient le paramêtrage de mes level (config.ini) que je met dans le data binary. Sur PC tout marche, sur android ça ne marche pas complètement car si je demande a charger "config.ini" dans une listbox c'est bon mais si je configure un objet ini avec "config.ini" je n'arrive pas a récupérer mes valeurs. Donc le fichier est bien présent, mais je n'arrive pas à le charger dans un ini.

je ne pense pas que ce soit un problème de dossier.

Damien, je ne trouve pas le post de Fernando ou il dit de le charger avec l'objet android, tu as un exemple quelque part ?
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
dimanche 18 janvier 2015 à 12:35
Bonjour comme dit conceptgame moi aussi je  utils  l'objet Android du a pense a rajouter "/" exemple avec dont fichier ini (DataStorageDirectory$( "Objet Android" ) + "/" + "config.ini"
conceptgame
429 messages
Fusion 2.5 Dev
Fusion 2.5+ Firefly Exporteur iOS Exporteur Android
dimanche 18 janvier 2015 à 12:37
http://community.clickteam.com/threads/89153-INI-compatible-for-Android/page2?highlight=save+iniJe parlais de celui-ci:

Attention par contre quand tu utilises les fichiers ini en ecriture, cela se complique.  Il te faut une permission sur Android si je me souviens bien.

Il faudrait que je sois sur mon PC pour te donner un exemple.

Je crois qu'il y en a un dans le lien ci dessus.
Wolkam
dimanche 18 janvier 2015 à 12:46
ok, merci je vais essayer. Je n'uilise pas l'objet android pour le fichier pour l'instant, j'avais juste suivi le PDF qui disait qu'il suffisait de se référer au fichier. Je vais tester, j'ai trouvé un exemple sur le forum de clickteam.

Merci en tout cas, j'ai une piste
Wolkam
dimanche 18 janvier 2015 à 15:10
Bon, je sens que je vais retourner a mon ancienne méthode lol...

Enfin, au cas ou, j'ai essayé vos différentes astuces, mais au final, je n'arrive pas a faire ce que je veux. Actuellement, je stockes les paramètres de chacun de mes niveaux de jeu dans des objets et je voulais simplifier la maintenance en lisant directement les valeurs dans un fichier ini qui ne sera pas mis a jour pendant le jeu. Le fichier ressemble à ça:
[1-1]
colonne =2
couleur1 =2
couleur2 =3
couleur3 =0
couleur4 =0
ms =4500
maxpion =2
nbr_couleur=2
pause =6
nbr_pion =6

[1-2]
colonne =3
couleur1 =7
couleur2 =7
couleur3 =0
couleur4 =0
ms =2500
maxpion =3
nbr_couleur =2
pause =6
nbr_pion =10

Comme je le disais, j'arrive a accéder au fichier depuis android en le chargeant dans une boite d'édition (charger le fichier texte "config.ini") Mais si je fixe le fichier courant d'un objet ini et que j'essaye d'accéder aux paramètres, il ne me retourne rien.

De ce que j'en comprend, si je veux utiliser l'ini, il va le recréer sur le téléphone ? Je pensais qu'il resterai dans le binary data et que je pourrai y accéder comme un ini classique mais je ne suis pas sur que cela fonctionne comme cela.

De plus en testant un exemple de fernando, il y a un problème si je remet a jour mon apk, le fichier ini n'est pas remplacer. il faut apparement donner des droits et l'effacer mais ça ne marche pas non plus. je sens que je cela fait beaucoup de problème à résoudre lol

Vous comment feriez vous pour accéder a ce fichier de config, une liste stocké dans le mfa, un array (compliqué a mettre à jour et a visualiser), un ini ?

Si y en as qui on le temps, je vous met mon mfa, j'ai testé avec stockage de l'ini sur external et sur data si vous voyez  qqc...
Pièces jointes
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 19 janvier 2015 à 11:00
Bonjour j ai regarde dont fichier et pour le problème sur la chaine (texte=je suis le texte) du a fait une petit erreur du a mis ça : Str$(GroupItemValue( "config.ini", "test", "texte" ) ) et qu il faut plutôt ça : GroupItemString$( "config.ini", "test", "texte" ) ;-) et du verra que ça marche une petit choses j ai vus que dont fichier INI et dans un répertoire dont il faut luis dire DataStorageDirectory$( "Objet Android" ) + "/ini/" + "config.ini"

et pour le problème de mis a jour ça c est normale que le fichier ini soi pas mis a jour pour supprime utiles extension FICHIER attention si dans dont fichier ini si  il y a les achat ou la progression du joueur il  perd tout. :-(
Wolkam
lundi 19 janvier 2015 à 11:11
Merci beaucoup Emmanuel !
Le string je l'ai rajouté à la fin depuis l'exemple de clickteam mais c'est sur que comme ça ça n'allais pas marcher.
Le répertoire "ini", ça doit être ça qui me bloque du coup ! je vais essayer dès ce soir !

Pour le fichier, je n'enregistre jamais rien dedans, par contre du coup, je me demande quand l'effacer ? Chaque fois que je démarre l'appli pour être sûr qu'il le recré avec les bonnes valeurs surement. Je vais tester ça, j'espère que ça va marcher !!!

Mille merci en tout cas Emmanuel  :bravos
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 19 janvier 2015 à 11:50
De rien c est normal  :) pour moi du a pas peu-soin de le supprime a chaque Fois que dont application et lance il et crée (si tu l'utlis le fichier ini enelements de donnees)  ;) Si tu utiles extension FICHIER effacer pense a coche la case write_external_storage dans les propriété android.

Bon courage pour la suite.
Modifié le lundi 6 mai 2019 à 10:04 par Emmanuel
Wolkam
lundi 19 janvier 2015 à 23:07
Encore merci Emmanuel, ça marche maintenant. Par contre j'ai eu un gros bug, ça marchait nickel sur le pc mais pour certain niveau de jeu ça ne fonctionnait pas, en fait ça peut être utilse de le savoir, android et le pc ne gèrent pas les ini de la même façon.

Sur pc, j'avais des levels comme ça
"colonne=2" et j'en avais des "colonne = 2"

Sur pc, ça marche dans les deux cas, sur android, s'il y a un espace autour d'un "=", le fichier ini ne reconnait pas la valeur.

Voilà, j'ai corrigé mon fichier ini et c'est bon :)
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 21 visiteurs au total

Derniers messages