小编fra*_*llo的帖子

在Android中无法使用XMLGregorianCalendar,即使它已被记录?

我真的无法理解这一点:看起来Android有XMLGregorianCalendar类,因为它在这里记录.但如果你继续尝试使用它,那就是你得到的:

10-27 17:21:43.677: E/AndroidRuntime(14850): Caused by: javax.xml.datatype.DatatypeConfigurationException: Provider org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl not found
10-27 17:21:43.677: E/AndroidRuntime(14850):    at javax.xml.datatype.DatatypeFactory.newInstance(DatatypeFactory.java:102)
Run Code Online (Sandbox Code Playgroud)

这发生在线上:

DatatypeFactory datatype = DatatypeFactory.newInstance();
Run Code Online (Sandbox Code Playgroud)

并且猜测一下,它应该不像这样,就像官方Android Javadoc上记录的那样.

这看起来像Android的一个不那么聪明的东西.你为什么要记录一些不能使用的东西?有没有人有这方面的解决方案,可能不包括重新包装?

w3c datetime android xml-deserialization

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

比较C#中的盒装对象

是否可以在编译时比较两个对象而不知道它们的盒装类型?例如,如果我有一个object{long}object{int},有没有办法知道盒装值是否相等?

我的方法检索两个泛型object,并且在编译时无法知道它们的内部类型是什么.现在,通过以下代码进行比较:

_keyProperties[x].GetValue(entity, null).Equals(keyValues[x])
Run Code Online (Sandbox Code Playgroud)

其中,比方说_keyProperties[x].GetValue(entity, null)是a object{long}keyValues[x]a object{int}(但也可以倒置).

我需要这个,因为我正在为我的单元测试构建一个模拟存储库,我已经开始通过包含这里描述的通用存储库实现.此实现在其Find方法中比较两个通用伪数据库键.

c# comparison types casting type-conversion

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

在IntelliJ IDEA和Gradle上调试时等待用户输入

我有最简单的Java应用程序,如果从命令行执行,它就可以工作。但是,如果我想通过IntelliJ IDEA 14 Ultimate对其进行调试,则该System.in.read()部件将始终返回-1,而无需在其中输入任何内容:

import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        System.out.println("This is a test... Hit [enter] to exit.");
        int cha = System.in.read();
        System.out.println("You hit [enter], exiting...");
    }
}
Run Code Online (Sandbox Code Playgroud)

这是Windows 8.1的某种问题还是与IntelliJ IDEA相关?

更新:我发现问题仅在通过Gradle(gradlew run)启动应用程序时才出现,所以这是Gradle的问题。这是我的build.gradle

apply plugin: 'java'
apply plugin: 'application'

sourceCompatibility = 1.7
targetCompatibility = 1.7
version = '1.0'
mainClassName = 'net.frakbot.ws.Main'

repositories {
    mavenCentral()
}

