小编loe*_*chg的帖子

在Grails中选择深层或浅层JSON序列化

有没有办法轻松指定是以深度还是浅度方式将对象转换为JSON?我知道您可以通过指定以下内容来配置Config.groovy文件中的grails.converters.JSON实用程序:

grails.converters.json.default.deep = true
Run Code Online (Sandbox Code Playgroud)

但是当我转换某些对象时,我不想深度转换.

我也看到有人推荐使用JSON.use("deep"),但是我收到以下错误:

Error 2012-03-04 00:39:13,673 ["http-bio-8080"-exec-1] ERROR errors.GrailsExceptionResolver  - IllegalAccessException occurred when processing request: [GET] /Quaffic/home/json
Class org.codehaus.groovy.grails.web.converters.marshaller.json.GenericJavaBeanMarshaller can not access a member of class org.joda.time.tz.DateTimeZoneBuilder$PrecalculatedZone with modifiers "public". Stacktrace follows:
Message: Class org.codehaus.groovy.grails.web.converters.marshaller.json.GenericJavaBeanMarshaller can not access a member of class org.joda.time.tz.DateTimeZoneBuilder$PrecalculatedZone with modifiers "public"
   Line | Method
->> 198 | value          in grails.converters.JSON
Run Code Online (Sandbox Code Playgroud)

看起来它可能是一个joda.time错误,但当我只使用简单的Config.groovy技术时,这不会发生.有点令人困惑......

任何帮助都会很棒!

grails json

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

为什么需要将活动/服务明确添加到Android清单?

在Android开发中,您必须将所有活动和/或服务添加到清单文件中.我知道如何做到这一点,但我不明白为什么我需要这样做.跳过这似乎是一个不必要的箍.

