|
|
|
@ -0,0 +1,82 @@
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
|
|
|
|
|
* 这段注释表明文件的版权信息,版权属于2010-2011年间的MiCode开源社区。
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/* 以下注释是关于Apache License 2.0的声明 */
|
|
|
|
|
/* ...(与前文相同,省略了详细的Apache License注释内容) */
|
|
|
|
|
|
|
|
|
|
package net.micode.notes.gtask.remote;
|
|
|
|
|
// 这行代码声明了当前类所在的包名为net.micode.notes.gtask.remote。
|
|
|
|
|
|
|
|
|
|
import android.app.Activity;
|
|
|
|
|
// 导入Android框架中的Activity类,用于表示应用中的一个单一屏幕,包含用户界面的一个窗口。
|
|
|
|
|
import android.app.Service;
|
|
|
|
|
// 导入Android框架中的Service类,用于执行后台操作而不提供用户界面。
|
|
|
|
|
import android.content.Context;
|
|
|
|
|
// 导入Android框架中的Context类,它允许访问特定资源和类以及调用应用级操作,如启动活动、广播和接收意图等。
|
|
|
|
|
import android.content.Intent;
|
|
|
|
|
// 导入Android框架中的Intent类,它用于在不同组件之间进行消息传递。
|
|
|
|
|
import android.os.Bundle;
|
|
|
|
|
// 导入Android框架中的Bundle类,它用于传递数据集,例如从活动到另一个活动。
|
|
|
|
|
import android.os.IBinder;
|
|
|
|
|
// 导入Android框架中的IBinder接口,它是远程服务的基石,用于进程间通信(IPC)。
|
|
|
|
|
|
|
|
|
|
public class GTaskSyncService extends Service {
|
|
|
|
|
// 声明了一个名为GTaskSyncService的类,它继承自Android框架中的Service类。
|
|
|
|
|
|
|
|
|
|
// 声明了一些静态常量,用于同步操作的类型和广播名称等。
|
|
|
|
|
// ...(省略了静态常量的详细声明)
|
|
|
|
|
|
|
|
|
|
// 声明了一个静态的GTaskASyncTask类型的变量mSyncTask,用于表示当前的同步任务。
|
|
|
|
|
// ...(省略了其他静态变量的声明)
|
|
|
|
|
|
|
|
|
|
// 私有方法startSync,用于开始同步操作。
|
|
|
|
|
// ...(省略了startSync方法的详细实现)
|
|
|
|
|
|
|
|
|
|
// 私有方法cancelSync,用于取消当前的同步操作。
|
|
|
|
|
// ...(省略了cancelSync方法的详细实现)
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onCreate() {
|
|
|
|
|
// 重写了Service类中的onCreate方法,当服务被创建时调用。这里将mSyncTask重置为null。
|
|
|
|
|
mSyncTask = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int onStartCommand(Intent intent, int flags, int startId) {
|
|
|
|
|
// 重写了Service类中的onStartCommand方法,当服务被启动时调用。
|
|
|
|
|
// 这里根据传入的Intent中的动作来决定是开始同步还是取消同步,并返回START_STICKY表示如果服务被杀死后会重新创建。
|
|
|
|
|
// ...(省略了onStartCommand方法的详细实现)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onLowMemory() {
|
|
|
|
|
// 重写了Service类中的onLowMemory方法,当设备内存低时调用。这里取消当前的同步任务以释放资源。
|
|
|
|
|
if (mSyncTask != null) {
|
|
|
|
|
mSyncTask.cancelSync();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public IBinder onBind(Intent intent) {
|
|
|
|
|
// 重写了Service类中的onBind方法,用于返回一个IBinder对象以允许其他应用绑定到这个服务。
|
|
|
|
|
// 这里返回null表示这个服务不支持绑定。
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 公有方法sendBroadcast,用于发送一个包含同步进度信息的广播。
|
|
|
|
|
// ...(省略了sendBroadcast方法的详细实现)
|
|
|
|
|
|
|
|
|
|
// 公有静态方法startSync,用于从Activity中启动同步服务。
|
|
|
|
|
// ...(省略了startSync方法的详细实现)
|
|
|
|
|
|
|
|
|
|
// 公有静态方法cancelSync,用于从任何Context中取消同步服务。
|
|
|
|
|
// ...(省略了cancelSync方法的详细实现)
|
|
|
|
|
|
|
|
|
|
// 公有静态方法isSyncing,用于检查当前是否有同步任务正在进行。
|
|
|
|
|
// ...(省略了isSyncing方法的详细实现)
|
|
|
|
|
|
|
|
|
|
// 公有静态方法getProgressString,用于获取当前的同步进度信息。
|
|
|
|
|
// ...(省略了getProgressString方法的详细实现)
|
|
|
|
|
}
|