run {
    main = 'net.frakbot.ws.Main'
    standardInput = System.in …
Run Code Online (Sandbox Code Playgroud)

java intellij-idea gradle

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

从视频中删除 TextTrack

有没有一种好方法可以删除TextTrack通过 JavaScript 添加到 HTML5<video>标签的单个标签?下面的代码是如何添加轨道的简单演示,但我还没有找到删除轨道的好方法:

document.querySelector('video#myVideo').addTextTrack(...);
Run Code Online (Sandbox Code Playgroud)

html javascript html5-video media-source mpeg-dash

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

AppCompat Toolbar:从上层主题设置工具栏主题

我有一个“轻”主题的应用程序:

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    <!-- etc. -->
</style>
Run Code Online (Sandbox Code Playgroud)

我希望我的Toolbar主题是深色主题,所以我设置了以下样式,正如Chris Banes的建议:

<style name="Theme.MyTheme.Toolbar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <!-- stuff -->
</style>
Run Code Online (Sandbox Code Playgroud)

然后,通过添加android:theme="@style/Theme.ByodTheme.Toolbar"到 my android.support.v7.widget.Toolbar,一切都按预期工作(即使 Android Studio 预览不显示标题的白色,它也适用于设备):

主题的常规应用

现在,我不想在应用程序中指定每个工具栏,而是android:theme想在主主题中指定样式,然后忘记它。我已经尝试过该toolbarStyle属性,但看起来它没有按预期工作,因为它完全搞乱了标准属性:

尝试使用toolbarStyle

我还进行了其他尝试,通过使工具栏主题继承Widget.AppCompat.Toolbar,并通过更改titleTextAppearancesubtitleTextAppearance,但看起来不可能更改溢出图标颜色(是的,我尝试设置actionOverflowButtonStyle并继承该样式Widget.AppCompat.ActionButton.Overflow,但没有成功更改溢出图标颜色)。

有没有办法从一个点指定应用程序中每个工具栏的主题?

android android-appcompat android-theme material-design android-toolbar

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

Gradle 使用具有依赖项的插件抛出 ClassNotFoundException

ClassNotFoundException在同一根文件夹中的项目中使用带有编译依赖项的 Gradle 插件时,我遇到了s。

目录结构相当简单,有一个插件和将使用它的项目:

    • buildSrc
    • demo-project

build.gradlebuildSrc如下:

apply plugin: 'groovy'

sourceCompatibility = 1.6

repositories {
    mavenCentral()
}

dependencies {
    compile gradleApi()
    compile localGroovy()

    compile 'org.apache.commons:commons-configuration2:2.0'
    compile 'commons-beanutils:commons-beanutils:1.9.2'
}
Run Code Online (Sandbox Code Playgroud)

插件本身构建正确。

将插件应用到 my 时demo-project,该afterEvaluate部分失败,因为它找不到commons-configuration2依赖项(因此插件执行,而不是在有罪的行上失败):

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':demo-project'.
> java.lang.ClassNotFoundException: org.apache.commons.configuration2.PropertiesConfiguration
Run Code Online (Sandbox Code Playgroud)

只是为了完成我的问题,这是build.gradle我的demo-project

apply plugin: 'java'
apply plugin: 'com.sample.myplugin'

thisIsMyPluginConfiguration {
    something = 'here'
} …
Run Code Online (Sandbox Code Playgroud)

apache-commons gradle apache-commons-config gradle-plugin

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

无法实例化活动ComponentInfo

我正在为Froyo开发一个应用程序作为最低版本,而Gingerbread作为目标版本.所以,清单显示:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="10"/>
Run Code Online (Sandbox Code Playgroud)

我有一个模拟器和一个带姜饼的Nexus One,应用程序正确部署和安装.但是当它启动时,它会崩溃,并且日志中抛出的错误是:

09-18 06:35:11.240: ERROR/AndroidRuntime(382): FATAL EXCEPTION: main
09-18 06:35:11.240: ERROR/AndroidRuntime(382): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.my.package/com.my.package.Dashboard}: java.lang.ClassNotFoundException: com.my.package.Dashboard in loader dalvik.system.PathClassLoader[/data/app/com.my.package-2.apk]
09-18 06:35:11.240: ERROR/AndroidRuntime(382):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
09-18 06:35:11.240: ERROR/AndroidRuntime(382):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
09-18 06:35:11.240: ERROR/AndroidRuntime(382):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
09-18 06:35:11.240: ERROR/AndroidRuntime(382):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
09-18 06:35:11.240: ERROR/AndroidRuntime(382):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-18 06:35:11.240: ERROR/AndroidRuntime(382):     at android.os.Looper.loop(Looper.java:130)
09-18 06:35:11.240: ERROR/AndroidRuntime(382):     at android.app.ActivityThread.main(ActivityThread.java:3683)
09-18 06:35:11.240: ERROR/AndroidRuntime(382):     at java.lang.reflect.Method.invokeNative(Native Method)
09-18 06:35:11.240: ERROR/AndroidRuntime(382):     at java.lang.reflect.Method.invoke(Method.java:507)
09-18 06:35:11.240: ERROR/AndroidRuntime(382):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): …
Run Code Online (Sandbox Code Playgroud)

eclipse android adt android-emulator android-version

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

更改ASP .NET MVC 4 WebAPI序列化(XML/JSON)的内部对象名称

我正在使用新的Microsoft MVC 4 ApiController类和WebAPI构建RESTful Web服务.我有一个Person类:

