• 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 /
  • Help Room /
avatar image
0
Question by LockBros · Feb 26, 2017 at 09:01 PM · c#androidunity 5savingsave data

Android persistentdatapath Can be read but not written.

I have a save function that works fine for PC but when I try to use it for Android. I find I have a problem where I can read from but not write to the Persistent Data Path.

This is the first time I have tried to create a save function for Android and I have spent all day using google to try and find a working solution for Unity 5.

Again I have never made a save function before for Android and I expect this will not be enough information to get the help I require so please let me know if there is anything you need that will help you to solve my problem.

Please fined below the code for the save function and the device I have to test it on:

Device ASUS ZenPad 8.0

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using System.Runtime.Serialization.Formatters.Binary;
 using System.IO;
 using System;
 
 public class SaveGame : MonoBehaviour {
     //Lemon Tycoon
     public Tapper lemonTapper;
     public Upgrades lemonUpgrades;
     
 
     //Miner Tycoon
 
 
     //other
 
 
     //other
 
     //genral
     public Stats stats;
 
 
 
   
 
 
     void Awake () {
 
 
         if (File.Exists(Application.persistentDataPath + "/GameSave.save"))
         {
             print("Save File Found");
             Load();
         }
         else {
 
             print("No Save File"); //FRAN EXSPORT MAKES IT REST THE TYCOON BUT WILL MAKE A MULTIPLAYER COIN
             //Lemon
             lemonTapper.fillPersAmount = 1;
             lemonTapper.fillAmount = 0.1f;
             lemonTapper.timesFilledNum = 0;
             lemonTapper.moneyMade = 0;
             lemonTapper.fill = 0;
             //Upgrades
             lemonUpgrades.cashCost = 100;
             lemonUpgrades.addCashCost = 250;
             lemonUpgrades.tapCost = 200;
             lemonUpgrades.addTapCost = 300;
             lemonUpgrades.cashMulti = 1;
             lemonUpgrades.tapMulti = 1;
             lemonUpgrades.autoCost = 5000;
             lemonUpgrades.autoMax = 0;
             lemonUpgrades.timeCost = 1000;
             lemonUpgrades.addTimeCost = 1500;
             lemonUpgrades.autoTapCost = 500;
             lemonUpgrades.addAutoTapCost = 2000;
             lemonUpgrades.addAuto = 1;
             lemonUpgrades.currentGrade = 0;
             lemonUpgrades.exportCost = 1000000000;
             lemonUpgrades.isauto = false;
             //Timer
             lemonTapper.seconds1 = 9;
             lemonTapper.seconds2 = 5;
             lemonTapper.min1 = 5;
             lemonTapper.seconds1Amount = 0;
             lemonTapper.seconds2Amount = 0;
             lemonTapper.min1Amount = 0;
            
 
             //Stats
             stats.cash = 0;
             stats.jewels = 10;
         }
 
 
   
     }
     
     // Update is called once per frame
     void Update () {
         
     }
 
     void Save()
     {
         BinaryFormatter bf = new BinaryFormatter();
         FileStream file = File.Create(Application.persistentDataPath + "/GameSave.save");
 
         GameData data = new GameData();
         //Lemon
         data.lemfillPersAmount = lemonTapper.fillPersAmount;
         data.lemfillAmount = lemonTapper.fillAmount;
         data.lemtimesFilledNum = lemonTapper.timesFilledNum;
         data.lemmoneyMade = lemonTapper.moneyMade;
         data.lemfill = lemonTapper.fill;
         data.lemfillPersNum = lemonTapper.fillPersNum;
         //Upgrades
         data.lemcashCost = lemonUpgrades.cashCost;
         data.lemaddCashCost = lemonUpgrades.addCashCost;
         data.lemtapCost = lemonUpgrades.tapCost;
         data.lemaddTapCost =  lemonUpgrades.addTapCost;
         data.lemcashMulti = lemonUpgrades.cashMulti;
         data.lemtapMulti =  lemonUpgrades.tapMulti;
         data.lemautoCost =  lemonUpgrades.autoCost;
         data.lemautoMax =  lemonUpgrades.autoMax;
         data.lemtimeCost =  lemonUpgrades.timeCost;
         data.lemaddTimeCost = lemonUpgrades.addTimeCost;
         data.lemautoTapCost = lemonUpgrades.autoTapCost;
         data.lemaddAutoTapCost = lemonUpgrades.addAutoTapCost;
         data.lemaddAuto = lemonUpgrades.addAuto;
         data.lemcurrentGrade = lemonUpgrades.currentGrade;
         data.lemexportCost = lemonUpgrades.exportCost;
         data.lemisauto = lemonUpgrades.isauto;
         //Timer
         data.lemseconds1 = lemonTapper.seconds1;
         data.lemseconds2 = lemonTapper.seconds2;
         data.lemmin1 = lemonTapper.seconds1Amount;
         data.lemseconds2Amount = lemonTapper.seconds2Amount;
         data.lemmin1Amount = lemonTapper.min1Amount;
 
 
         //Stats
         data.cash = stats.cash;
         data.jewels = stats.jewels;
 
 
         bf.Serialize(file, data);
         file.Close();
 
         print("File Saved");
     }
 
     void Load()
     {
 
         if (File.Exists(Application.persistentDataPath + "/GameSave.save"))
         {
             BinaryFormatter bf = new BinaryFormatter();
             FileStream file = File.Open(Application.persistentDataPath + "/GameSave.save", FileMode.Open);
             GameData data = (GameData)bf.Deserialize(file);
            
             file.Close();
 
             //Lemon
             lemonTapper.fillPersAmount = data.lemfillPersAmount;
             lemonTapper.fillAmount = data.lemfillAmount;
             lemonTapper.timesFilledNum = data.lemtimesFilledNum;
             lemonTapper.moneyMade = data.lemmoneyMade;
             lemonTapper.fill = data.lemfill;
             lemonTapper.fillPersNum = data.lemfillPersNum;
             //Upgrades
             lemonUpgrades.cashCost = data.lemcashCost;
             lemonUpgrades.addCashCost = data.lemaddCashCost;
             lemonUpgrades.tapCost = data.lemtapCost;
             lemonUpgrades.addTapCost = data.lemaddTapCost;
             lemonUpgrades.cashMulti = data.lemcashMulti;
             lemonUpgrades.tapMulti = data.lemtapMulti;
             lemonUpgrades.autoCost = data.lemautoCost;
             lemonUpgrades.autoMax = data.lemautoMax;
             lemonUpgrades.timeCost = data.lemtimeCost;
             lemonUpgrades.addTimeCost = data.lemaddTimeCost;
             lemonUpgrades.autoTapCost = data.lemautoTapCost;
             lemonUpgrades.addAutoTapCost = data.lemaddAutoTapCost;
             lemonUpgrades.addAuto = data.lemaddAuto;
             lemonUpgrades.currentGrade = data.lemcurrentGrade;
             lemonUpgrades.exportCost = data.lemexportCost;
             lemonUpgrades.isauto = data.lemisauto;
             //Timer
             lemonTapper.seconds1 = data.lemseconds1;
             lemonTapper.seconds2 = data.lemseconds2;
             lemonTapper.seconds1Amount = data.lemmin1;
             lemonTapper.seconds2Amount = data.lemseconds2Amount;
             lemonTapper.min1Amount = data.lemmin1Amount;
 
             //Stats
             stats.cash = data.cash;
             stats.jewels = data.jewels;
 
 
             print("File Loaded");
 
         }
     }   
 
     public void OnApplicationQuit()
     {
         Save();
     }
 
  
 }
 
 [Serializable]
 class GameData
 {
    
 //Lemon
 public float lemfillPersAmount;
 public float lemfillAmount;
 public int lemtimesFilledNum;
 public int lemmoneyMade;
 public float lemfill;
 public float lemfillPersNum;
             //Upgrades
 public int lemcashCost;
 public int lemaddCashCost;
 public int lemtapCost;
 public int lemaddTapCost;
 public int lemcashMulti;
 public int lemtapMulti;
 public int lemautoCost;
 public int lemautoMax;
 public int lemtimeCost;
 public int lemaddTimeCost;
 public int lemautoTapCost;
 public int lemaddAutoTapCost;
 public int lemaddAuto;
 public int lemcurrentGrade;
 public int lemexportCost;
 public bool lemisauto;
             //Timer
 public int lemseconds1;
 public int lemseconds2;
 public int lemmin1;
 public int lemseconds1Amount;
 public int lemseconds2Amount;
 public int lemmin1Amount;
 
 //Stats
 public long cash;
 public long jewels;
 
 }
 
 

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

0 Replies

· Add your reply
  • Sort: 

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

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

356 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image 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

Saving data from multiple game objects 1 Answer

Someone please help me with combination lock 0 Answers

[Android] how can I access picture in sdcard ? 0 Answers

Simple way to save large files 0 Answers

PlayerPrefs help ! 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges