小编sle*_*ica的帖子

Java:将私有成员字段设置为可访问的危险?

要设置私有的值Field,需要将其标记为可访问:

field.setAccessible(true);
Run Code Online (Sandbox Code Playgroud)

SecurityManager什么时候不允许这样?将它包含在库中有多便携?导入某些情境时会失败吗?

java security

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

Android:在表单中对齐标签

创建表单布局的最简单方法是什么,例如(比如说)这个:

.-----------------------------------------------.
|          First Field [    (EditText)    ]     |
|     Some Other field [    (EditText)    ]     |
|        A Third Field [    (EditText)    ]     |
.-----------------------------------------------.
Run Code Online (Sandbox Code Playgroud)

我的Android有点生疏,无法弄清楚如何正确使用=(.

细节:

  1. 整件事以集装箱为中心.

  2. 标签在它们之间水平右对齐,并与它们各自的输入框垂直居中对齐(虽然我无法在上面的纯文本中表示)

  3. 输入框的大小都相同.

如果EditTexts可以收缩或增长到最大宽度,保持布局如上所示:D,以便处理方向更改而不会出现丑陋的超大输入.

android android-layout

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

Java:获取私有成员的注释

我试图找到所有用自定义注释注释的字段,但它似乎没有检测到它.相同的代码适用于标准注释,例如@Deprecated.

要重现的最小代码:

public class MyClass {

    public @interface MyAnnotation {}

    @MyAnnotation Object someObject;
    @MyAnnotation @Deprecated Object someDeprecatedObject;
    @Deprecated Object aThirdObject;

    public static void main(String[] args) {
        Class<?> cls = MyClass.class;

        for (Field field : cls.getDeclaredFields()) {
            System.out.print(field.getName());

            for (Annotation a : field.getDeclaredAnnotations())
                System.out.print(" " + a);

            System.out.println();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

someObject
someDeprecatedObject @java.lang.Deprecated()
aThirdObject @java.lang.Deprecated()
Run Code Online (Sandbox Code Playgroud)

@Deprecated出现了,但是@MyAnnotation却没有!救命!

java annotations

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

Android:根视图的快照(使用ActionBar)

我曾经通过content观察并绘制它来捕捉活动的位图:

View view = activity.findViewById(android.R.id.content)

Bitmap bitmap = Bitmap.createBitmap(
    view.getWidth(), view.getHeight(), Config.ARGB_8888
);

view.draw(new Canvas(bitmap));
Run Code Online (Sandbox Code Playgroud)

现在我正在使用ActionBar,并且它没有嵌套在content视图下,所以它被遗漏了.如何获得真正的根视图?或者以其他方式使用操作栏拍摄照片,如果这不可能的话?

android android-activity

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

Redis得到还是创造?

我想将Redis用作随机种子缓存.当我想要一个键的值时,如果还没有,我将生成一个随机字符串并存储它以供以后重用.

我如何执行原子GET EXISTING OR SET AND RETURN THIS VALUE

redis

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

Python:大文件上的正则表达式.简单的方法?

我需要在文件上运行正则表达式匹配,但是我遇到了一个意想不到的问题:文件太大read()或者mmap()在一次调用中,文件对象不支持buffer()接口,而正则表达式模块只接受字符串或缓冲区.

是否有捷径可寻?

python regex io file

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

Python中的装饰函数

Python的Decorator函数有这个简单的模板

@A

@B

def C():
Run Code Online (Sandbox Code Playgroud)

它将C函数修改为C = A(B(C));

让我们举一个更具体的例子

@request("POST", "%(channel)d/sequence/%(args)s") 
@response("%d")

    def outputSequence(self, channel, args):
        self.checkDigitalChannelExported(channel)
        self.checkPostingValueAllowed()
        self.checkDigitalChannel(channel)
        (period, sequence) = args.split(",")
        period = int(period)
        GPIO.outputSequence(channel, period, sequence)
        return int(sequence[-1])
Run Code Online (Sandbox Code Playgroud)

所以从上面来看,转换后的函数是否可以

喜欢请求(响应(outSequence(self,channel,args))?

python

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

Android:突然,多参数格式化字符串出现 AAPT 错误

类似的问题已经回答过好几次了,我确实检查了很多。这是不同的,请继续阅读。

strings.xml用多个格式参数定义了(大量)数量的字符串。例如:

<string name="my_fmt_string">%s and also %s</string>
Run Code Online (Sandbox Code Playgroud)

这会导致 AAPT 错误

AAPT: warn: multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
Run Code Online (Sandbox Code Playgroud)

正如我上面所说,在 SO 中已经提出并回答了许多关于此的问题。这些答案是指使用位置语法 ( %1$s) 和formatted=false.

问题是,这些问题可以追溯到 2010 年,而我的应用程序已经有 4 年历史,并且在我今天尝试之前编译得非常完美。没有最近的变化指向一个问题,肯定不是自从我上次编译这个 - 3 天前,星期五。

我的应用程序中有很多很多格式化的字符串。修复每个案例是乏味的,甚至是困难的(复杂的格式%02d呢?如果混合使用String.formatcontext.getString(id, ...args)呢?)。

有什么变化?为什么会突然失效?

android

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

惯用bash:设置变量的默认值

如何以简洁,惯用的方式为bash变量设置默认值?这看起来很难看:

if [[ ! -z "$1" ]]; then
    option="$1"
else
    option="default"
fi
Run Code Online (Sandbox Code Playgroud)

bash idiomatic

0
推荐指数
2
解决办法
953
查看次数