The following links should help you figure out how to programmatically determine the data usage per application.
-
Create a network monitor using Android’s TrafficStats class
-
Android Traffic Statistics Inside
You will need to implement your code to use the TraficStats API and track the number of bytes sent/received per UID (application).