Comment utiliser XMLSerializer et Filestream sur Android (C #) - Réponses Unity
Ok, donc de votre lien, il ressemble Application.streamingAssetsPath retourne le chemin vers le dossier StreamingAssets qui se trouve dans le répertoire actif. Mais depuis ce répertoire est situé dans un fichier jar, vous devez dézipper ou utiliser le WWW de l'unité pour y accéder. Comment puis-je utiliser WWW pour obtenir un chemin que je peux alors utiliser Filestream pour lire? Encore une fois, quand je lance le jeu dans l'éditeur, il est en mesure de trouver le chemin qui pointe vers mes ressources, mais pas quand je le construire pour Android. Le code correspondant J'utilise est le suivant:
L'exécution du jeu dans l'éditeur lit le chemin de « www.url » qui pointe vers le fichier XML qui contient des chemins vers des actifs dans le répertoire « Ressources ». Android est toujours pas en mesure de lire ce fichier. Y a-t-il des exemples de travail de quelque chose de semblable à cela?
J'ai réussi à obtenir mon jeu de travail sur Android, en utilisant les StreamingAssets insinuer que robertbu fourni (merci), bien que l'obtenir au travail était un peu plus impliqué et hacky que je voudrais que ce soit.
J'ai eu essentiellement à utiliser le Web api pour commencer à télécharger le fichier de mon dossier Actif / StreamingAssets dans un Coroutine, attendez que le fichier pour terminer le téléchargement, puis copiez le fichier téléchargé dans le répertoire Application.persistentDataPath. J'étais alors en mesure de lire le fichier copié à l'aide Filestream et utiliser XMLSerializer dessus. Je déteste la façon dont je dois télécharger un fichier déjà inclus dans le jeu afin de lire, mais je suppose que c'est juste comme ça.
Voici le code pertinent pour ceux qui sont intéressés:
Maintenant, je peux fermer mes 50 onglets J'ai ouvert à ce sujet. Ou si quelqu'un a une meilleure réponse que je voudrais voir.
Je suis d'accord que semble vraiment aki. Si vous devez aller dans cette voie, il serait plus facile d'inclure le fichier en tant que TextAsset. Ensuite, vous auriez pas besoin de la logique de chargement de WWW. De plus, je crois que sur iOS je peux configurer mon projet XCode afin que les fichiers sont inclus et sont à Application.persistentDataPath. Je ne sais pas si quelque chose de semblable existe sur Android, ou quel type de format du fichier devrait être pour être lu.
Nice, a été bloqué à ceci pendant 2 jours jusqu'à ce que je trouve cela. Vous devez ajouter d'autres balises à cette question car il était assez difficile de trouver ce même si elle donne une excellente réponse à ce que je suppose que serait un problème commun!