小编Mic*_*udy的帖子

如何删除TextView上边距?

我确实遇到了问题TextView.我不希望它上面有任何边距/填充.

<TextView android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:id="@+id/ptp_hour"
          android:textColor="@color/black"
          android:textSize="100dp"
          android:height="100dp"
          android:layout_marginTop="0dp"
          android:paddingTop="0dp"
          android:includeFontPadding="false"
          android:maxLines="1"
          android:text="10"/>
Run Code Online (Sandbox Code Playgroud)

TextView看起来像这样,尽管textSizeheight设置为相同的值,字体上方有一个空格.这让我感到困扰,因为我想把另一个视图放在相对于字体的顶部.这个间距是否包含在字体本身中?

RelativeLayout中的TextView

还有一个问题:如果我发现距离顶部20dp和底部7dp的余量在我的设备上完美运行,我可以依赖它在其他屏幕上的表现方式相似吗?(这些边距适用于按钮)

android margin textview

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

匿名类和父类之间的循环依赖是否错误?

我有以下代码片段:

public class Example {

private Integer threshold;

private Map<String, Progress> history;

protected void activate(ComponentContext ctx) {
    this.history = Collections.synchronizedMap(new LinkedHashMap<String, Progress>() {
        @Override
        protected boolean removeEldestEntry(Map.Entry<String, Progress> entry) {
            return size() > threshold;
        }
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

Theres是匿名LinkedHashMap类和Example类之间的循环依赖.这样可以吗?为什么不?它会被垃圾收集器很好地收回吗?

java anonymous-inner-class anonymous-class cyclic-reference

25
推荐指数
2
解决办法
1689
查看次数

如何在Karaf上使用频繁的本地快照包部署?

我决定在OSGI和Karaf之上构建一个应用程序 - 我真的很喜欢这个东西.但是,我在本地开发机器上进行日常部署时遇到了一些困难.我的意思是..我做了一个改变,然后我想在我当地的Karaf实例上进行测试.它可能发生在每小时几次.

我现在这样做的方式是创建一个JAR包的maven构建,然后将其复制到Karaf的deploy目录中.我认为它根本不优雅.

我试图寻找一种方法(谷歌).我读到了Karaf的功能,但似乎尽管它是一个很好的机制来部署整个应用程序,但它并没有解决我的问题.据我所知,它不会检查我的SNAPSHOT jar的新版本是否出现在我当地的maven回购中,对吗?

osgi maven apache-karaf osgi-bundle karaf

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

如何区分给定的Context对象是Activity还是Service Context?

我想知道我的给定Context对象是来自Activity,Service还是Application.或者换句话说,如果我的代码在后台或前台执行.(前景是指活动代码和活动创建的线程.)

android

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

有没有办法在IntelliJ IDE中的Android项目中提取字符串资源?

当我在Android项目上工作时,我想使用一些神奇的快捷方式将我的字符串提取到strings.xml,并允许我更改密钥.有没有?

如果没有,有没有办法开发新的重构方法并扩展IntelliJ的可能性?

android intellij-idea automated-refactoring

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

如何在通知视图中制作倒计时器?

我想出了如何使用RemoteViews类创建自定义视图.我也知道如何使用ChronometerProgressBar内部RemoteViews.

但是如何进行倒计时View,几乎完全相同,Chronometer但不同之处在于它会倒计时而不是向上计数?

我试图复制Chronometer类的来源并修改它以便它符合我的需要,但有一些注释@android.view.RemotableViewMethod,我无法导入到我的项目中.不幸的是,如果没有注释,它就无法工作,因为RemoteViews它们使用它们来传递值.

我的第二个想法是扩展Chronometer类并覆盖正确的方法,但它们是private.

任何想法,都有可能吗?(还有一个问题,因为我不确定:如果方法是注释的并且我重写了这个方法,那么注释是继承的吗?)

android android-notifications countdowntimer

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

我可以使用模糊处理的序列化吗?

我想知道它是否会起作用...在我的应用程序中,我有一个对象,我正在序列化文件,然后我用ProGuard混淆代码,应用程序进入市场.然后我想发布新版本的应用程序.我也一样.用户运行应用程序更新.

问题是 - 使用第一个版本的应用程序序列化的对象是否在第二个版本中正确反序列化?如果是的话 - 为什么?

obfuscation serialization android proguard

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

SonarQube在插件开发期间无法重启

我正在为SonarQube 4.5.4/5.0.1开发一个插件.我想使用sonar-dev插件上传一个JAR文件并快速重启SQ服务器.插件使用REST API(/api/system/restart),它通过设置sonar.dev=true属性启用.

这是配置:

<plugin>
    <groupId>org.codehaus.sonar</groupId>
    <artifactId>sonar-dev-maven-plugin</artifactId>
    <version>1.8</version>
    <configuration>
        <sonarHome>F:\sonarqube-5.1\sonarqube-5.1</sonarHome>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

问题是每次重启尝试后服务器崩溃,我必须手动重启,这令人沮丧,并降低了我的工作效率.这是"重启"后每个后续请求返回的堆栈跟踪.

org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `controllers' for nil:NilClass
    at org.jruby.RubyKernel.method_missing(org/jruby/RubyKernel.java:255)
    at RUBY.method_missing(F:/sonarqube-5.1/sonarqube-5.1/web/WEB-INF/gems/gems/activesupport-2.3.15/lib/active_support/whiny_nil.rb:52)
    at RUBY.add_java_ws_routes(F:/sonarqube-5.1/sonarqube-5.1/web/WEB-INF/config/../lib/java_ws_routing.rb:34)
    at RUBY.reload(F:/sonarqube-5.1/sonarqube-5.1/web/WEB-INF/config/../lib/java_ws_routing.rb:58)
    at RUBY.reload_application(F:/sonarqube-5.1/sonarqube-5.1/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/dispatcher.rb:58)
    at RUBY.run(F:/sonarqube-5.1/sonarqube-5.1/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/reloader.rb:42)
    at RUBY.call(F:/sonarqube-5.1/sonarqube-5.1/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/dispatcher.rb:108)
    at RUBY.serve_rails(file:/F:/sonarqube-5.1/sonarqube-5.1/lib/server/jruby-rack-1.1.13.2.jar!/rack/adapter/rails.rb:34)
    at RUBY.call(file:/F:/sonarqube-5.1/sonarqube-5.1/lib/server/jruby-rack-1.1.13.2.jar!/rack/adapter/rails.rb:39)
    at RUBY.call(file:/F:/sonarqube-5.1/sonarqube-5.1/lib/server/jruby-rack-1.1.13.2.jar!/rack/handler/servlet.rb:22)
Run Code Online (Sandbox Code Playgroud)

这是 从第71行开始的日志中发生的事情.

根据@Simon Brandhof,它可能与锁定文件的类加载器相关联.任何线索或变通方法都非常感激.

plugins sonarqube

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

如何在Keycloak JS适配器中确定用户是否使用SSO登录?

为了介绍当前的设置,我有3个组件:

  • 具有一些静态(CMS)和动态部分,几个单页应用程序的网站,所有内容都可以在域上运行spa.com
  • REST API,可提供任何动态功能(用户配置文件),并且托管在api.comSSO令牌上,并且需要SSO令牌才能起作用。
  • SSO服务器托管在sso.com域下

我想在SPA中确定用户是否具有活动的SSO会话,因此,当我登录但没有令牌时,我可以:

  • 进行重定向舞蹈以获取令牌
  • 不允许用户使用注册表

我正在使用Keycloak JS适配器,该适配器使用iframe机制并检查KEYCLOAK_SESSIONcookie,并通过一些标志与主机窗口进行通信:

var cookie = getCookie('KEYCLOAK_SESSION');
if (cookie) {
    data.loggedIn = true;
    data.session = cookie;
}
Run Code Online (Sandbox Code Playgroud)

问题是我不能依靠此cookie来检查用户是否已登录,因为cookie的有效期为30天,这比实际的Keycloak会话持续的时间(例如15分钟)还长。

当用户通过身份验证时会设置此cookie,并且不会在每次令牌更新时刷新。我不明白那是这个标志的目的和目的。

我还在考虑依靠本地存储并在其中保留刷新和访问令牌来确定用户是否已登录,方法是检查超时或尝试刷新访问令牌。但是,这也不可靠,因为用户可能已经使用其他应用程序进行了身份验证。

为问题增加更多的上下文...我的SPA应用程序之一是注册向导,该向导使用REST API来注册用户并得到login_hint回报。这login_hint可以被用作SSO重定向通配符来通过挑战并立即登录。

但是,如果某个其他用户已经登录,我们将获得该其他用户的返回会话,而不是由于used而应登录的用户login_hint

single-sign-on angularjs keycloak

5
推荐指数
0
解决办法
638
查看次数

为什么代码覆盖率有时会计算方法名称或右括号?

为什么像方法定义(带有修饰符、方法名称、参数等的行)或右括号这样的行有时会计入行覆盖率?

示例1

在这个特定的示例中,它是一个构造函数方法,但并不总是这样:

例2

你能解释一下吗?

java junit unit-testing code-coverage

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

如何在AEM中以编程方式获取复制代理?

除了使用Sling查询之外,有没有办法获取作者复制代理?

java replication aem

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