/* * 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方法的详细实现) }