小编The*_*eth的帖子

让LEFT OUTER JOIN工作的问题

我以为我理解左外连接是如何工作的,但是我的情况不起作用,而且我不能100%确定我的查询结构是否不正确,或者是否是数据问题.

对于后台,我有以下MySQL表结构:

mysql> describe achievement;
+-------------+----------------------+------+-----+---------+-------+
| Field       | Type                 | Null | Key | Default | Extra |
+-------------+----------------------+------+-----+---------+-------+
| id          | varchar(64)          | NO   | PRI | NULL    |       |
| game_id     | varchar(10)          | NO   | PRI | NULL    |       |
| name        | varchar(64)          | NO   |     | NULL    |       |
| description | varchar(255)         | NO   |     | NULL    |       |
| image_url   | varchar(255)         | NO   |     | NULL    |       |
| gamerscore  | …
Run Code Online (Sandbox Code Playgroud)

mysql sql join outer-join

28
推荐指数
2
解决办法
8802
查看次数

圆形进度条中的圆形进度

我正在尝试在我们正在处理的应用程序中创建自定义进度条,我需要的最后一块是进度指示器本身.相反,我想让条形圆形就像进度条本身的左手边和右手边一样,就像在第二个图像中一样(当然减去红色圆圈).

在此输入图像描述

在此输入图像描述

这是进度条的布局定义(为简洁起见,省略了布局文件的其余部分):

<ProgressBar
    android:id="@+id/progress_bar"
    android:layout_width="fill_parent"
    android:layout_height="60dp"
    android:padding="3dp"
    android:max="100"
    android:progressDrawable="@drawable/progress_bar_states"
    android:layout_marginTop="10dp"
    style="?android:attr/progressBarStyleHorizontal"
    android:indeterminateOnly="false"
    android:layout_below="@id/textview2"
    android:layout_alignLeft="@id/textview2"
    />
Run Code Online (Sandbox Code Playgroud)

这是progress_bar_states.xml文件:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@android:id/background">
        <shape>
            <solid android:color="#20ffff00"/>
            <corners android:radius="60dp"/>
        </shape>
    </item>

    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <solid android:color="#20ffffff"/>
                <corners android:radius="60dp"/>
            </shape>
        </clip>
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?我没有看到任何选项允许我根本定义进度指示器.我应该以不同的方式做这件事吗?我在Android上仍然很新,所以任何指导都表示赞赏.

@Ando - 您的解决方案非常接近我的需求.指标运动的开始现在是问题,我猜它是因为它不像原始的那样.当指标开始,并在开始时达到某一点,看起来它被"挤压"

在此输入图像描述

直到它到达适当的点然后它看起来很好:

在此输入图像描述

我们如何使用此解决方案在一开始就完成"裁剪"?

对于@bladefury - 正如您所看到的,与上图中的前沿相比,它确实看起来很平坦.

在此输入图像描述

编辑:在看了很长一段时间之后,我在https://github.com/akexorcist/Android-RoundCornerProgressBar/issues看了一个新的组件,它和这里的建议有同样的问题.

android android-progressbar

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

使用Robolectric与Android Studio 1.1.0一起工作的清单和设置问题

我正在努力让Robolectric测试并在我们当前的项目中工作,而且没有太多运气.我的偏好是让它们在Android Studio 1.1.0+中运行.这是我的项目结构:

在此输入图像描述

这是我的测试:

import android.widget.Button;

import com.mycompany.android.app.R;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;

import static org.junit.Assert.assertNotNull;

@Config(manifest = "AndroidManifest.xml")
@RunWith(RobolectricTestRunner.class)
public class SplashActivityTest {

    private SplashActivity splashActivity;

    @Before
    public void setup() {
        splashActivity = Robolectric.buildActivity(SplashActivity.class).create().start().resume().get();
    }

    @Test
    public void shouldNotBeNull() {
        Button signUpButton = (Button) splashActivity.findViewById(R.id.sign_up_button);
        assertNotNull(signUpButton);

        Button loginButton = (Button) splashActivity.findViewById(R.id.login_button);
        assertNotNull(loginButton);
    }

}
Run Code Online (Sandbox Code Playgroud)

