Android Jobscheduler - How to download large nos of images using Job Scheduler
up vote
0
down vote
favorite
I have a jobservice which takes image url and download the image into a folder. I want to know how can i create a jobscheduler it will set jobs for me to download the all 400 images. I have to download approx 400 images from different 400 http urls. Its a same job which will run one after another in a for loop.
below is code which i have written
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
JobScheduler jobScheduler = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
jobScheduler = context.getSystemService(JobScheduler.class);
}
jobScheduler.cancelAll();
int i = 1;
for (MyPojo pojo: complexObject.getTasks()) {
if (i < 100) {
PersistableBundle persistableBundle = new PersistableBundle();
persistableBundle.putInt("id", pojo.getId();
persistableBundle.putString("url", pojo.getImageURL());
persistableBundle.putString("parent_directory", "Mydirectory/.");
ComponentName serviceComponent = new ComponentName(context, TestJobService.class);
JobInfo.Builder builder = new JobInfo.Builder(12345, serviceComponent);
builder.setExtras(persistableBundle);
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
builder.setOverrideDeadline(10 * 1000); // maximum delay
i++;
Log.d("i count is ", " " + i);
}
Its not working and not triggering any request.
android android-jobscheduler android-job
add a comment |
up vote
0
down vote
favorite
I have a jobservice which takes image url and download the image into a folder. I want to know how can i create a jobscheduler it will set jobs for me to download the all 400 images. I have to download approx 400 images from different 400 http urls. Its a same job which will run one after another in a for loop.
below is code which i have written
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
JobScheduler jobScheduler = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
jobScheduler = context.getSystemService(JobScheduler.class);
}
jobScheduler.cancelAll();
int i = 1;
for (MyPojo pojo: complexObject.getTasks()) {
if (i < 100) {
PersistableBundle persistableBundle = new PersistableBundle();
persistableBundle.putInt("id", pojo.getId();
persistableBundle.putString("url", pojo.getImageURL());
persistableBundle.putString("parent_directory", "Mydirectory/.");
ComponentName serviceComponent = new ComponentName(context, TestJobService.class);
JobInfo.Builder builder = new JobInfo.Builder(12345, serviceComponent);
builder.setExtras(persistableBundle);
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
builder.setOverrideDeadline(10 * 1000); // maximum delay
i++;
Log.d("i count is ", " " + i);
}
Its not working and not triggering any request.
android android-jobscheduler android-job
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I have a jobservice which takes image url and download the image into a folder. I want to know how can i create a jobscheduler it will set jobs for me to download the all 400 images. I have to download approx 400 images from different 400 http urls. Its a same job which will run one after another in a for loop.
below is code which i have written
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
JobScheduler jobScheduler = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
jobScheduler = context.getSystemService(JobScheduler.class);
}
jobScheduler.cancelAll();
int i = 1;
for (MyPojo pojo: complexObject.getTasks()) {
if (i < 100) {
PersistableBundle persistableBundle = new PersistableBundle();
persistableBundle.putInt("id", pojo.getId();
persistableBundle.putString("url", pojo.getImageURL());
persistableBundle.putString("parent_directory", "Mydirectory/.");
ComponentName serviceComponent = new ComponentName(context, TestJobService.class);
JobInfo.Builder builder = new JobInfo.Builder(12345, serviceComponent);
builder.setExtras(persistableBundle);
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
builder.setOverrideDeadline(10 * 1000); // maximum delay
i++;
Log.d("i count is ", " " + i);
}
Its not working and not triggering any request.
android android-jobscheduler android-job
I have a jobservice which takes image url and download the image into a folder. I want to know how can i create a jobscheduler it will set jobs for me to download the all 400 images. I have to download approx 400 images from different 400 http urls. Its a same job which will run one after another in a for loop.
below is code which i have written
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
JobScheduler jobScheduler = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
jobScheduler = context.getSystemService(JobScheduler.class);
}
jobScheduler.cancelAll();
int i = 1;
for (MyPojo pojo: complexObject.getTasks()) {
if (i < 100) {
PersistableBundle persistableBundle = new PersistableBundle();
persistableBundle.putInt("id", pojo.getId();
persistableBundle.putString("url", pojo.getImageURL());
persistableBundle.putString("parent_directory", "Mydirectory/.");
ComponentName serviceComponent = new ComponentName(context, TestJobService.class);
JobInfo.Builder builder = new JobInfo.Builder(12345, serviceComponent);
builder.setExtras(persistableBundle);
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
builder.setOverrideDeadline(10 * 1000); // maximum delay
i++;
Log.d("i count is ", " " + i);
}
Its not working and not triggering any request.
android android-jobscheduler android-job
android android-jobscheduler android-job
edited Nov 8 at 6:47
asked Nov 8 at 6:36
Feroz Siddiqui
3942623
3942623
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
Add the following line in the last statment inside the for loop
jobScheduler.schedule(builder.build());
updated code :
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
JobScheduler jobScheduler = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
jobScheduler = context.getSystemService(JobScheduler.class);
}
jobScheduler.cancelAll();
int i = 1;
for (MyPojo pojo: complexObject.getTasks()) {
if (i < 100) {
PersistableBundle persistableBundle = new PersistableBundle();
persistableBundle.putInt("id", pojo.getId();
persistableBundle.putString("url", pojo.getImageURL());
persistableBundle.putString("parent_directory", "Mydirectory/.");
ComponentName serviceComponent = new ComponentName(context, TestJobService.class);
JobInfo.Builder builder = new JobInfo.Builder(12345, serviceComponent);
builder.setExtras(persistableBundle);
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
builder.setOverrideDeadline(10 * 1000); // maximum delay
**jobScheduler.schedule(builder.build());**
i++;
Log.d("i count is ", " " + i);
}
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
Add the following line in the last statment inside the for loop
jobScheduler.schedule(builder.build());
updated code :
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
JobScheduler jobScheduler = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
jobScheduler = context.getSystemService(JobScheduler.class);
}
jobScheduler.cancelAll();
int i = 1;
for (MyPojo pojo: complexObject.getTasks()) {
if (i < 100) {
PersistableBundle persistableBundle = new PersistableBundle();
persistableBundle.putInt("id", pojo.getId();
persistableBundle.putString("url", pojo.getImageURL());
persistableBundle.putString("parent_directory", "Mydirectory/.");
ComponentName serviceComponent = new ComponentName(context, TestJobService.class);
JobInfo.Builder builder = new JobInfo.Builder(12345, serviceComponent);
builder.setExtras(persistableBundle);
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
builder.setOverrideDeadline(10 * 1000); // maximum delay
**jobScheduler.schedule(builder.build());**
i++;
Log.d("i count is ", " " + i);
}
add a comment |
up vote
1
down vote
accepted
Add the following line in the last statment inside the for loop
jobScheduler.schedule(builder.build());
updated code :
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
JobScheduler jobScheduler = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
jobScheduler = context.getSystemService(JobScheduler.class);
}
jobScheduler.cancelAll();
int i = 1;
for (MyPojo pojo: complexObject.getTasks()) {
if (i < 100) {
PersistableBundle persistableBundle = new PersistableBundle();
persistableBundle.putInt("id", pojo.getId();
persistableBundle.putString("url", pojo.getImageURL());
persistableBundle.putString("parent_directory", "Mydirectory/.");
ComponentName serviceComponent = new ComponentName(context, TestJobService.class);
JobInfo.Builder builder = new JobInfo.Builder(12345, serviceComponent);
builder.setExtras(persistableBundle);
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
builder.setOverrideDeadline(10 * 1000); // maximum delay
**jobScheduler.schedule(builder.build());**
i++;
Log.d("i count is ", " " + i);
}
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
Add the following line in the last statment inside the for loop
jobScheduler.schedule(builder.build());
updated code :
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
JobScheduler jobScheduler = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
jobScheduler = context.getSystemService(JobScheduler.class);
}
jobScheduler.cancelAll();
int i = 1;
for (MyPojo pojo: complexObject.getTasks()) {
if (i < 100) {
PersistableBundle persistableBundle = new PersistableBundle();
persistableBundle.putInt("id", pojo.getId();
persistableBundle.putString("url", pojo.getImageURL());
persistableBundle.putString("parent_directory", "Mydirectory/.");
ComponentName serviceComponent = new ComponentName(context, TestJobService.class);
JobInfo.Builder builder = new JobInfo.Builder(12345, serviceComponent);
builder.setExtras(persistableBundle);
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
builder.setOverrideDeadline(10 * 1000); // maximum delay
**jobScheduler.schedule(builder.build());**
i++;
Log.d("i count is ", " " + i);
}
Add the following line in the last statment inside the for loop
jobScheduler.schedule(builder.build());
updated code :
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
JobScheduler jobScheduler = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
jobScheduler = context.getSystemService(JobScheduler.class);
}
jobScheduler.cancelAll();
int i = 1;
for (MyPojo pojo: complexObject.getTasks()) {
if (i < 100) {
PersistableBundle persistableBundle = new PersistableBundle();
persistableBundle.putInt("id", pojo.getId();
persistableBundle.putString("url", pojo.getImageURL());
persistableBundle.putString("parent_directory", "Mydirectory/.");
ComponentName serviceComponent = new ComponentName(context, TestJobService.class);
JobInfo.Builder builder = new JobInfo.Builder(12345, serviceComponent);
builder.setExtras(persistableBundle);
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
builder.setOverrideDeadline(10 * 1000); // maximum delay
**jobScheduler.schedule(builder.build());**
i++;
Log.d("i count is ", " " + i);
}
answered Nov 8 at 8:16
SIVAKUMAR.J
2,23563676
2,23563676
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53202578%2fandroid-jobscheduler-how-to-download-large-nos-of-images-using-job-scheduler%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown