I want to store my data files in an folder accessible from the file browser. That way i cannot store my files at Application.persistantdatapath. The code ive created works well on PC, but does nothing on Android. To save and load files I
m using this method. Here is my code
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
using System;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
public class SaveAndLoadMenu : MonoBehaviour {
private TitlesList tl;
private string pathStart;
void Start () {
pathStart = "/mnt/sdcard/SongFiles";
if (Directory.Exists (pathStart) == false) {
Directory.CreateDirectory(pathStart);
}
tl = GameObject.Find ("MenuController").GetComponent<TitlesList> ();
Load ();
}
public void Save () {
BinaryFormatter bf = new BinaryFormatter ();
FileStream menuFile = File.Create (pathStart + "/menu.dat");
MenuData data = new MenuData ();
data.titlesData = tl.titles;
data.maxIdData = tl.maxID;
data.idListData = tl.idList;
bf.Serialize (menuFile, data);
menuFile.Close ();
}
public void Load () {
if (File.Exists (pathStart + "/menu.dat")) {
BinaryFormatter bf = new BinaryFormatter ();
FileStream menuFile = File.Open (pathStart + "/menu.dat", FileMode.Open);
MenuData data = (MenuData)bf.Deserialize(menuFile);
menuFile.Close();
tl.titles = data.titlesData;
tl.maxID = data.maxIdData;
tl.idList = data.idListData;
}
//scene set-up goes here
}
}
[Serializable]
class MenuData {
public List<string> titlesData = new List<string>();
public List<string> idListData = new List<string>();
public int maxIdData;
}
I was trying to set the ‘pathStart’ variable to /storage/sdcard0/SongFiles, /sdcard/SongFiles and /mnt/sdcard/SongFiles, with no results on Android.