我从webupd8team/javaPPA 安装了Oracle JDK ,然后安装了该visualvm软件包.启动时visualvm,我收到以下错误消息:
[beni:~]$ visualvm
No jdkhome found
Run Code Online (Sandbox Code Playgroud)
我$JAVA_HOME的设置正确/usr/lib/jvm/java-7-oracle.
此外,当从属性集开始visualvm时jdkhome,我得到相同的错误:
[beni:~]$ visualvm --jdkhome $JAVA_HOME
No jdkhome found
Run Code Online (Sandbox Code Playgroud) 我正在玩Android的TTS功能,TextToSpeech类有这个方法来设置一个侦听器,一旦TextToSpeech完成播放就会收到通知:
public int setOnUtteranceCompletedListener(TextToSpeech.OnUtteranceCompletedListener listener)
Run Code Online (Sandbox Code Playgroud)
但OnUtteranceCompletedListener定义为public abstract class.由于我MainActivity已经扩展了Activity,它也无法扩展OnUtteranceCompletedListener.我可以使用旧的方法OnUtteranceCompletedListener,但不推荐使用:
public int setOnUtteranceCompletedListener (TextToSpeech.OnUtteranceCompletedListener listener)`
Run Code Online (Sandbox Code Playgroud)
为什么OnUtteranceCompletedListener没有定义为public static interface?我正在考虑编写自己的UtteranceProgressListenerImpl,然后只调用MainActivitys onDone方法.这是正确的方式还是有更好/更清洁的选择?
private class UtteranceProgressListenerImpl extends UtteranceProgressListener {
private MainActivity mainActivity;
UtteranceProgressListenerImpl(MainActivity mA) {
mainActivity = mA;
}
@Override
public void onDone(String utteranceId) {
mainActivity.onDone(utteranceId);
}
@Override
public void onError(String utteranceId) { /* empty */ }
@Override
public void onStart(String utteranceId) { /* empty */ } …Run Code Online (Sandbox Code Playgroud) 对于我的应用程序,我有一个Scale接口和多个实现该接口的类,例如NormalizedScale,LogScale等。在我的一个服务中,我需要创建许多 Scales,并且我想使用 Spring 来定义它应该创建的 Scale 的哪个实现. 我将如何实施这样的事情?
——
我想创建一个工厂ScaleFactory,就像在抽象工厂模式中一样,我可以调用它ScaleFactory.getScale()来获取我在 Spring XML 中配置的任何实现的规模:
class ScaleFactory {
Class<? extends Scale> scaleImplClass;
public static Scale getScale() {
return scaleImplClass.newInstance();
}
}
Scale myScale = ScaleFactory.getScale();
Run Code Online (Sandbox Code Playgroud)
但是使用这种方法,我如何配置 ScaleFactory 应该从 Spring XML 使用哪个实现?
——
另一种方法是制作ScaleFactorya @Service,然后将 ScaleFactory 自动装配到我的服务中:
@Autowired
ScaleFactory scaleFactory;
...
Scale myScale = scaleFactory.getScale();
Run Code Online (Sandbox Code Playgroud)
然后我可以使用 ScaleFactory 中的自动装配属性来定义scaleImplClass. 但这似乎很奇怪,因为我的工厂也是一个服务,而且我有一个该工厂的实例。
——
另一种方法是Class scaleImplementationClass在我的服务中使用该属性而不是 ScaleFacotry 并像这样使用 ScaleFactory: …
Google 日历中的最新功能允许用户为每个工作日选择工作地点(家庭、办公室或其他)。您知道是否有办法使用 Apps 脚本检索此信息?
谢谢
马蒂厄