Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • 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.

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 and (later) read scriptable objects 1 Answer

internal persistentDataPath with WRITE_EXTERNAL_STORAGE permission 4 Answers

Storing Constant data in a mobile game 0 Answers

Android: Trying to reset save data on device when pushing a new build! 1 Answer

How to Simulate a Fresh install Android. 1 Answer


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