-
-
Save amowu/8121334 to your computer and use it in GitHub Desktop.
| // Put your file to "YOUR_UNITY_PROJ/Assets/StreamingAssets" | |
| // example: "YOUR_UNITY_PROJ/Assets/StreamingAssets/db.bytes" | |
| string dbPath = ""; | |
| if (Application.platform == RuntimePlatform.Android) | |
| { | |
| // Android | |
| string oriPath = System.IO.Path.Combine(Application.streamingAssetsPath, "db.bytes"); | |
| // Android only use WWW to read file | |
| WWW reader = new WWW(oriPath); | |
| while ( ! reader.isDone) {} | |
| realPath = Application.persistentDataPath + "/db"; | |
| System.IO.File.WriteAllBytes(realPath, reader.bytes); | |
| dbPath = realPath; | |
| } | |
| else | |
| { | |
| // iOS | |
| dbPath = System.IO.Path.Combine(Application.streamingAssetsPath, "db.bytes"); | |
| } |
Is this the decompressing of file from StreamingAssets?
Thanks for share this code. @dnorth I used this same solution for my project. Thanks!
Thank you for the code , finally found a snippet I could use .
Also @dnorth for the JSON file handling !
If your file is too large (> 2MB in my case), waiting for www.isDone in a while loop will hang the app.
Unity explicitly discourages this in the docs: You should not write loops that spin until download is done; use coroutines instead., because depending on the platform, the www download may take place on the main thread, which will hang up your app.
Could someone help me please with this . I'm still not getting the .json data from android.
I also had trouble getting the json to read. what is in Boards class from @dnorth that we don't see?
I have an XML file stored in the streamingAssets/XML/file.xml.
The code work for iOS but not in Android!!
Any Idea?
I'm extremely a newbie to Unity. I've a JSON file from the web. The JSON file contents loads well in Unity Desktop. However, when I build APK and load it from Phone, the JSON contents doesn't load. How can I get it to work?
Here is my code:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using SimpleJSON;
public class DataLoader : MonoBehaviour
{
string JsonDataString;
public string OriginalJsonSite;
public Text Temp;
public Text Humid;
IEnumerator Start()
{
while (true)
{
WWW readingsite = new WWW(OriginalJsonSite);
yield return readingsite;
if (string.IsNullOrEmpty(readingsite.error))
{
JsonDataString = readingsite.text;
}
JSONNode jsonNode = SimpleJSON.JSON.Parse(JsonDataString);
Temp.text = jsonNode["temp"].ToString().ToUpper();
Debug.Log(jsonNode["temp"]);
Humid.text = jsonNode["humid"].ToString().ToUpper();
Debug.Log(jsonNode["humid"]);
yield return new WaitForSeconds(2);
}
}
}
Thanks !
Thankkkkkkkkk you verrrryyyyyyy muccccchhhhhhhh ;DDDDDDDD
This really is the only place to find a simple solution for this problem... can't believe it. But thanks!
@AliAkbarMontazeri I hope you've already found a solution for this, but just in case... I used this for my .json code in this way