小编KG6*_*ZVP的帖子

设置宽度以匹配ConstraintLayout中的约束

我想将View的左侧和右侧约束到它的父视图的边距,并使其填充分配的空间.但是,将宽度设置为match_parent或者wrap_content似乎产生相同的结果.

有没有相当于match_constraints的东西(而不是match_parent和wrap_content)?难道match_parentwrap_content影响布局还是他们在新的约束布局忽略?

爱我最喜欢的平台的新布局系统!

android android-constraintlayout

79
推荐指数
6
解决办法
7万
查看次数

Android onClick in XML vs. OnClickListener

我意识到之前已经提出了类似措辞的问题,但这是不同的.我是开发Android应用程序的新手,我有三个关于android:onclick=""XML属性和setOnClickListener方法之间差异的问题.

  1. 两者有什么不同?在编译时或运行时或两者都找到两个实现之间的区别?

  2. 哪些用例有利于哪些实现?

  3. Android中片段的使用与实现选择有何不同?

xml performance android android-fragments

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

c ++ boost :: filesystem undefined对`boost :: filesystem3 :: path :: root_name()const'的引用

在尝试编译使用boost :: filesystem库的代码时,我一直在运行错误.我不明白我得到的任何编译器输出.这是我从http://www.highscore.de/cpp/boost/dateisystem.html#dateisystem_pfadangaben复制的代码:

#include <boost/filesystem.hpp>
#include <iostream>

int main(){
  boost::filesystem::path p("C:\\Windows\\System");
  std::cout << p.root_name() << std::endl; 
  std::cout << p.root_directory() << std::endl; 
  std::cout << p.root_path() << std::endl; 
  std::cout << p.relative_path() << std::endl; 
  std::cout << p.parent_path() << std::endl; 
  std::cout << p.filename() << std::endl; 
} 
Run Code Online (Sandbox Code Playgroud)

我有Ubuntu 11.10,我已经安装了libbost-dev和g ++.这就是终端的样子:

sam@sam-MT6707:~/Dokumente/Programming/Projekte/FTP-abgleicher$ g++ -o pr3 pr3.cpp
/tmp/ccrN7yHl.o: In function `main':
pr3.cpp:(.text+0x3b): undefined reference to `boost::filesystem3::path::root_name() const'
pr3.cpp:(.text+0x7e): undefined reference to `boost::filesystem3::path::root_directory() const'
pr3.cpp:(.text+0xc1): undefined reference to `boost::filesystem3::path::root_path() const'
pr3.cpp:(.text+0x104): undefined reference to `boost::filesystem3::path::relative_path() const' …
Run Code Online (Sandbox Code Playgroud)

c++ boost g++

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

如何从LiveData获取值?

我是第一次使用Room.我正在看一下LiveData概念.我知道我们可以从DB获取记录到LiveData和附加的hasObservers.

@Query("SELECT * FROM users")

<LiveData<List<TCUser>> getAll();
Run Code Online (Sandbox Code Playgroud)

但是我在后台执行同步,我需要从服务器获取数据并将其与RoomDatabase表中名为"users"的数据进行比较,然后从users表中插入,更新或删除.如何在采取任何行动之前遍历LiveData列表?因为如果我把它放入for循环它会给出错误.

或者我不应该在这种情况下使用LiveData吗?

我想我需要打电话

<LiveData<List<TCUser>> getAll().getValue()
Run Code Online (Sandbox Code Playgroud)

但这是正确的做法吗?这里有一些代码可以说明我想要做的事情:

List<User>serverUsers: Is the data received from a response from an API

