I was looking at a scheduling tutorial by Vogella. It mentions the Job Scheduler API that was introduced in API 21 of Android. My question is can it be implemented i
There are a few methods of running "jobs" pre-lollipop.
As mentioned you can use the JobSchedulerCompat library, but this library has a huge difference compared to the default Lollipop API:
On Lollipop jobs are batched and scheduled for all apps at once. The library however does not have access to other apps data and therefore can't combine jobs from two different apps using the library.
Another option you might want to try is the AlarmManager API. This API can be used for scheduling jobs, but the one difference is that the AlarmManager does not have constraints other than timing for running jobs.
Since KitKat the AlarmManager API also batches jobs when not scheduled with the "exact" methods. Before KitKat jobs are not batched.
If your goal is to sync data, than the Sync-Adapter API might be useful: Sync-Adapter
References: AlarmManager, JobSchedulerCompat