Android文档有帮助,但我仍然不清楚"为什么"(http://developer.android.com/guide/topics/manifest/manifest-intro.html).

service android android-manifest android-activity

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

是否可以使用Google的新融合位置提供商模拟位置?

是否有可能让FakeGPS等应用程序与新的融合位置提供商(Google Play服务)合作?

我相信这是问题所在:

09-20 17:18:41.842  21753-21809/? W/LocationManager? java.lang.IllegalArgumentException: Incomplete location object, missing timestamp or accuracy? Location[gps 32.899542,-100.165065 acc=1 et=?!? alt=65.0]
        at android.location.LocationManager.setTestProviderLocation(LocationManager.java:1218)
        at com.lexa.fakegps.FakeGPSProvider.run(FakeGPSProvider.java:75)
Run Code Online (Sandbox Code Playgroud)

android location location-provider

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

如何对具有View Animators的Android代码进行单元测试?

我有一个实例,其中显示和隐藏了几个按钮,具体取决于ViewPager中的哪个页面正在显示.使用Animators显示和隐藏.有没有办法检查/延迟单元测试,直到完成为止?

我正在使用Robolectric,因为这可能是相关的.我试着打电话,Robolectric.runUiThreadTasksIncludingDelayedTasks();但这似乎没有解决任何问题.

动画代码如下:

public static void regularFadeView(final boolean show, final View view) {
    view.animate()
            .setInterpolator(mDecelerateInterpolator)
            .alpha(show ? 1 : 0)
            .setListener(new SimpleAnimatorListener() {
                @Override
                public void onAnimationStart(Animator animation) {
                    if (show) view.setVisibility(View.VISIBLE);
                }

                @Override
                public void onAnimationEnd(Animator animation) {
                    if (!show) view.setVisibility(View.INVISIBLE);
                }
            })
            .start();
}
Run Code Online (Sandbox Code Playgroud)

android unit-testing robolectric objectanimator

4
推荐指数
2
解决办法
2896
查看次数

在ACTION_MOVE之后,如何让我的视图停止听取触摸事件?

我有一个按钮,我按下按钮动画.我希望它在超出某个阈值之后快速恢复到"正常"状态.

我创建了一个视图边界的矩形,ACTION_DOWN并检查它是否在触摸区域之外ACTION_MOVE.我成功地检测到了"越界"的触摸,但我无法让视图停止听触摸.这就像它忽略了我的animateToNormal()方法.

我已经尝试将布尔返回值更改为true而不是false,这没有帮助.我也尝试在ACTION_MOVE案例中删除触摸侦听器(设置为null),但我需要重新连接以继续听触摸.我想我可以在添加它之前添加一个任意延迟,但这似乎是一个可怕的黑客.

我正在4.2设备(LG G2)上进行测试.

private static class AnimationOnTouchListener implements View.OnTouchListener {
        private Rect rect;

        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {

            switch(motionEvent.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    rect = new Rect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
                    animatePressed();
                    return false;

                case MotionEvent.ACTION_CANCEL:
                case MotionEvent.ACTION_UP:
                    // back to normal state
                    animateBackToNormal();
                    return false;

                case MotionEvent.ACTION_MOVE:
                    if(!rect.contains(view.getLeft() + (int) motionEvent.getX(), view.getTop() + (int) motionEvent.getY())){
                        d(TAG, "out of bounds");
                        animateBackToNormal();
                        // STOP LISTENING TO MY TOUCH EVENTS!

                    } else { …
Run Code Online (Sandbox Code Playgroud)

android ontouchlistener android-animation

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

更改上下文操作栏复选标记/完成可绘制?

有没有一种很好的方法可以在不创建整个Action Bar的自定义视图的情况下更改Context Action Bar checkmark drawable?

情境行动吧

android android-ui android-actionbar contextual-action-bar

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

如何通过xml为自定义视图传递gravity属性?

我试图弄清楚如何android:gravity通过xml 传递自定义视图.

此处发布的解决方案(/sf/answers/240939051/)表示要将该android:gravity属性添加到其他attr的.

当我这样做时,我最后会发出警告:

/Users/greg/dev/company/mobile/my_app/app/src/main/res/values/colors.xml

错误:属性"android:gravity"已经定义错误:任务':app:processStagingDebugResources'的执行失败.

com.android.ide.common.internal.LoggedErrorException:无法运行命令:/Users/greg/dev/android-sdk/sdk/build-tools/21.0.2/aapt package -f --no-crunch -I /用户/ greg/dev/android-sdk/sdk/platforms/android-21/android.jar -M/Users/greg/dev/company/mobile/myapp/app/build/intermediates/manifests/full/staging/debug/AndroidManifest.xml -S/Users/greg/dev/company/mobile/myapp/app/build/intermediates/res/staging/debug -A/Users/greg/dev/company/mobile/myapp/app/build/intermediates/assets/staging/debug -m -J/Users/greg/dev/company/mobile/myapp/app/build/generated/source/r/staging/debug -F/Users/greg/dev/company/mobile/myapp/app/build/intermediates/res/resources-staging-debug.ap_ --debug-mode --custom-package com.company.vendorreviews -0 apk --output-text-symbols/Users/greg/dev/company/mobile/myapp/app/build/intermediates/symbols/staging/debug错误代码:1输出:/Users/greg/dev/company/mobile/myapp/app/build/intermediates/res/staging/debug/values/values.xml :165:错误:属性"andr oid:gravity"已经定义了

我的colors.xml文件?

values.xml的第165行是

<declare-styleable name="StackedTextView">
    <attr format="integer" name="android:gravity"/>
    <attr format="string" name="line1"/>
    <attr format="string" name="line2"/>
    <attr format="dimension" name="line1_textSize"/>
    <attr format="dimension" name="line2_textSize"/>
</declare-styleable>
Run Code Online (Sandbox Code Playgroud)

在多个组中有多次出现android:gravity.主题,FlowLayout(包含库),LinearLayoutCompat等.

编辑:更新的错误消息.

android android-custom-view android-xml

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

了解数据流和多个订户(使用改造)

假设我有两个基本上是网络调用的Observable(A和B)(使用Retrofit来提供上下文).

该应用程序的当前流程如下:

  • A&B大约在同一时间(异步)开始.
  • B在用户交互上执行0次或更多次

鉴于这2个observables/api调用,我有3个不同的场景我想听.

  1. 我想在Observable A完成时立即知道
  2. 我想在Observable B完成时立即知道
  3. 我想知道两者何时完成

首先,这是RxJava的一个很好的用例吗?

我知道如何单独完成每个场景(使用zip最后一个),虽然我不知道如何同时完成所有这些场景.

如果我订阅Observable A,A开始.如果我订阅B,B开始.如果A&B在我订阅zip(a,b)之前完成,我可能会错过这个活动,从来没有真正看到这个完整,对吧?

任何一般指导将不胜感激.我的RxJava知识非常薄:P

android rx-java retrofit rx-android

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

java.net.ProtocolException:意外的状态行:HTTP /1.1422 UnprocessableEntity

我正在使用Retrofit + Okhttp发出POST请求,我遇到了以下错误:

02-05 04:45:13.981  15972-16249/com.myapp.android D/Retrofit? ---> HTTP POST http://10.0.0.4:3000/api/v1/users/1/posts
02-05 04:45:13.981  15972-16249/com.myapp.android D/Retrofit? Accept: application/json
02-05 04:45:13.981  15972-16249/com.myapp.android D/Retrofit? Content-Type: application/json; charset=UTF-8
02-05 04:45:13.981  15972-16249/com.myapp.android D/Retrofit? Content-Length: 150
02-05 04:45:13.981  15972-16249/com.myapp.android D/Retrofit? {"description":"test","image_url":"https://s3.amazonaws.com/bucket/xxx-4800-b0e0-fc206f95f158.jpeg","title":"test","price":0.0,"user_id":0}
02-05 04:45:13.981  15972-16249/com.myapp.android D/Retrofit? ---> END HTTP (150-byte body)
02-05 04:45:14.001  15972-15972/com.myapp.android W/EGL_genymotion? eglSurfaceAttrib not implemented
02-05 04:45:14.017  15972-16249/com.myapp.android D/Retrofit? ---- ERROR http://10.0.0.4:3000/api/v1/users/1/posts
02-05 04:45:14.017  15972-16249/com.myapp.android D/Retrofit? java.net.ProtocolException: Unexpected status line: HTTP/1.1 422??Unprocessable Entity
            at com.squareup.okhttp.internal.http.StatusLine.parse(StatusLine.java:73)
            at com.squareup.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:187)
            at com.squareup.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:80)
            at com.squareup.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:791)
            at com.squareup.okhttp.internal.http.HttpEngine.access$200(HttpEngine.java:90)
            at …
Run Code Online (Sandbox Code Playgroud)

android retrofit okhttp

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

自定义工具栏开头不需要的填充/边距

我有一个相当复杂的自定义工具栏 (android.support.v7.widget.Toolbar),它是通过 xml 创建的:

(例如简化的例子)

<android.support.v7.widget.Toolbar>
   <ImageView/>
   <TextView/>
 </android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

这很好用,除非我最终在我的 ImageView 的左边有边距/填充。toolbar.setNavigationIcon(null)不会改变任何东西。更改填充和边距似乎没有任何作用。我不确定这是从哪里来的。

我该如何摆脱这个?

带有间距示例的工具栏

android android-toolbar androiddesignsupport

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