当前位置: 首页 > 知识库问答 >
问题:

是com.google.Androidgms。地方LocationCallback是接口还是类?

楚承天
2023-03-14

我希望使用以下方法获取位置更新:FusedLocationProviderClient#RequestLocationUpdate(LocationRequest LocationRequest、LocationCallback LocationCallback、Looper Looper)

实现此方法的Stackoverflow中的大多数答案必须覆盖LocationCallback方法。最近的一个例子可以在这个问题中找到

该问题的代码片段如下:

mLocationCallback = new LocationCallback() {

    @Override
    public void onLocationResult(LocationResult locationResult) {
        synchronized (SilentCurrentLocationProvider.this) {
            super.onLocationResult(locationResult);
            Location location = locationResult.getLastLocation();
    }
};

共有1个答案

敖淮晨
2023-03-14

编译器强制您重写的唯一时间是在抽象实现的情况下。您看到的LocationCallBack类不包含任何抽象成员。请注意它们如何具有{}。这意味着它已经定义了“具体”实现。需要注意的另一点是,它们不是最终的,这意味着它们可以被重写,也可以根本不被重写,这解释了为什么编译器没有强迫您。

实际上,您正在创建一个匿名类,然后选择要覆盖的类。在本例中,您选择了onLocationResult()方法。

mLocationCallback = new LocationCallback() { //Creating anonymous class to provide our own implementation for onLocationResult

@Override
public void onLocationResult(LocationResult locationResult) {
    synchronized (SilentCurrentLocationProvider.this) {
        super.onLocationResult(locationResult);
        Location location = locationResult.getLastLocation();
  }
};
 类似资料:
  • 从Selenium文档来看,WebDriver是一个接口,但在Eclipse中是包在项目浏览器中显示为一个类。此外,如果WebDriver是一个接口,则实现它的类(如ChromeDriver或InternetExplorerDriver)应该定义或。我们在哪里可以看到这些方法的方法定义?

  • 问题内容: 假设我有实现它的接口和实现类,并且我想为此编写单元测试。我应该测试什么接口或Impl? 这是一个例子: 因此,我有实现它的HelloInterface和HelloInterfaceImpl。什么是被测单元接口或Impl? 我认为应该是HelloInterface。请考虑以下JUnit测试草图: 主线实际上是我注释掉的那条线。 方法不是我的公共接口的一部分,所以我不想 意外地 调用它。如

  • 另请参见私有/受保护的方法是否应该在单元测试下? EDIT-2在多个实现\多个接口的情况下,我将测试所有的实现,但是当我在方法中声明变量时,我肯定会使用interface。

  • 请帮助我了解什么是好的设计在这里,详细。

  • 那代码在OOP方式下还是好的吗?还是我应该用接口?我认为直接通过方法是可以的。

  • 问题内容: 抱歉,如果这个问题很愚蠢,但是我无法用Java语法来解决问题。. 我了解了C / C ++,我知道View是一个很好的类。.但是我不明白View.OnClickListener()是否是方法。 我怀疑它是否会返回对象? 我认为View是一个具有静态OnClickListener成员对象的类。同样,这对我来说没有意义。. 有人可以解释这段代码在做什么吗? 那么这段代码是怎么回事? 是对x