我以为我理解左外连接是如何工作的,但是我的情况不起作用,而且我不能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) 我正在尝试在我们正在处理的应用程序中创建自定义进度条,我需要的最后一块是进度指示器本身.相反,我想让条形圆形就像进度条本身的左手边和右手边一样,就像在第二个图像中一样(当然减去红色圆圈).


这是进度条的布局定义(为简洁起见,省略了布局文件的其余部分):
<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看了一个新的组件,它和这里的建议有同样的问题.
我正在努力让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.消息或 …
我们在当前项目中使用的是带有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) 我们正在尝试在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在尝试登录时试图将我发送到端点.我错过了什么?
android ×3
dependencies ×1
docker ×1
gradle ×1
join ×1
kubernetes ×1
mysql ×1
nexus ×1
outer-join ×1
robolectric ×1
sql ×1
testing ×1