小编kku*_*udi的帖子

Jasmine spies callThrough和callFake

我有一种情况,其中我想打电话给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)

javascript jasmine angularjs

14
推荐指数
1
解决办法
2万
查看次数

如何比较mybatis 3中的字符串和if语句 - 动态sql

在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中很直接.

ibatis mybatis

9
推荐指数
1
解决办法
3万
查看次数

Android - 活动外的startActivityForResult?

我有一个包装类(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即将被调用时,我似乎得到了一个N​​ullPointerException.

我认为这是因为我需要添加一个onCreate()/ onDestroy()方法,但这违背了我正在做的目的,因为我需要能够在实例化该类的服务中调用BluetoothDiscoverer对象上的方法.

我还需要注册广播接收器,以便在启动扫描时检索相邻设备.如果BluetoothDiscoverer类不是Activity,我该如何注册此接收器?

有没有解决这个问题?

谢谢安德烈亚斯

service android bluetooth android-activity

7
推荐指数
1
解决办法
9896
查看次数

java - 使用正则表达式拆分字符串

我需要在有逗号的地方拆分一个字符串,但它取决于逗号的放置位置.

举个例子

考虑以下:

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).

有办法做到这一点吗?

java regex string split

7
推荐指数
1
解决办法
6129
查看次数

maven-release-plugin和maven 3.0.3

我正在使用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不是这种情况.

maven-3 maven maven-release-plugin

6
推荐指数
1
解决办法
1435
查看次数

在unix重定向之前在log4j中捕获stderr和stdout

我在我的应用程序中使用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 log4j stdout stderr

6
推荐指数
2
解决办法
6101
查看次数

jms如何与tibco合作?

我有一个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包装?

tibco jms tibco-ems

6
推荐指数
1
解决办法
4045
查看次数

检查我的应用程序的通知是否正在运行

有没有办法以编程方式检查我的应用程序的通知当前是否正在运行(如图所示)?

也就是说NotificationManager.notify()被调用了。

java notifications android

5
推荐指数
1
解决办法
1万
查看次数

android - FileExplorer eclipse作为root

我有一个根源Nexus One,当我在终端上发出以下命令时,我能够查看我正在开发的应用程序的数据库.

adb shell
su 
cd data/data/.../databases/
sqlite3 events.db
Run Code Online (Sandbox Code Playgroud)

现在这工作正常,但我希望能够拉动文件并使用gui SQLITE应用程序/浏览器查看它(例如Firefox插件)

我曾经能够使用FileExplorer从Eclipse访问数据文件夹,但它突然停止工作,我只是想知道是否有办法再次这样做..

谢谢

eclipse sqlite android root ddms

4
推荐指数
1
解决办法
5978
查看次数

在嵌套 for 循环中的 shell 脚本中运行 shell 脚本

大家好,我有一个简单的脚本,它在嵌套的 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)

谢谢安德烈亚斯

shell scripting loops

3
推荐指数
1
解决办法
3885
查看次数

android - 每10分钟获得一次亮度

我的应用程序需要在其后台服务中具有更新的亮度值(延迟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)

android timer sensor listener light

0
推荐指数
1
解决办法
2052
查看次数

kdb - 如何将十六进制颜色代码生成为字符串或符号

我想在内存表上创建一列,该列根据人名(另一列)生成颜色十六进制代码。一个快速的谷歌并没有给出太多,所以想知道是否可以在这里给出任何指示。例如

update colour: <some code and use username col as input> from table
Run Code Online (Sandbox Code Playgroud)

kdb

-3
推荐指数
1
解决办法
178
查看次数