我是Android的新手并且有调试问题.我知道什么是ANR,并且在我正常运行我的应用程序时看不到它们.但是,当我尝试调试我的BoradcastReceiver时,我太慢并得到ANR消息.
有没有办法在调试会话期间关闭ANR?我可以使用日志语句来查看发生了什么,但这很烦人....
编辑:实际上,我不想在LogCat中压制ANR,我想告诉android在调试期间不要抛出ANR.我的意思是允许广播接收器运行时间超过5秒.但我想这是不可能的,而是我应该委托给一个允许运行更长时间的服务,我也可以更轻松地调试.
提前致谢!
招呼
有四个高级API可以访问Cassandra,我没有时间尝试它们.所以我希望找到一个可以帮助我选择合适人选的人.
我会写下我对他们的发现:
优点:
缺点:
优点:
缺点:
优点:
缺点:
优点:
缺点:
由于我对RDMS,Hibernate,JPA,Spring以及对EJB不再那么新闻充满信心,我的第一印象是,去kundera本来是正确的选择.但在阅读了一些有关JPO,DataNucleus的帖子后,我不再确定了.对于DataNucleus,学习曲线应该是陡峭的(对于经验丰富的JPA开发人员?),我不确定,我是否应该去实现它.
我主要担心的是插件的状态.还有JDO和Datanucleus-Cassandra-Plugin的论坛支持/帮助,因为据我所知,它并没有广泛传播.
有人在那里,谁有经验,有一些framworks已经可以给我一个提示?也许混合策略也是有意义的.如果(如果存在的话)JDO不灵活/足够/不足以满足我的需求,那么回归到一个更容易的pelops或hector的API?这可能吗?是否有类似于JPA的方法来获取SQL连接和获取/放置数据?
在阅读了一下之后,我发现了以下附加信息:
Datanucleus-Cassandra-Plugin基于pelops,也可以访问以获得更大的灵活性,更高的性能(?),这应该用于具有大量数据的列族,JDO/JPA访问应仅用于"管理"数据,性能不是那么重要,数据量不是很大.
对于hector或pelops来说,这仍然是个问题.
pelops为它后来的Datanucleus-Cassandra-Plugin可扩展性,或者hector,它对节点hanldling有更多的支持.
有一种在DOS .bat/.cmd脚本中构建函数的好方法.要模块化一些安装脚本,最好将带有函数库的文件包含到.bat/.cmd脚本中.
我试过的是:
mainscript.bat
call library.bat
call:function1
Run Code Online (Sandbox Code Playgroud)
library.bat
goto:eof
:stopCalipri -- stop alle prozesse die mit calipri zu tun haben
:: -- %~1: argument description here
SETLOCAL
REM.--function body here
set LocalVar1=dummy
set LocalVar2=dummy
echo "Called function successfully :)"
(ENDLOCAL & REM -- RETURN VALUES
IF "%~1" NEQ "" SET %~1=%LocalVar1%
IF "%~2" NEQ "" SET %~2=%LocalVar2%
)
GOTO:EOF
Run Code Online (Sandbox Code Playgroud)
当我调用mainscript.bat然后我得到以下输出:Das Sprungziel - function1 wurde nicht gefunden.
或多或少意味着什么:找不到名为function1的跳转点
任何想法,或者这是不可能的?
你好,
我尝试在maven构建过程中运行main方法.因此,我将exec-maven-plugin和以下代码段添加到我的pom.xml中
<plugin>
<!-- http://www.vineetmanohar.com/2009/11/3-ways-to-run-java-main-from-maven/ -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<id>compile-reports</id>
<phase>compile</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>at.xyz.dls.util.JasperReportCompiler</mainClass>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
当我从命令行调用它时,主类存在并且也被执行:
mvn exec:java -Dexec.mainClass="at.xyz.dls.util.JasperReportCompiler"
Run Code Online (Sandbox Code Playgroud)
我还尝试创建一个空的新项目进行测试,如果pom中的其他依赖性导致问题,但没有成功.在〜/ .m2文件夹的maven settings.xml中,只有镜像条目,但没有可能导致问题的配置文件或其他任何内容.
它只是没有启动它.当我在org.codehouse下删除我的repo中的所有工件时,它没有下载exec-maven-plugin.只有当我进行命令行调用时.
任何提示?提前致谢!
编辑:我忘了提到我用过"mvn clean install".所以它应该已经通过了编译阶段......
编辑:
我做了什么:
据我所知,调用"mvn clean install"应该通过测试阶段(测试执行...),因此应该调用exec-maven-plugin,它应该执行main方法.我对吗?
D:\Eclipse-3.6.1-JSF\ws\exec-test>java -version java version "1.6.0_21" Java(TM) SE Runtime Environment (build 1.6.0_21-b07) Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)
D:\Eclipse-3.6.1-JSF\ws\exec-test>mvn -version Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200) Java version: 1.6.0_21 Java home: C:\Programme\Java\jdk1.6.0_21\jre …Run Code Online (Sandbox Code Playgroud) 我需要阅读AutoCAD导出到PDF的计划,并使用PDFBox在其上放置一些带有文本的标记.一切正常,除了计算文本的宽度,这是在标记旁边写的.
我浏览了整个PDF规范,详细阅读了处理图形和文本的部分,但无济于事.据我所知,字形坐标空间设置在用户坐标空间的1/1000.因此,宽度需要按比例增加1000,但它仍然是实际宽度的一小部分.
这就是我正在做的定位文本:
float textWidth = font.getStringWidth(marker.id) * 0.043f;
contentStream.beginText();
contentStream.setTextScaling(1, 1, 0, 0);
contentStream.moveTextPositionByAmount(
marker.endX + marker.getXTextOffset(textWidth, fontPadding),
marker.endY + marker.getYTextOffset(fontSize, fontPadding));
contentStream.drawString(marker.id);
contentStream.endText();
Run Code Online (Sandbox Code Playgroud)
*0.043f作为一个文档的近似值,但下一个文档失败.我需要重置除文本矩阵之外的任何其他变换矩阵吗?
编辑:一个完整的想法示例项目是在github与测试和示例pdfs:https://github.com/ascheucher/pdf-stamp-prototype
谢谢你的帮助!