Search Unity

  1. Unity 2018.3 is now released.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Want more efficiency in your development work? Sign up to receive weekly tech and creative know-how from Unity experts.
    Dismiss Notice
  4. Build games and experiences that can load instantly and without install. Explore the Project Tiny Preview today!
    Dismiss Notice
  5. Nominations have been announced for this years Unity Awards. Celebrate the wonderful projects made by your peers this year and get voting! Vote here!
    Dismiss Notice
  6. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  7. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice

Local Android save data

Discussion in 'Android' started by faez, Apr 4, 2012.

  1. faez

    faez

    Joined:
    Jan 17, 2012
    Posts:
    11
  2. misterkid

    misterkid

    Joined:
    Feb 15, 2012
    Posts:
    79
    You can use the FileStream or StreamReader etc if you code in c# in unity

    Rought example
     
  3. MicroEyes_old

    MicroEyes_old

    Joined:
    Jun 9, 2011
    Posts:
    188
    FAEZ,
    You can use these functions for perform what you want....


    public void writeStringToFile( string str, string filename )
    {
    #if !WEB_BUILD
    string path = pathForDocumentsFile( filename );
    FileStream file = new FileStream (path, FileMode.Create, FileAccess.Write);

    StreamWriter sw = new StreamWriter( file );
    sw.WriteLine( str );

    sw.Close();
    file.Close();
    #endif
    }


    public string readStringFromFile( string filename)//, int lineIndex )
    {
    #if !WEB_BUILD
    string path = pathForDocumentsFile( filename );

    if (File.Exists(path))
    {
    FileStream file = new FileStream (path, FileMode.Open, FileAccess.Read);
    StreamReader sr = new StreamReader( file );

    string str = null;
    str = sr.ReadLine ();

    sr.Close();
    file.Close();

    return str;
    }

    else
    {
    return null;
    }
    #else
    return null;
    #endif
    }


    public string pathForDocumentsFile( string filename )
    {
    if (Application.platform == RuntimePlatform.IPhonePlayer)
    {
    string path = Application.dataPath.Substring( 0, Application.dataPath.Length - 5 );
    path = path.Substring( 0, path.LastIndexOf( '/' ) );
    return Path.Combine( Path.Combine( path, "Documents" ), filename );
    }

    else if(Application.platform == RuntimePlatform.Android)
    {
    string path = Application.persistentDataPath;
    path = path.Substring(0, path.LastIndexOf( '/' ) );
    return Path.Combine (path, filename);
    }

    else
    {
    string path = Application.dataPath;
    path = path.Substring(0, path.LastIndexOf( '/' ) );
    return Path.Combine (path, filename);
    }
    }
     
    AliAfshari likes this.
  4. Raspilicious

    Raspilicious

    Joined:
    Jun 21, 2012
    Posts:
    21
    This worked perfectly for me, thank you so much!
     
  5. AliAfshari

    AliAfshari

    Joined:
    Sep 12, 2014
    Posts:
    13
    Awesome Code And Works Great