写作时:
CountDownTimer timer = new CountDownTimer(1000, 100)
{
@Override
public void onTick(long l)
{
}
@Override
public void onFinish()
{
};
}.start();
Run Code Online (Sandbox Code Playgroud)
我们真的开始一个处理蜱的新线程吗?如果没有,真正发生了什么?
有没有人知道如何在我的应用程序的启动器图标中添加一个圆形徽章,里面有一个数字(表示未读电子邮件的数量),就像HTC邮件应用程序一样?我知道如何为通知执行此操作,但不知道启动器图标.
澄清一下,它不是一个小部件,而是一个应用程序图标.
我有这个用例非常类似于Guice的机器人腿例子,除了我不知道我有多少"腿".因此,我无法使用机器人腿示例所需的注释.
我期望在带有Guice的Multibindings扩展的java.util.Set中收集所有这些"leg".
从技术上讲,在PrivateModule中,我想直接将实现作为Multibindings扩展提供的集合的元素公开.我只是不知道该怎么做.
有关参考和代码示例,请参阅此处的robot-legs示例:http://code.google.com/p/google-guice/wiki/FrequentlyAskedQuestions#How_do_I_build_two_similar_but_slightly_different_trees_of_objec
这是我的确切用例:
我有以下内容:
// Main application
public interface MyTree {...}
public interface MyInterface {
public MyTree getMyTree() {}
}
public abstract class MyModule extends PrivateModule {}
public class MyManager {
@Inject MyManager (Set<MyInterface> interfaces){ this.interfaces = interfaces }
}
public class MainModule extends AbstractModule {
public void configure () {
// Install all MyModules using java.util.ServiceLoader.
}
}
// In expansion "square.jar"
public class SquareTree implements MyTree {...}
public class SquareImplementation implements MyInterface { …Run Code Online (Sandbox Code Playgroud) 在使用VideoView时,我无法找到将MediaController保留在屏幕上的方法.我想在我的应用程序中播放res/raw中的音频文件.该文件正在播放,但我想将控制器保留在屏幕上,以便用户查看文件的长度以及在结束之前剩余的时间等.我在论坛上发现很多时间我们应该使用该方法.show (时间)为了做到这一点,但我无法弄清楚如何使它工作.
这是我正在使用的代码:
package com.sample.VideoViewExample;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.widget.MediaController;
import android.widget.VideoView;
public class VideoViewExample extends Activity implements SurfaceHolder.Callback{
private VideoView mVideoView;
private MediaController mMedia;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
mVideoView = (VideoView) findViewById(R.id.surface_view);
//mVideoView.getHolder().addCallback(this);
//mMedia.show(50000);
//mVideoView.setMediaController(mMedia);
MediaController mMedia = new MediaController(this);
mMedia.setMediaPlayer(mVideoView);
mMedia.setAnchorView(mVideoView);
mVideoView.setMediaController(mMedia);
mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.osa_patient));
mVideoView.requestFocus();
mVideoView.start();
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub
}
@Override
public …Run Code Online (Sandbox Code Playgroud) 编辑Java文件时,如果我在尚未导入的类上使用自动完成,编辑器会建议正确的类,然后生成导入代码.编辑Scala代码时,似乎支持唯一的本机Java库类.
感谢@fiction,至少我可以写出类的名称,然后使用'Organize Imports'(Ctrl + Shift + o),或者根据这个答案,我可以使用快速修复来生成导入,但我更喜欢首先使用自动填充,特别是如果有关于拼写的问题.这是不受支持的,还是配置错了?(我已经运行了安装诊断程序并检查了JDT内容辅助.)
我使用的是2.0.0版本.beta09-29-201107201639-529111d.
我希望确保Activity在我的单元测试中启动之前清除首选项.
问题是要清除首选项,需要调用getActivity().之后,Activity启动,读取首选项.
@Override
protected void setUp() throws Exception {
super.setUp();
mActivity = this.getActivity();
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(mActivity);
prefs.edit().clear().commit();
}
Run Code Online (Sandbox Code Playgroud)
当getActivity()被调用时,Activity被创建,它读取PREF的值,下一个线清除PREF之前.
有没有办法在Context不启动的情况下获取对象Activity?
我是Android单元测试的新手,所以也许我错过了一些基本的东西.
谢谢.
我的应用程序显示单窗格UI或双窗格UI,具体取决于屏幕配置.在较小的屏幕上,它应该是纵向和横向的单窗格.在中型屏幕(任何"最小宽度"为600dp及以上)的情况下,横向方向可以很好地适应双窗格布局,但在纵向方向上,它应该使用单窗格布局.在较大的屏幕上,它应该在两个方向上使用双窗格布局.我还想支持3.2+样式限定符(如sw600dp和sw720dp)以及旧的"大小桶"限定符("xlarge").
最直接的方法是创建几个不同的XML布局文件,每个配置一个:
因此,在这8个XML文件中存在大量代码重复,这些文件基本上只描述了两个不同的布局.
如何在不必维护所有这些重复的XML文件的情况下执行此操作,这是一个维护问题?
在不运行ProGuard的情况下在Android上构建和部署可执行文件时,最终可执行文件中是否包含未引用的方法?
是否包括来自外部图书馆罐子的未引用方法?
这种行为是否依赖于Java编译器,或dex是否进行了所有修剪(如果有的话)?
我正在运行Windows 7 x64 cygwin.
在大约一年前安装了以前的版本之后,我刚安装了Martin Odersky的Coursera Scala类的最新版本.首先,我尝试删除旧版本并使用msi安装程序.它sbt从空目录运行时返回以下错误.
后来我尝试卸载msi版本并手动安装(最新)sbt-launch.jar文件并从旧脚本中调用它.我得到了同样的错误.
有什么想法有什么不对吗?是否有某个sbt插件目录可能导致此问题?
~/dummy > sbt
[info] Loading global plugins from C:\Users\Jeff\.sbt\plugins
[info] Updating {file:/C:/Users/Jeff/.sbt/plugins/}default-46e191...
[info] Resolving com.typesafe.sbteclipse#sbteclipse;1.4.0 ...
[warn] module not found: com.typesafe.sbteclipse#sbteclipse;1.4.0
[warn] ==== typesafe-ivy-releases: tried
[warn] http://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbteclipse/sbteclipse/scala_2.9.2/sbt_0.12/1.4.0/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn] http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/com.typesafe.sbteclipse/sbteclipse/scala_2.9.2/sbt_0.12/1.4.0/ivys/ivy.xml
[warn] ==== local: tried
[warn] C:\Users\Jeff\.ivy2\local\com.typesafe.sbteclipse\sbteclipse\scala_2.9.2\sbt_0.12\1.4.0\ivys\ivy.xml
[warn] ==== typesafe-ivy-releases: tried
[warn] http://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbteclipse/sbteclipse/scala_2.9.2/sbt_0.12/1.4.0/ivys/ivy.xml
[warn] ==== public: tried
[warn] http://repo1.maven.org/maven2/com/typesafe/sbteclipse/sbteclipse_2.9.2_0.12/1.4.0/sbteclipse-1.4.0.pom
[info] Resolving org.scala-sbt#sbt;0.12.0 ...
[info] Resolving org.scala-sbt#main;0.12.0 ...
[info] Resolving org.scala-sbt#actions;0.12.0 ...
[info] Resolving org.scala-sbt#classpath;0.12.0 ... …Run Code Online (Sandbox Code Playgroud) 我正在参加Martin Odersky Coursera课程并且作业使用ScalaTest.Eclipse无法在双击时找到测试方法或右键单击JUnit运行器中的"转到文件",这非常令人讨厌.
双击后,找不到"方法' xxx '.打开测试类." 弹出对话框.
是否存在配置问题或者这是ScalaTest错误/限制?
这是来自班级的示例ScalaTest:
package recfun
import org.scalatest.FunSuite
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
class CountChangeSuite extends FunSuite {
import Main.countChange
test("manual") {
assert(countChange(4,List(1,2)) === 3)
}
}
Run Code Online (Sandbox Code Playgroud)