Android Developer文档IntentService:我们两次定义同一个类吗?

时间:2016-02-23 05:10:26

标签: java android android-service intentservice

所以我在Android开发人员中关注此示例: http://developer.android.com/training/run-background-service/create-service.html 使用IntentService创建后台服务。 请注意,我们在第一个代码示例中定义了类RSSPullService

public class RSSPullService extends IntentService {
    @Override
    protected void onHandleIntent(Intent workIntent) {
        // Gets data from the incoming Intent
        String dataString = workIntent.getDataString();
        ...
        // Do work here, based on the contents of dataString
        ...
    }
}

在以下页面中,报告工作状态: http://developer.android.com/training/run-background-service/report-status.html 我很困惑,我们是否再次定义同一个班级才能获得状态?

public final class Constants {
    ...
    // Defines a custom Intent action
    public static final String BROADCAST_ACTION =
        "com.example.android.threadsample.BROADCAST";
    ...
    // Defines the key for the status "extra" in an Intent
    public static final String EXTENDED_DATA_STATUS =
        "com.example.android.threadsample.STATUS";
    ...
}
public class RSSPullService extends IntentService {
...
    /*
     * Creates a new Intent containing a Uri object
     * BROADCAST_ACTION is a custom Intent action
     */
    Intent localIntent =
            new Intent(Constants.BROADCAST_ACTION)
            // Puts the status into the Intent
            .putExtra(Constants.EXTENDED_DATA_STATUS, status);
    // Broadcasts the Intent to receivers in this app.
    LocalBroadcastManager.getInstance(this).sendBroadcast(localIntent);
...
}

2 个答案:

答案 0 :(得分:1)

不要混淆, 两个类都相同

首先要说明我们如何创建扩展IntentService的服务

然后他们给出了一个将数据发送到此IntentService的示例

最后,他们举例说明了同一个IntentService如何返回结果。

第二个代码只是另一个例子,他们改变了旧意向服务类的内容

答案 1 :(得分:1)

这是两个单独的例子,不需要定义两次,只需使用一个定义。第一个示例中的代码(创建Intent Service)刚刚与Reporting Work示例中的代码合并。