• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by dah41kj · Mar 11, 2020 at 04:34 AM · androidsave datadata storageloading file

android data doesn't save on 2nd launch

Hello, I have a basic save/load system with android. When I click on save btn or minimize my game, it's creating/updating .dat file, when I click on load btn it's loading data from it (I suppose). But when I launch my app second time, there's no saving data, not even when I click on load btn.

Help me :c

 using UnityEngine;
 using TMPro;
 using System.IO;
 using System.Runtime.Serialization.Formatters.Binary;
 
  public class Destroyer : MonoBehaviour
 {
  public TextMeshProUGUI score;
  public TextMeshProUGUI debugg;
  public int i = 0;
 
  void Update()
  {
      score.text = "SCORE: " + i;
  }
 
  public void Save()
  {
      BinaryFormatter bf = new BinaryFormatter();
      FileStream file = File.Create(Application.persistentDataPath + "//score.dat");
      ScoreData data = new ScoreData();
      data.Score = i;
      debugg.text = "Debug save" + data.Score;
      bf.Serialize(file, data);
      file.Close();
  }
 
  public void Load()
  {
      if (File.Exists(Application.persistentDataPath + "//score.dat"))
      {
          BinaryFormatter bf = new BinaryFormatter();
          FileStream file = File.Open((Application.persistentDataPath + "//score.dat"), FileMode.Open);
          ScoreData data = (ScoreData)bf.Deserialize(file);
          file.Close();
          i = data.Score;
          debugg.text = "Debug load" + data.Score;
      }
  }
 
  public void __load() //load btn
  {
      Load();
  }
  public void __save() //save btn
  {
      Save();
  }
  void OnTriggerEnter2D(Collider2D col)
  {
      Destroy(col.gameObject);
      i++;
  }
  void OnApplicationPause()
  {
      Save();
  }
  [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
  void OnBeforeSceneLoadRuntimeMethod()
  {
      Load();
  }
 }
 
 [System.Serializable]
 class ScoreData
 {
    public int Score;
 }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by teja6595 · Mar 11, 2020 at 07:08 AM

@dah41kj To understand the problem first you need to understand how OnApplicationPause works.

OnApplicationPause will call after awake when you first time launches your app there after every time whenever the app pauses.

First time say you have save some score 5. It will save and loads 5. But when you starts the app second time the initial value for the "i"(score) will be 0 and as I said earlier OnApplicationPause will call after awake and it save 0 (overwrite 5) and when you press load it loads 0 from the file.

Comment the code inside OnApplicationPause and test its working as your requirement.

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image dah41kj · Mar 12, 2020 at 01:06 AM 0
Share

Got it. Thanks a lot. But how I can auto save data now? When app $$anonymous$$imizing/closing it should save, when it's opening it should load. Can I do it locally, without cloud for now?

avatar image teja6595 · Mar 12, 2020 at 02:27 AM 1
Share

@dah41kj you can use the below code

 void OnApplicationPause(bool pauseState)
 {
     if(pauseState)
         Save();
 }

It will solve your problem :)

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

263 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Save/Load System not working 0 Answers

Pass a GameObject to a DLL 2 Answers

Save script not saving data on android device 1 Answer

How do I save and load big procedural generated terrains? 1 Answer

Object type System.Boolean cannot be converted to target type: System.Int32 ? 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges