2016-04-27 9 views
0

ユニティエンジンを使用して多言語ゲームを開発しています。各言語用のXMLファイルがありますが、アンドロイドAPKはxmlファイルをPCプラットフォームビルドは、すべての言語でうまく動作します。 StreamingAssets下StreamingAssets すべてのファイルにそれを資産 に新しいフォルダを追加し、名前
Application.streamingAssetsPathandroid apkはxmlファイルを読み込みません(ユニティエディタからapkビルド)

void Awake() 
{ 
    languagePath = Application.dataPath + "/Languages/"; 
    CollectLanguages(); 
} 

private void CollectLanguages() 
{ 
    try 
    { 
     DirectoryInfo langDir = new DirectoryInfo(languagePath); 
     FileInfo[] files = langDir.GetFiles("*.xml"); 
     languageFiles = new string[files.Length]; 
     int i = 0; 
     foreach (FileInfo fileGo in files) 
     { 
      languageFiles[i] = fileGo.FullName; 
      i++; 
     } 
    } 
    catch (System.Exception e) 
    { 
     Debug.Log(e.Message); 
    } 
} 

private string GetLanguageFile(string language) 
{ 
    foreach (string langGo in languageFiles) 
    { 
     if (langGo.EndsWith(language + ".xml")) 
     { 
      return langGo; 
     } 
    } 
    return string.Empty; 
} 

public void LoadLanguage(string language) 
{ 
    try 
    { 

     string filepath = Application.persistentDataPath + "/" + language+".xml"; 
     if (Application.platform == RuntimePlatform.Android) 
     { 
      WWW path = new WWW("jar:file://" + Application.dataPath + "!/assets/"+"Languages/"+language+".xml"); 
      while(!path.isDone) 
      { 
       Debug.Log("Loading File"); 
      } 
      File.WriteAllBytes(filepath, path.bytes); 
     } 
     mainDoc = new XmlDocument(); 
     StreamReader streamReader = new StreamReader (filepath); 
     mainDoc.Load(streamReader); 
     root = mainDoc.DocumentElement; 
     streamReader.Close(); 

    } 
    catch (System.Exception e) 
    { 
     Debug.Log(e.Message); 
    } 
} 

答えて

0

変更読み取りおよび書き込みディレクトリ:ここ

は私のコードですすべてのプラットフォームでの変更、読み取り、書き込みが可能

+0

試してみました... –

関連する問題