我有一个Ember.ArrayController没有未分类的内容.
我想知道是否可以在不使用新属性的情况下对ArrayController的内容进行排序.
我当然可以创建一个新属性:
App.MyArrayController = Em.ArrayController.extend({
mySortMethod: function(obj1, obj2) {
// some code here
},
updateSortedContent: function() {
var content = this.get('content');
if (content) {
var sortedContent = content.copy();
sortedContent.sort(this.mySortMethod);
this.set('sortedContent', sortedContent);
}
}.observes('content')
});
Run Code Online (Sandbox Code Playgroud)
但我希望有一种更好的方法不会重复内容.
我在Android中进行单元测试时遇到问题.
我的对象MyObject有一个start()这样的方法:
public void start() {
final Handler onStartHandler = new Handler();
new Thread() {
@Override
public void run() {
super.run();
onStartHandler.post(new Runnable() {
@Override
public void run() {
mIsRunning = true;
onStart();
}
});
}
}.start();
}
Run Code Online (Sandbox Code Playgroud)
我想测试onStart()是否被调用.所以我尝试了类似的东西:
public void testOnStartIsCalled() {
assertFalse("onStart() should not be called", mMyObject.isRunning());
mMyObject.start();
assertTrue("onStart() should be called", mMyObject.isRunning());
mMyObject.stop();
assertFalse("onStop() should be called", mMyObject.isRunning());
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我想这是因为它在Handler和一个新线程中.
我的测试类扩展了AndroidTestCase.我该怎么办 ?这种情况的最佳做法是什么?
问候.
我有一个Ember.Mixin观察其中一个属性(这里bar.baz).
我已经扩展了这个Mixin并bar.baz在.create()参数中设置,但我的观察者没有被调用.
这是我的代码:
App.FooMixin = Ember.Mixin.create({
barBazDidChange: function() {
console.log('barBazDidChange'); // never called
}.observes("bar.baz")
});
App.Foo = Ember.Object.extend(App.FooMixin);
App.fooObject = App.Foo.create({
bar: Ember.Object.create({
baz: "ember"
})
});?
Run Code Online (Sandbox Code Playgroud)
和相关的jsfiddle:http://jsfiddle.net/aMQmn/
我当然可以在init()下面的方法中调用观察者,但我想知道是否有更好的解决方案(或者如果这个解决方案是正确的方法):
App.FooMixin = Ember.Mixin.create({
init: function() {
this._super();
if (this.getPath('bar.baz')) {
this.notifyPropertyChange('bar.baz');
}
}
});
Run Code Online (Sandbox Code Playgroud) 什么.net程序集可用于在Windows Mobile 5.0上播放mp3文件?
我没有成功使用Windows Media Player组件.
请在答案中提供一个示例.
我已经下载了Oracle快捷11克版并安装that.Now我想将它从Java应用程序连接.这是我的连接代码: -
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:example", "example","password123");
Run Code Online (Sandbox Code Playgroud)
但是当我试图连接它时,它会向我显示以下异常.
java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:228)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at javaapplication3.JavaApplication3.main(JavaApplication3.java:40)
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试连接"xe"数据库时,它已连接.
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "example","password123");
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会这样?请给我一些参考或提示.
我想知道这是否可以在不使用子查询的情况下获得与以下请求相同的结果:
SELECT p1.id
FROM products p1
WHERE NOT p1.id IN (
SELECT p2.id
FROM products p2
JOIN product_translations t
ON t.product_id = p2.id
AND t.locale = 'fr'
);
Run Code Online (Sandbox Code Playgroud)
如您所见,products一行可以有很多product_translations行 (0..n)。
预期结果只能是没有product_translationslocale 的产品fr。
ember.js ×2
android ×1
arrays ×1
c# ×1
connection ×1
handler ×1
java ×1
mysql ×1
oracle ×1
postgresql ×1
sorting ×1
sql ×1
unit-testing ×1