I used a service for syncing process in my android app. Now i want to add a progress bar to show that syncing process is going on. But when start the service app stops showing following error. But i don't know why it's happen,
Error,
10-23 05:27:56.390: E/AndroidRuntime(25458): FATAL EXCEPTION: Timer-0
10-23 05:27:56.390: E/AndroidRuntime(25458): Process: com.abc, PID: 25458
10-23 05:27:56.390: E/AndroidRuntime(25458): java.lang.NullPointerException
10-23 05:27:56.390: E/AndroidRuntime(25458): at com.abc.service.SynchingService$1.run(SynchingService.java:51)
10-23 05:27:56.390: E/AndroidRuntime(25458): at java.util.Timer$TimerImpl.run(Timer.java:284)
this is my code for service,
public class SynchingService extends Service {
private Timer t;
private static MainActivity mainActivity;
ProgressDialog dialog;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
this.timer();
return Service.START_STICKY;
}
private void timer() {
t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
mainActivity.runOnUiThread(new Runnable() {
public void run() {
dialog = ProgressDialog.show(mainActivity, getString(R.string.dialog_saving), getString(R.string.dialog_please_wait));
}
});
callSync();
}
}, 1000, 1000 * 60 * 60);
}
/**
* This method is used to call every table to start syncing
*
* @param Nothing
* @return No return value
*/
private void callSync() {
DataManager datamanager = DataManager.getInstance(getApplicationContext());
Log.d("service", "running");
// sync contact data
ContactSync contactSync = new ContactSync();
contactSync.contactGroupSync();
contactSync.contactSync();
Log.d("service2", "running2");
// sync horse data
HorseSync horseSync = new HorseSync();
horseSync.horseSyncWithServer();
Log.d("service3", "running3");
// sync blog data
BlogSync blogSync = new BlogSync();
blogSync.blogSyncWithServer();
Log.d("service4", "running4");
// delete news categories from local DB.
datamanager.deleteNewsCategories(MainActivity.mainActivity);
// delete news from local DB.
datamanager.deleteNews(MainActivity.mainActivity);
// delete advertisement categories from local db.
datamanager.deleteAddCategories(MainActivity.mainActivity);
// delete advertisements from local db.
datamanager.deleteAdds(MainActivity.mainActivity);
dialog.dismiss();
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
please help me to fix this issue.