我有一种情况,其中我想打电话给done()在beforeEach回调已被调用后.
我尝试按如下方式执行此操作:
spyOn(scope, 'onAdmin').and.callThrough().and.callFake(function(){done()})
Run Code Online (Sandbox Code Playgroud)
但我不确定我是否得到了正确的行为.基本上我想要实现的是能够done()在每次回调完成之后调用它所做的事情.
更新:解决方案
scope.onAdminBackup = scope.onAdmin;
spyOn(scope, 'onAdmin').and.callFake(function(admin) {
scope.onAdminBackup();
done() ;
})
Run Code Online (Sandbox Code Playgroud) 在myBatis 3中,如何在使用动态sql时比较字符串?
以前使用iBatis可以执行以下操作:
<isEqual property="sortBy" compareValue="portfolio_id">order by p.portfolio_id</isEqual>
Run Code Online (Sandbox Code Playgroud)
现在使用myBatis可以执行以下操作:
<if test="sortBy.equals('facility_id')">
order by pd.facility_id
</if>
Run Code Online (Sandbox Code Playgroud)
sortBy是参数map中的属性,"facility_id"是值
我有点困惑,因为它在ibatis中很直接.
我有一个包装类(BluetoothDiscoverer),它在服务中实例化.此类获取BluetoothAdapter并在扫描相邻设备之前检查是否启用了蓝牙.
现在,如果未启用蓝牙,我希望能够在此类(BluetoothDiscoverer)中执行以下操作:
Intent enableBluetoothIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBluetoothIntent, BLUETOOTH_ENABLER);
Run Code Online (Sandbox Code Playgroud)
现在我已经读过这个:从非活动中使用startActivityForResult
但是我不想将我的主要活动传递给这个对象,因为我想在BluetoothDiscoverer类中处理结果(用户是否接受启用蓝牙).
现在如果我使BluetoothDiscoverer成为Activity的子类
当startActivityForResult即将被调用时,我似乎得到了一个NullPointerException.
我认为这是因为我需要添加一个onCreate()/ onDestroy()方法,但这违背了我正在做的目的,因为我需要能够在实例化该类的服务中调用BluetoothDiscoverer对象上的方法.
我还需要注册广播接收器,以便在启动扫描时检索相邻设备.如果BluetoothDiscoverer类不是Activity,我该如何注册此接收器?
有没有解决这个问题?
谢谢安德烈亚斯
我需要在有逗号的地方拆分一个字符串,但它取决于逗号的放置位置.
举个例子
考虑以下:
C=75,user_is_active(A,B),user_is_using_app(A,B),D=78
Run Code Online (Sandbox Code Playgroud)
我希望String.split()函数将它们分开:
C=75
user_is_active(A,B)
user_using_app(A,B)
D=78
Run Code Online (Sandbox Code Playgroud)
我只能想到一件事,但我不确定它是如何在正则表达式中表达的.
括号内的字符/单词总是大写的.换句话说,我不会有这样的情况user_is_active(a,b).
有办法做到这一点吗?
我正在使用maven发布插件来执行以下maven-3.0.3
mvn发布:准备
一切似乎都很顺利,除了它在SVN中创建标签时,它会使用正确的标签从tags文件夹复制以前的版本.有什么想法吗?
如果我切换回maven-2.2.1,标记是正确的,标记的内容是预期的.
使用Maven 2.2.1:
[INFO] Tagging release with the label crcib-6.8.5...
[INFO] Executing: cmd.exe /X /C "svn --non-interactive copy --file c:\DOCUME~1\markand\LOCALS~1\Temp\maven-scm-1593649573.commit . <url>/svn/repos/crcib/tags/crcib-6.8.5"
Run Code Online (Sandbox Code Playgroud)
使用Maven 3.0.3:
[INFO] Tagging release with the label crcib-6.8.5...
[INFO] Executing: cmd.exe /X /C "svn --non-interactive copy --file c:\DOCUME~1\markand\LOCALS~1\Temp\maven-scm-2047728233.commit --revision 6331 <url>/svn/repos/crcib/tags/crcib-6.8.2 <url>/svn/repos/crcib/tags/crcib-6.8.5"
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?此外,似乎在使用Maven 2时,在标记开始之前正在下载几个工件.Maven 3不是这种情况.
我在我的应用程序中使用log4j来记录具有不同日志级别的某些包.
但是,stderr和stdout似乎没有在此日志文件中捕获,而是在应用程序启动时将它们打印在文件中
java AppName >> out.log
Run Code Online (Sandbox Code Playgroud)
是否有可能在log4j中捕获stdout和stderr(例如stdout作为info和stderr作为WARN/ERROR)以及out.log文件?
log4j的设置如下:
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="FileAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${MDCapture.logfile.dir}/${APP_NAME}.log"/>
<param name="BufferedIO" value="false"/>
<param name="DatePattern" value="'.'yyyy-MMM-dd"/>
<layout class="org.apache.log4j.TTCCLayout">
<param name="DateFormat" value="ISO8601"/>
</layout>
</appender>
<appender name="AsyncAppenders" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="FileAppender"/>
</appender>
<!-- LOGGER PACKAGES -->
<root>
<priority value="info"/>
<appender-ref ref="AsyncAppenders"/>
</root>
</log4j:configuration>
Run Code Online (Sandbox Code Playgroud)
更新:
Stackoverflow错误的Stacktrace:
WARN root buffer size limit:65log4j:WARN root buffer size limit:65Exception in thread "Thread-12"
2013-03-22 09:14:24,451 [Thread-12] ERROR root - java.lang.StackOverflowError
2013-03-22 09:14:24,452 [Thread-12] ERROR root - at java.io.BufferedWriter.write(BufferedWriter.java:202)
2013-03-22 09:14:24,452 [Thread-12] ERROR root …Run Code Online (Sandbox Code Playgroud) 我有一个Java应用程序订阅JMS主题应用程序,偶尔会出现以下异常:
javax.jms.JMSException: Connection has been terminated
at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:470)
at com.tibco.tibjms.TibjmsConnection._onDisconnected(TibjmsConnection.java:1946)
at com.tibco.tibjms.TibjmsxLinkTcp$LinkReader.work(TibjmsxLinkTcp.java:314)
at com.tibco.tibjms.TibjmsxLinkTcp$LinkReader.run(TibjmsxLinkTcp.java:250)
Run Code Online (Sandbox Code Playgroud)
在这段代码被触及2年后,我已经把这段代码交给了我.我的JMS知识非常有限.它是maven-ized,但它没有任何参考任何tibco库.我试图了解在代码库中没有tibco参考时如何获得tibco异常?
但我确实看到一个名为LD_LIBRARY_PATH的系统变量集,它指向一些tibco库.
有经验的JMS可以了解一下这里可能发生的事情吗?搜索代码库显示没有tibco导入,只有javax.jms.
它们是否有可能使用jni或其他东西用LD_LIBRARY_PATH包装?
有没有办法以编程方式检查我的应用程序的通知当前是否正在运行(如图所示)?
也就是说NotificationManager.notify()被调用了。
我有一个根源Nexus One,当我在终端上发出以下命令时,我能够查看我正在开发的应用程序的数据库.
adb shell
su
cd data/data/.../databases/
sqlite3 events.db
Run Code Online (Sandbox Code Playgroud)
现在这工作正常,但我希望能够拉动文件并使用gui SQLITE应用程序/浏览器查看它(例如Firefox插件)
我曾经能够使用FileExplorer从Eclipse访问数据文件夹,但它突然停止工作,我只是想知道是否有办法再次这样做..
谢谢
大家好,我有一个简单的脚本,它在嵌套的 for 循环中执行另一个脚本
我的问题是,虽然双 for 循环在没有添加需要在每次迭代中运行的脚本的情况下执行良好,但如果我添加脚本,则执行仅发生一次。
任何想法为什么?
for ((i = 0; i<10; i++))
do
echo "outer forloop $i"
for ((j = 0; j<6; j++))
do
exec ./run.sh
done
done
Run Code Online (Sandbox Code Playgroud)
谢谢安德烈亚斯
我的应用程序需要在其后台服务中具有更新的亮度值(延迟10-15分钟或其他东西)(这不是商业应用程序)....
我知道如何使用SensorEventListener和SensorManager检索灯值,但是在API文档中明确说明如果你不需要它时取消注册监听器,它将在几个小时内耗尽你的电池.
现在我的问题是......我怎样才能使用侦听器和传感器管理器每10-15分钟检索一个亮度值?
我可以使用类似下面的东西,每隔10-15分钟运行一次这个任务吗?
private TimerTask lightSensorTimer = new TimerTask() {
@Override
public void run() {
if (sensorManager != null) {
Sensor lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
if (lightSensor != null) {
sensorManager.registerListener(sensorListener, lightSensor, SensorManager.SENSOR_DELAY_NORMAL);
while (newLightLevel == lightLevel) {
try {
**Thread.sleep(1000);**
} catch (InterruptedException e) {
Log.e(TAG, "Interrupted exception in lightsensor timer: " + e.getMessage());
}
}
PhoneEvents.this.lightLevel = PhoneEvents.this.newLightLevel;
sensorManager.unregisterListener(sensorListener, lightSensor);
}
}
}
};
Run Code Online (Sandbox Code Playgroud)
sensoreventlistener除此之外什么都不做:
private SensorEventListener sensorListener = new SensorEventListener() {
public void onSensorChanged(SensorEvent event) {
if …Run Code Online (Sandbox Code Playgroud) 我想在内存表上创建一列,该列根据人名(另一列)生成颜色十六进制代码。一个快速的谷歌并没有给出太多,所以想知道是否可以在这里给出任何指示。例如
update colour: <some code and use username col as input> from table
Run Code Online (Sandbox Code Playgroud) android ×4
java ×3
angularjs ×1
bluetooth ×1
ddms ×1
eclipse ×1
ibatis ×1
jasmine ×1
javascript ×1
jms ×1
kdb ×1
light ×1
listener ×1
log4j ×1
loops ×1
maven ×1
maven-3 ×1
mybatis ×1
regex ×1
root ×1
scripting ×1
sensor ×1
service ×1
shell ×1
split ×1
sqlite ×1
stderr ×1
stdout ×1
string ×1
tibco ×1
tibco-ems ×1
timer ×1