两次按钮点击之间的时间

我有两个按钮,我想计算两次点击之间的时间。 我知道怎么做一次: Long starttime = System.currentTimeMillis(); Long endtime = System.currentTimeMillis(); Long differenz = ((endtime-starttime) / 1000); 现在,我希望在第二次单击时,计数从零开始,直到单击第一个按钮。 然后,测量第一次和第二次按钮点击之间的时间,依此类推。 也许这是一件非常简单的事情,但我不知道该怎么做…… 编辑:好的,我试着说清楚: 我有按钮A和B.我希望用户交替按下按钮A和B.当用户点击按钮A时,我想要一个计时器来测量直到B被点击的时间。 直到这里,一切都很清楚。 现在我希望测量点击B到点击A之间的时间,总是在A和B之间交替。 点击B后我不知道该做什么,再次测量时间直到A.

以编程方式从Java应用程序创建Android虚拟设备

我想从另一个java应用程序创建我的Android虚拟设备。 我不想使用默认的Android AvdManager,因为你无法设置你想要创建你的AVD的位置,并且它有异国情调的caraters的问题。 所以我得到了AvdMagager的sdklib.jar并尝试这样做。 但我无法创建AVD,因为我有日志: 错误 无法找到ABI%2 $ s的’%1 $ s’文件复制到AVD文件夹中。 这是我所做的事例: class Choice implements ISdkLog { public Choice() { com.android.sdklib.internal.avd.AvdManager avdmanager; try { com.android.sdklib.SdkManager manager = com.android.sdklib.SdkManager.createManager(“Boulet”, this); IAndroidTarget[] targets = manager.getTargets(); avdmanager= new com.android.sdklib.internal.avd.AvdManager(manager,this); avdmanager.createAvd(new java.io.File(“filename”), “dunno”, targets[0], “dunno”, “dunno”, “dunno”, null, false, false, false, this); } catch (AndroidLocationException e1) { // TODO […]

如何在Android中获取/设置媒体音量(spotify)和TTS?

减少流量并同时增加TTS量 我有这个Android应用程序,每次都与TTS交谈并使用流媒体音乐(spotify)。 所以,我需要减少音量并增加TTS 我使用此代码,但这也减少了tts。 AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,[int value],[if desired a flag]); 任何减少像流音乐一样的方法。 在Java / android中。

用UIL显示图像的Pinterest风格

Pinterest显示图像的风格非常出色,这为您的应用增添了美感。 经过几次研究后,我发现有很好的库可以显示像Pinterest这样的图像,但不确定它是否与UIL兼容。 我正在使用Universal-Image-Loader来显示我的图像。 在下面显示的图像中,我以这种方式显示了我的图像,并带有一些视图。 无可否认,UIL库在显示大量图像时极大地处理了手机内存。 我想知道是否有可能像Pinterest那样显示我的图像,但仍然使用UIL作为生成器。 这种方法有什么可能的解决方案? 或者也许是另一个只处理显示并与UIL兼容的库 。 更新: 我尝试使用StaggeredGridView,但布局无法转换为GridView 。

Android Studio 2.3 for mac:gradle sync失败,打开zip文件时出错

这发生在我更新到2.3版本之后。 所有项目,包括新创建的项目都有此问题。 这是日志文件的一部分(不太确定哪个部分有用) at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46) at org.gradle.tooling.internal.consumer.DefaultBuildActionExecuter.run(DefaultBuildActionExecuter.java:48) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.doResolveProjectInfo(GradleProjectResolver.java:217) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.access$200(GradleProjectResolver.java:72) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:765) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:749) at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.execute(GradleExecutionHelper.java:227) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:112) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:72) at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.lambda$resolveProjectInfo$0(RemoteExternalSystemProjectResolverImpl.java:37) at com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.java:59) at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.resolveProjectInfo(RemoteExternalSystemProjectResolverImpl.java:37) at com.intellij.openapi.externalSystem.service.remote.wrapper.ExternalSystemProjectResolverWrapper.resolveProjectInfo(ExternalSystemProjectResolverWrapper.java:49) at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.java:51) at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:138) at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:124) at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$3.execute(ExternalSystemUtil.java:415) at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$5.run(ExternalSystemUtil.java:494) at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:635) at com.intellij.openapi.progress.impl.CoreProgressManager$3.run(CoreProgressManager.java:170) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:494) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:443) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:155) at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:128) at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:307) […]

Java:搜索二维数组中的单词