private void updateUsers(List<User> serverUsers) {
    List<UserWithShifts> users = appDatabase.userDao().getAllUsers();
    HashMap<String, User> ids = new HashMap();
    HashMap<String, User> newIds = new HashMap();

    if (users != null) {
        for (UserWithShifts localUser : users) {
            ids.put(localUser.user.getId(), localUser.user);
        }
    }

    for (User serverUser : serverUsers) {
        newIds.put(serverUser.getId(), serverUser);

        if (!ids.containsKey(serverUser.getId())) {
            saveShiftForUser(serverUser);
        } else {
            User existingUser = ids.get(serverUser.getId());
            //If …
Run Code Online (Sandbox Code Playgroud)

android android-sqlite android-room android-livedata

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

来自Maven的Bean中的UnknownEntityTypeException

我一直在尝试重构一个java项目,将子模块移动到部署到我们内部maven存储库(archiva)的单独项目中.

子模块中的类如下:

org.example.srv.DomainUser
org.example.srv.DomainUserBean //entity manager
org.example.srv.UserGroup
org.example.srv.UserGroupBean //entity manager
Run Code Online (Sandbox Code Playgroud)

当源文件被复制到主后端服务器项目内的相应包文件夹中时,它工作正常,但是当我们从后端服务器项目中删除源文件并将相同的代码作为maven依赖项拉出时,我收到以下错误在尝试访问数据库时:

org.hibernate.UnknownEntityTypeException: Unable to locate persister: org.example.srv.DomainUser
Run Code Online (Sandbox Code Playgroud)

后端服务器项目的持久性XML:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="loginserver">
    <properties>
        <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
    </properties>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)

我只能想象当项目是分开的时候它与bean发现有关,但我真的很困惑,用最小的配置开销来分离这些项目会很棒.

主服务器项目pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example.srv</groupId>
    <artifactId>loginserver</artifactId>
    <version>0.0.2-SNAPSHOT</version>
    <packaging>war</packaging>
    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.unboundid</groupId>
            <artifactId>unboundid-ldapsdk</artifactId>
            <version>3.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.example</groupId>
            <artifactId>authobjects</artifactId>
            <version>1.0.0</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>loginserver</finalName>
    </build>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </properties>
</project>
Run Code Online (Sandbox Code Playgroud)

Auth Objects pom.xml(该项目还包含类的ORM代码,包括JPQL语句构建器等):

<project xmlns="http://maven.apache.org/POM/4.0.0" …
Run Code Online (Sandbox Code Playgroud)

hibernate maven jpa-2.1

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

使用Java的Locale框架代表Middle Earth的最佳方法是什么?

我正在组建一个Android应用程序,它将开箱即用Quenya翻译(精灵语).

如果我们希望在代表这个幻想世界的同时保持最高的ISO标准,我们该如何应对呢?

此外,如果有一个代表中土的标准已经得到社区的同意,它是什么?

也许我们会:需要更多的语言或国家代码的字母(如"Tolkien's Middle Earth"的"TME"或"Middle Earth,Gondor"的"MEGN")

java locale

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

Android 中有没有办法接收 CPU 唤醒事件?

我正在尝试降低 Android 应用程序的功耗,该应用程序必须定期进行一些琐碎的数据处理,但又不那么紧急,以至于需要触发唤醒自身。

当另一个应用程序或进程无论如何都唤醒手机时,有什么方法可以接收事件,然后执行一些数据处理?我有兴趣看看这是否可以将功耗降低到低于使用计划任务的功耗。

我意识到这是一个奇怪的问题,可能最终更像是一个实验室实验,而不是问题的重要解决方案,但如果可能的话,我想尝试一下。

android power-management wakelock

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

哪些语言功能无法用lambda定义?

似乎lambda可以用于几乎任何东西(即使它看起来更复杂),但它确实有其局限性.

lambda没有涵盖哪些用例?

lambda language-features functional-programming language-design

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

JSch get() 因 NullPointerException 而失败

我有一个 Jax-RS 服务器,它应该保留可通过 ssh 访问的文件列表,然后我可以通过 HTTP 下载或流式传输。

我一直在尝试使用 JSch 的 SFTP 通道读取文件,但我一直收到NullPointerException.

这是MessageBodyWriter我写的:

@Provider
@Produces("video/*")
public class MediaBodyWriter implements MessageBodyWriter<MediaFile> {

    @Override
    public long getSize(MediaFile mFile, Class<?> arg1, Type arg2, Annotation[] arg3, MediaType arg4) {
        return mFile.getFileSize();
    }

    @Override
    public boolean isWriteable(Class<?> type, Type arg1, Annotation[] arg2, MediaType arg3) {
        return type.equals(MediaFile.class);
    }

    @Override
    public void writeTo(MediaFile mFile,
                    Class<?> type,
                    Type genericType,
                    Annotation[] annotations,
                    MediaType mediaType,
                    MultivaluedMap<String, Object> httpHeaders,
                    OutputStream entityStream) throws IOException, WebApplicationException {
        mFile.streamFile(entityStream); …
Run Code Online (Sandbox Code Playgroud)

java sftp jsch jakarta-ee

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

使用规则约束或子类型 Ada 中的 Unbounded_String?

Ada 的新手,但到目前为止喜欢它。我可能是在以菜鸟的方式问这个问题,因为我在尝试写一些有用的东西时有点糊涂,但这里是:

我有一个使用Unbounded_Strings的系统,我想对它们应用一些规则,即长度是否可以被整除n或它们可以包含哪些字符。有没有一种巧妙的方法来解决这个问题,以便我可以依靠类型系统进行验证?

string constraints ada

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

BouncyCastle NoSuchProviderException 即使它是 Maven 依赖项

我正在尝试使用 Wildfly Swarm 构建一个现有的 JavaEE 项目,但我的一个库中不断遇到问题。它应该从服务器加载 PEM 格式的公钥并用它来验证签名。然而,我不断得到这个:

2017-06-08 20:55:59,229 ERROR [stderr] (default task-3) java.security.NoSuchProviderException: no such provider: BC
2017-06-08 20:55:59,234 ERROR [stderr] (default task-3)     at sun.security.jca.GetInstance.getService(GetInstance.java:83)
2017-06-08 20:55:59,238 ERROR [stderr] (default task-3)     at sun.security.jca.GetInstance.getInstance(GetInstance.java:206)
2017-06-08 20:55:59,238 ERROR [stderr] (default task-3)     at java.security.KeyFactory.getInstance(KeyFactory.java:211)
2017-06-08 20:55:59,239 ERROR [stderr] (default task-3)     at enterprises.mccollum.wmapp.ssauthclient.PublicKeySingleton.loadPubKey(PublicKeySingleton.java:83)
2017-06-08 20:55:59,239 ERROR [stderr] (default task-3)     at enterprises.mccollum.wmapp.ssauthclient.PublicKeySingleton.init(PublicKeySingleton.java:57)
Run Code Online (Sandbox Code Playgroud)

导致问题的代码在这里:

PublicKeySingleton.java snippet:
81:    PemObject pemPubKey = ldPemFromServer();
82:    if(pemPubKey != null){
83:    KeyFactory kf = KeyFactory.getInstance("RSA", BouncyCastleProvider.PROVIDER_NAME);
84:    PublicKey lPubKey …
Run Code Online (Sandbox Code Playgroud)

java bouncycastle maven wildfly-swarm

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

C++程序不会打印命令行参数

我决定回到编程(特别是C++),为此我开始研究命令行解析器.最终目标是将其变成一个简单的类,我可以在以后的某个项目中导入它.

这个测试程序只是列出它收到的参数数量,然后打印出来,每行一个,然后退出.

这是我的代码:

#include <iostream>
#include <cstdlib>

using namespace std;

int main(int argc, char* argv[]){
    cout << "Es gibt " << argc << " Argumente." << endl;
    for(int i=0; i << argc; i++){
        cout << "Argument " << i << ": " << argv[i] << endl;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

以下是终端中发生的情况:

[user@dx4320 cmdline-parser]$ g++ cmdline-parser-test.cpp -o parsetest
[user@dx4320 cmdline-parser]$ ./parsetest eins zwei
Es gibt 3 Argumente.
[user@dx4320 cmdline-parser]$ 
Run Code Online (Sandbox Code Playgroud)

为什么不按照预期打印参数?它清楚地认识到这些论点,那么问题是什么呢?我相信我错过了一些明显的东西.

c++ command-line-arguments

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