无论我做什么来尝试通过更改清单的路径来让框架找到测试,它都找不到它 - 我得到WARNING: No manifest file found at ./AndroidManifest.xml.Falling back to the Android OS resources only.消息或 …

testing android robolectric robolectric-gradle-plugin

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

Android Studio中的Base64依赖项问题

我们在当前项目中使用的是带有Gradle插件0.11.+的Android Studio 0.6.1,我们遇到了依赖问题commons-codec.我们从包含"加密"服务的本地Artifactory实例中引入依赖类,该服务使用以下两行代码:

byte[] encryptedOutput = cipherFactory.getEncryptCipher().doFinal(plaintext.getBytes());
byte[] encryptedCipherText = Base64.encodeBase64URLSafe(encryptedOutput);
Run Code Online (Sandbox Code Playgroud)

问题是即使我们commons-codec在Gradle配置中定义了特定的依赖关系,我们也会得到以下异常

java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64URLSafe
Run Code Online (Sandbox Code Playgroud)

起初,我们手动包括依赖"公地编解码器:公地编解码器:1.9",但根据Android的工作室,当我深入到IDE中的代码,它看起来在该方法的版本1.9,但当应用程序运行时,我们得到例外.甚至将依赖关系更改为1.4仍然会失败,即使根据Javadocs的说法,该方法何时可用.即使完全删除手动依赖也会导致同样的事情发生.

有什么方法可以找出正在运行的应用程序从哪里拉出这种依赖?这是我们目前完整的依赖列表,我找不到commons-codec任何这些

compile files('libs/HockeySDK-3.0.2.jar')
compile files('libs/PushIOManager.jar')
compile 'commons-lang:commons-lang:2.6@jar'
compile 'org.codehaus.jackson:jackson-core-asl:1.9.2@jar'
compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.2@jar'
compile 'com.google.android.gms:play-services:4.4.52'
compile 'com.mcxiaoke.volley:library:1.0.4'
compile 'fr.avianey:facebook-android-api:3.14.1@aar'
compile 'javax.validation:validation-api:1.0.0.GA'
Run Code Online (Sandbox Code Playgroud)

我担心这个类会被安装在Android SDK的某个地方,我们无法覆盖它以使用它的版本来commons-codec允许我们使用我们的库.即使我们能做到这一点,我担心这样做可能会导致Android本身的一些基本问题.我们可以(而且目前做的)有拉升到我们的应用程序,加密服务类的源和调整其使用适当当量,但这意味着我们做出改变,以一种或另一种版本的任何时候,我们不得不保持他们同步.

有任何想法吗?

更新:在这种特定情况下似乎工作的是扫描Gradle构建文件中的依赖项,一旦找到您要查找的依赖项,覆盖就是您要使用的版本.例如:

def versionOverrides = [
    "commons-codec:commons-codec": "1.9",
]

subprojects {
    configurations.all {
        resolutionStrategy.eachDependency { DependencyResolveDetails details ->

            def overrideVersion = versionOverrides[details.requested.group + ":" + details.requested.name]

            if (overrideVersion != null && details.requested.version != overrideVersion) {
                logger.info …
Run Code Online (Sandbox Code Playgroud)

dependencies android gradle android-studio

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

登录尝试Nexus OSS Docker repo投掷404

我们正在尝试在Kubernetes集群中的Nexus OSS(v3.3.2-02)中设置Docker存储库,并且在登录时遇到问题.我们打算使用以下配置为DockerHub设置代理,私有仓库和组合仓库将两者捆绑在一起

托管

代理 在此输入图像描述

在此输入图像描述

给我们以下列表:

在此输入图像描述

但是当我尝试登录到存储库时,它似乎正在尝试将我转发到/v2端点,这会引发404错误:

> docker login -u <user> -p <pass> https://repo.myhost.com:443
Error response from daemon: login attempt to https://repo.myhost.com:443/v2/ failed with status: 404 Not Found
Run Code Online (Sandbox Code Playgroud)

我想补充一点,我们在同一个实例中设置了Maven和NPM存储库并且它们正在工作,所以看起来Nexus本身没问题,但是Docker配置有问题.

我不知道为什么这个请求/v2在尝试登录时试图将我发送到端点.我错过了什么?

nexus docker kubernetes

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