我已经学习了大约4个月的Java,这是我学习的第一门编程语言。 对于学校,我们必须做一个项目,一个基于控制台的游戏。 我选择了Boggle。 我有一个带有骰子的ArrayList,每个都有一个随机的“向上”,然后ArrayList被洗牌,一个二维数组充满了每一面的值。 此时arrays充满了字符串,字符可能是更好的选择,但是很容易改变。 我面临的问题是我需要能够在数组中找到单词。 Boggle中的单词可以向任何方向移动,每个单独的块只能使用一次,但路径可以交叉,也可以对角搜索。 我设法找到数组中是否存在第一个字母。 如果不是,则可以中止搜索,如果存在则需要开始搜索,搜索单词的第二个字符,该字符必须在第一个字符的块周围。 我做了一些数学运算,发现它总是以“i-1和j-1”为例,作为周围区块的左上角。 我解决了这个问题,但似乎无法找到单词…而且,如果周围有2个“e”,我不知道如何搜索每个“e”的单词。 这是我到目前为止的代码: 这是我目前最重要的课程,Gameboard类 public class Gameboard { private List dices = new ArrayList(); private final int boardSize; private String[][] board; private boolean [][] blocksAvailable; private Random random = new Random(); public GameBoard() { // Making the board with a given size (will be changeable later […]

OpenCv android:将图像的一部分复制到新的Mat

我是OpenCV的新手,并试图通过实施来学习。 我需要绘制我在新Mat中检测到的轮廓,以便我可以使用它们。 这是我的原始图片: 完成一些工作后,我通过查找和绘制轮廓来实现这一目标: 这是我的代码 m = Utils.loadResource(MainActivity.this, R.drawable.sheet1, Highgui.CV_LOAD_IMAGE_COLOR); Bitmap bm = Bitmap.createBitmap(m.cols(), m.rows(),Bitmap.Config.ARGB_8888); Imgproc.cvtColor(m, m, Imgproc.COLOR_BGR2GRAY); Imgproc.medianBlur(m, m, 3); Imgproc.threshold(m, m, 0, 255, Imgproc.THRESH_OTSU); Core.bitwise_not(m, m); Imgproc.dilate(m, m, Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(1,118))); //Contours detection java.util.List contours = new ArrayList(); Imgproc.findContours(m, contours, new Mat() ,Imgproc.RETR_EXTERNAL , Imgproc.CHAIN_APPROX_SIMPLE); Imgproc.cvtColor(m, m, Imgproc.COLOR_GRAY2BGR); //Contour drawing Mat matArray = […]

如何配置eclipselink JTA序列连接池

我在MySQL上遇到了TABLE序列的并发问题,并发现该解决方案可能正在为序列生成配置一个单独的连接池。 在这个stackoverflow问题中,它指向Eclipselink文档 ,其中有一个示例为空的部分。 我似乎无法找到任何如何配置的示例。 我的persistence.xml目前在下面。 我应该更改什么以确保在单独的事务/连接池上执行序列生成。 知道我应该寻找什么来确定它的工作也很好,除了等待看死锁是否停止发生。 非常感谢 jdbc/myapp jdbc/myapp/nonjta false

如何只使用一个连接在hibernate中执行嵌套事务?

问题的上下文我想解决:我有一个java spring http拦截器AuditHttpCommunicationInterceptor,用于审核与外部系统的通信。 执行通信的HttpClieant在java服务类中使用,该服务类执行一些名为DoBusinessLogicSevice的业务逻辑。 DoBusinessLogicSevice打开一个新的事务,并使用几个协作者完成大量的事情。 要解决的问题:无论DoBusinessLogicSevice中的任何操作的结果如何(意外的exception等),我都希望AuditHttpCommunicationInterceptor将审计存储在数据库中。 我使用的解决方案:AuditHttpCommunicationInterceptor将以这种方式打开一个新事务: TransactionDefinition transactionDefinition = new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRES_NEW); new TransactionTemplate(platformTransactionManager, transactionDefinition).execute(new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(TransactionStatus status) { // do stuff } }); 一切正常。 当DoBusinessLogicSevice的一部分抛出意外exception时,其事务将被回滚,但AuditHttpCommunicationInterceptor会将审计存储在数据库中。 此解决方案产生的问题:AuditHttpCommunicationInterceptor使用新的数据库连接。 因此,对于每个DoBusinessLogicSevice调用,我需要2个db连接。 基本上,我想知道问题的解决方案:在这种情况下,如何使TransactionTemplate“挂起”当前事务并重新使用新连接。 有任何想法吗? 🙂 PS一个想法可能是采用不同的设计方法:删除拦截器并创建一个直接在DoBusinessLogicSevice中使用的AuditingHttpClient(不是由spring调用)但我不能这样做,因为我无法访问那里的所有http字段。

如何使用JSON数据(java)发送POST方法?

我需要使用JSON数据发送POST方法,确保我需要将序列化的JSON对象发送到字符串中。 不是JSON字符串本身。所以我如何使用JAVA实现它