1. A method comprising the steps of: building a precaching strategy, using at least one computing device, for a mobile device, wherein the precaching strategy defines a forecast of at least one data type a user is predicted to request after the occurrence of at least one data refresh condition, wherein the precaching strategy is built by recognizing, using the at least one computing device, at least one data usage pattern in data requested by the user using the user device over a time period, wherein the data usage pattern comprises the at least one data type and at least one event that is correlated to the usage of the data, wherein the at least one event is used to define at least one refresh condition within the precaching strategy; executing the precaching strategy, using the at least one computing device; detecting, using the at least one computing device, that the at least one data refresh condition has occurred; retrieving data, over a network, from at least one data source, wherein the retrieved data is retrieved according to the at least one precaching strategy; transmitting the retrieved data, over the network, to a user device cache accessible to at least one application program running on the user device.