1. All Unity Pro perpetual license customers: your special offer to subscribe is ready! Click here.
  2. We're running a survey about the usage of our graphics pipeline, help give us your feedback.
  3. Unity 5.6 beta is now available for download.
  4. Unity 5.5 is now released.
  5. Check out all the fixes for 5.5 in patch releases 1 & 2.
  6. Enter the Google Play Indie Games Contest in Europe. Read more about it here.
  7. Get prepared for the Tizen Mobile App Incentive Program! Read more about the upcoming program here.
  8. Enter the Microsoft Developer Challenge for a chance to win prizes. Read more about it here.

Local Android save data

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

  1. faez

    faez

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

    misterkid

    Joined:
    Feb 15, 2012
    Messages:
    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
    Messages:
    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
    Messages:
    12
    This worked perfectly for me, thank you so much!
     
  5. AliAfshari

    AliAfshari

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