Sure the Spark.variable would then be a possible way - maybe even three variables for an eight hour block each.
But I wouldn’t necessarily dismiss the TCP/UDP route either. If you’ve got the possibility to reach your Core globally (e.g. DynDNS) you could have your Core run a TCPServer or even a Webduinio
Or you could push the data to another server (via TCPClient) from where you’ll pull it into your phone.
There are some threads about that do deal with similar demands to yours - have a search