[Résolu]Streaming Assets

Toutes les questions sur le développement Mobile, y compris la partie script.
altozinzin
Messages : 11
Inscription : 19 Oct 2019 14:40

[Résolu]Streaming Assets

Message par altozinzin » 19 Oct 2019 15:32

Salut tout monde.

Voila, j'aurai besoin d'inclure dans mon APK plusieurs fichiers TXT qui doivent être lu.
J'ai lu cette doc:
https://docs.unity3d.com/Manual/Streami ... 1569681947

Pour tester le code sous Windows, j'utilise ces lignes:

Code : Tout sélectionner

 nom_fichier = Application.streamingAssetsPath +  @"\Combi_X15.txt";
et cela marche nickel.

Quand je fait la build pour tester la version android, je change cette ligne de code en:

Code : Tout sélectionner

nom_fichier = "jar:file://" + Application.dataPath + "!/assets" + "Combi_X15.txt";
comme le préconnise la documentation, mais le "fichier n'existe pas"...

Où est mon erreur SVP?
D'avance merci.
Dernière édition par altozinzin le 19 Oct 2019 22:20, édité 1 fois.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Streaming Assets

Message par Alesk » 19 Oct 2019 15:49

à mon avis il manque un / juste après "assets"

Et tu as mal copris la doc : à aucun moment elle ne préconise de remplacer par ce que tu as mis, au contraire, ça dit qu'il vaut mieux utiliser Application.streamingAssetsPath pour éviter d'avoir à jongler avec les différents chemins utilisés sur les différents systèmes.
It’s always best to use Application.streamingAssetsPath to get the location of the StreamingAssets folder, as it will always point to the correct location on the platform where the application is running.

altozinzin
Messages : 11
Inscription : 19 Oct 2019 14:40

Re: Streaming Assets

Message par altozinzin » 19 Oct 2019 15:59

Merci, bien vu pour le '/', mais cela ne change rien :pleur4: (j'avais déjà essayé)

Erreur d'interprétation, je regarde avec ce que tu viens d'écrire.

altozinzin
Messages : 11
Inscription : 19 Oct 2019 14:40

Re: Streaming Assets

Message par altozinzin » 19 Oct 2019 16:22

Ca ne fonctionne toujours pas.
Voici mon code exact:

Code : Tout sélectionner

   
   string string_ensemble_combinaison = "";
   nom_fichier = Application.streamingAssetsPath + @"\Combi_X15.txt";
                
                // on lit le fichier en question
                System.IO.StreamReader fichier_a_lire = new System.IO.StreamReader(nom_fichier);
                while ((Ligne = fichier_a_lire.ReadLine()) != null)
                {
                    string_ensemble_combinaison = string_ensemble_combinaison + Ligne + "\n";
                }
                fichier_a_lire.Close();
Ca marche sous Windows, et rien sous Android

altozinzin
Messages : 11
Inscription : 19 Oct 2019 14:40

Re: Streaming Assets

Message par altozinzin » 19 Oct 2019 17:03

Voici ce que me donne le adb logcat:

DirectoryNotFoundException: Could not find a part of the path "/jar:file:/data/app/com.test.test==/base.apk!/assets/Combi_X15.txt".

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Streaming Assets

Message par Alesk » 19 Oct 2019 20:49

RTFM ;)
It is not possible to access the StreamingAssets folder on WebGL and Android platforms. No file access is available on WebGL. Android uses a compressed .apk file. These platforms return a URL. Use the UnityWebRequest class to access the Assets.
https://docs.unity3d.com/ScriptReferenc ... sPath.html

une solution à tester :

Code : Tout sélectionner

             if (Application.platform == RuntimePlatform.Android)
             {
                 WWW reader = new WWW(nom_fichier);
                 while (!reader.isDone) { }
     
                 string_ensemble_combinaison = reader.text;
             }else{
             	System.IO.StreamReader fichier_a_lire = new System.IO.StreamReader(nom_fichier);
                while ((Ligne = fichier_a_lire.ReadLine()) != null)
                {
                    string_ensemble_combinaison = string_ensemble_combinaison + Ligne + "\n";
                }
                fichier_a_lire.Close();
             }

altozinzin
Messages : 11
Inscription : 19 Oct 2019 14:40

Re: Streaming Assets

Message par altozinzin » 19 Oct 2019 22:20

Vusual Studio me dit que WWW est obsolète et conseille UnityWebRequest... J'irai jeter un coup d'oeil.

En tout cas le problème venait bien de là, le WWW fonctionne à merveille! Merci beaucoup!!!
Je passe le topic en résolu!!

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [Résolu]Streaming Assets

Message par Alesk » 20 Oct 2019 10:55

Super :super:

Répondre

Revenir vers « Développement plateformes mobile Iphone et Android »