- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这可能是一个简单/愚蠢的问题。我找不到任何有关它的文档。我想在 Android 中创建自己的 LocationProvider。 LocationProvider是一个抽象类,没有构造函数。
import android.location.LocationProvider;
public class provider extends LocationProvider {
public provider() {
}
@Override
public int getAccuracy() {
// TODO Auto-generated method stub
return 0;
}
...
@Override
public boolean supportsSpeed() {
// TODO Auto-generated method stub
return false;
}
}
Eclipse 在这里给我错误:“隐式 super 构造函数 LocationProvider() 不可见。必须显式调用另一个构造函数”
但是空的 super 构造函数当然是不可见的 - LocationProvider 没有构造函数。我应该如何创建没有构造函数的抽象类的子类?
例如,这会引发相同的错误:
public abstract class topabstractclass {
private topabstractclass() {
}
}
class mysubclass extends topabstractclass{
mysubclass() {
}
}
我无法修改 Android 的 LocationProvider,因此无法创建公共(public)构造函数。这只是一个本质上不可子类化的类吗? android 是否不希望我们创建 LocationProviders?其他 LocationProvider 是如何完成的?谁能举个例子吗?
最佳答案
你的假设是正确的。 不可能扩展所有构造函数都是私有(private)的抽象类。这正确地意味着 Google 不希望您扩展 LocationProvider
。
首先,请注意其他项目可能 clone LocationProvider
。然后他们创建subclasses of it ,并可以根据需要使用它们。
现在,我猜您想知道为什么 LocationProvider
以这种方式受到限制。文档对此进行了解释:
Each provider has a set of criteria under which it may be used; for example, some providers require GPS hardware and visibility to a number of satellites; others require the use of the cellular radio, or access to a specific carrier's network, or to the internet. They may also have different battery consumption characteristics or monetary costs to the user. The Criteria class allows providers to be selected based on user-specified criteria.
这里我们必须稍微解读一下字里行间的意思。考虑一下有多少信息直接来自运营商并且是特定于手机的。这意味着在您的应用程序中对其进行篡改可能会导致设备无法运行,因为其提供商不再遵循其深奥的规则。这就是为什么 Android sets up all the providers for us 。 (此链接非常方便保存。它将向您展示如何在没有自己的提供商的情况下访问该位置信息。)
所以,不,您不能隐式*扩展LocationProvider
。您必须使用已经存在的产品,因为它们是专门为在运营商、硬件和软件之间工作而设计的。
*如 @Funtik 的答案所示,您可以使用 String, ILocationManager
签名扩展 LocationProvider
。然而,它没有文档记录,标有 {@hide}
,并且在以前的版本中不受支持,因此您可能需要做一些努力才能获得正确的构造方法。
关于java - 在Android中扩展抽象类: A LocationProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12337024/
这可能是一个简单/愚蠢的问题。我找不到任何有关它的文档。我想在 Android 中创建自己的 LocationProvider。 LocationProvider是一个抽象类,没有构造函数。 impo
我将代码编写为我的 Angular Controller ,如下所示: .config(function($routeProvider, $locationProvider, $httpProvide
我正在尝试获取我正在处理的应用程序的位置。但是,当它尝试选择最佳提供商时,我收到一个错误然后强制关闭。对此问题的任何帮助将不胜感激……我是否需要在 onCreate 中声明一些内容才能使其正常工作?这
这是我的代码: angular.module('foo', []).controller( 'Main', [ '$scope', '$location', function(
根据这篇文章(UPD: 链接已删除,因为它现在会导致一些废话),在请求位置更新时设置 minTime 将导致提供商将自己设置为TEMPORARILY_UNAVAILABLE minTime 毫秒以节省
我想创建自己的 LocationProvider 实现,似乎有一种方法可以添加“模拟”提供者,但这并不是我想要的。 http://developer.android.com/reference/and
获取 $locationProvider 的正确方法是什么?来自服务/ Controller 的配置参数?使用 function ( $locationProvider ) 进行简单的依赖注入(inj
我编写了一个非常简单的应用程序,它向 LocationProvider 询问位置并将其打印到 System.out。这在模拟器中效果很好。但是,当我在我的黑莓设备上运行它时,对 getLocation
嘿,我正在尝试在基于此博客的 Angular 项目中启用 html5,但使用 ui-router https://scotch.io/tutorials/pretty-urls-in-angularj
通过 $locationProvider.html5Mode(true) 在 AngularJS 中启用 html5Mode 时,当您登陆网站更深的页面时,导航似乎会倾斜。 例如: http://ww
我正在尝试配置我的 Angular 但是我不断收到标题错误告诉我“.when 不是一个函数。下面是我的代码。 angular.module('app', ['ngResource', 'ngRoute
我正试图摆脱出现在我的 ui-router URL 中的主题标签。 ( http://localhost:3000/email 不起作用,但 http://localhost:3000/#email
我的网址是: http://192.168.110.4/produtos/3-fazer-a-limpeza-da-casa-juntos-une-os-casais 我的基地是:/ 当正常链接访问正
为了从地址 url 中消除 # ,我尝试在路由器中使用 $location 提供程序。在第一次加载时,将 root 更改为另一个 url 是可行的。但是当我重新加载新页面时,我得到 Cannot GE
我想将 url 显示为“www.test.com/!#”,因为我正在使用 $locationProvider.hashPrefix("!") ;但它将 url 显示为“www.test.com/#!”
一直在处理我遇到的一些 $locationProvider 问题。我有一个简单的单页页面。但我收到以下错误: TypeError: Cannot read property 'replace
我使用 $locationProvider 从此 url 中删除 hashtag # http://localhost/angular-phonecat/app/#/phones 使用以下代码: ph
在我的 Java ME 应用程序中,LocationProvider.getInstance(null) 始终在模拟器中返回 null。 应用程序处于早期状态,所以我没有在真机上尝试过。 我相信,我阅
在 AngularJS 中,尝试使用 $locationProvider 解析查询字符串时出现错误。 AngularJS 文档说 locationProvider 尚未从核心中移出,所以我想知道为什么
据我了解,$locationProvider.html5Mode(true); 不会从您的网址中删除哈希值吗?虽然它对我来说只有刷新页面时主页似乎没问题。这不是 redirectTo: 应该处理的吗?
我是一名优秀的程序员,十分优秀!