public class Person
{
    public string surname { get; set; }
    public string name{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

并且默认的HTTP GET方法有效,返回以下内容:

<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <surname>John</surname>
    <name>Titor</name>
</Person>
Run Code Online (Sandbox Code Playgroud)

我现在需要一个注释集,它允许我更改默认的内部对象的名称,例如我想要更改surnamemsurname.我尝试添加以下内容:

[XmlElement("msurname")]
Run Code Online (Sandbox Code Playgroud)

注释,但只有Accept在我的请求的标题包含application/xml(当然)时才有效.我已经尝试并使用了[DataMember]注释,完全被忽略了.

是否有一个注释集我可以在WebAPI中使用这个ApiController来序列化为XML和JSON格式?谢谢.

编辑:更正,如果我使用[DataMember][DataContract]注释,我得到了JSON序列化所需的行为,但不是XML.如果我使用相反的事情[XmlElement].

rest json xml-serialization asp.net-mvc-4 asp.net-web-api

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

无法从rhcloud.com应用程序URL访问Openshift上的NodeJS应用程序

我已经在Openshift上部署了一个正常运行的NodeJS REST服务(使用Restify构建),因为我可以读取日志:

listening at http://127.2.188.1:8080
Run Code Online (Sandbox Code Playgroud)

我使用了通常的环境参数来绑定IP和端口:

vars.ipaddress = process.env.OPENSHIFT_NODEJS_IP;
vars.port = process.env.OPENSHIFT_NODEJS_PORT || '8080';
Run Code Online (Sandbox Code Playgroud)

事实上,如果我在登录时调用我的REST服务ssh,我会得到正确的响应:

curl http://127.2.188.1:8080/something/1337
Run Code Online (Sandbox Code Playgroud)

如果我/something/1337在我的应用程序(http://myapp-myusername.rhcloud.com)的公共URL上调用相同的端点(),我会得到一个503, No server is available to handle this request.

由于我的应用程序已缩放,可能是一些配置问题,如果是,我该如何解决?

node.js openshift restify

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

当Activity关闭并重新打开时,避免服务回调

我有一个LocalService,它使用一些API公开Binder.我创建了一个Service Listener,就像这样:

if (dataServiceListener == null) {
    dataServiceListener = new DataServiceListener();
    mainActivity.getApplicationContext().bindService
        (new Intent(mainActivity, LocalService.class),
        dataServiceListener.svcConn, mainActivity.BIND_AUTO_CREATE);
}
Run Code Online (Sandbox Code Playgroud)

我打电话的方法后BinderdataServiceListener公开,我得到的回应dataServiceListener onResult()方法.到目前为止,没有任何问题,一切正常.当我关闭等待Service Listener回调的Activity并立即重新打开它时,会出现某种问题.即使我再实例化dataServiceListeneronCreate(),我得到两个回调,而不是一个,老一从破坏活动,而后者(右)一个; 这样结果就会在UI上混淆.有没有办法告诉服务或服务侦听器,当活动结束时,必须避免回调.或者甚至可能破坏ServiceListener对象.

我认为这是Mark L. Murphy(Commonsware)在"繁忙的编码器Android开发指南"中描述的问题:

最大的问题是确保活动在完成后收回监听器.

我怎样才能做到这一点?有没有办法在活动结束时摆脱无用的听众?

谢谢!

android listener android-service android-binder

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

如何在JQuery Mobile Web应用程序中使用AJAX哈希深层链接

我想实现一个AJAX导航系统,如GMail或类似的网络应用程序.例如,我有一个root store,并且必须通过深层链接在JavaScript中处理所有导航.几个例子:

store/#/movies/star-wars
store/#/books/authors/tolkien
Run Code Online (Sandbox Code Playgroud)

等等.我刚刚开始使用PathJS,它提供了一种简单的地址路由机制.

我遇到的问题是JQuery Mobile会自动#从URL地址栏中删除我的哈希字符,然后store/#/movies/star-wars变成store/movies/star-wars.

我需要地址路由以保存应用程序状态,允许书签等.我可以使用任何解决方案吗?

jquery routing url-routing jquery-mobile

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