小编Hes*_*sam的帖子

Android,我怎么知道动画完成了?

在我的项目中,我有一个按钮.当用户点击它时,它会显示和动画之后应该加载另一个活动.

@Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btnReadPage:
                startAnimation();
                //stopAnimation();
                //Toast.makeText(this, "Read Page Clicked", Toast.LENGTH_SHORT).show();
                //startActivity(new Intent(this, ReadPage.class));
                return;
        }

    }
Run Code Online (Sandbox Code Playgroud)

根据上面的代码(startActivity,评论),当我运行应用程序并单击按钮时,动画将播放.但如果因为快速过渡动画而未显示,则取消注释.我如何通知动画完成?谢谢

animation android button

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

已定义资源条目com.crashlytics.android.build_id

我的项目正在运行,一切都很好,但不知道突然发生的事情,当我想建立我的项目时,我遇到了错误.这是Gradle输出:

/Users/admin/Desktop/android/MY-Project/build/intermediates/res/project/debug/values/values.xml:265: error: Resource entry com.crashlytics.android.build_id is already defined.
/Users/admin/Desktop/android/MY-Project/build/intermediates/res/project/debug/values/com_crashlytics_build_id.xml:9: Originally defined here.
Run Code Online (Sandbox Code Playgroud)

由于这两个文件都是自动生成的,我无能为力:(

  1. 我试图通过Build>"Clean project"来清理项目,但什么都没发生.
  2. 我试图清理项目./gradlew clean assembleDebug但没有发生任何事情.
  3. 我试图通过文件>"无效缓存/重新启动"使Android Studio的缓存无效,但什么都没发生.
  4. 我甚至重新启动了我的f.laptop,但是当我构建项目时仍然显示相同的问题.

我在构建脚本中有这个类路径但是如上所述它正在工作......

dependencies {
        classpath 'com.android.tools.build:gradle:1.0.1'
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激.谢谢.

java android build crashlytics android-gradle-plugin

7
推荐指数
4
解决办法
3722
查看次数

Git 预提交挂钩:防止更改特定文件的提交

我的项目下有一些 .json 文件,其中包含多个密钥。这些密钥不得处于版本控制之下。我在项目中用假密钥替换了这些实际密钥,以防止持续集成时构建失败。

但是,开发人员需要将这些文件复制/粘贴到笔记本电脑上,然后才能测试应用程序。

现在的问题是开发人员可能会忘记并错误地将它们提交到 git 中。我想运行一个pre-commit脚本来检查修改的文件,如果添加其中之一,则提交失败。

我有什么办法可以做到这一点吗?

git githooks

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

为什么setCanceledOnTouchOutside(false)在"警报"构建器中不起作用?

我的活动中有一个警告对话框,不希望用户通过单击对话框外部来解除它.根据我的研究(像这样)我找到了setCanceledOnTouchOutside(false);方法.但是,我无法在我的应用程序中使用它,并且可以在我使用此方法时关闭对话框.

这是我的代码:

private AlertDialog alertDialog;
alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.setTitle("");
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
        switch (intAlertAction) {
            case 1:
            case 2:
            case 3:
            default:
        }
}
});
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激.

android dialog android-alertdialog

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

Android,不支持独立版本的traceview

我想看看我的踪迹.

1-在代码中,我添加了以下代码行:

// Start trace recording
android.os.Debug.startMethodTracing("hc_traceview");
Run Code Online (Sandbox Code Playgroud)

// Stop trace recording
android.os.Debug.stopMethodTracing();
Run Code Online (Sandbox Code Playgroud)

2-我可以hc_traceview.terac在DDMS的文件浏览器中看到" ".

3-基于在Traceview中查看跟踪文件,我在终端中运行了以下命令:

@hesam-K5VD:~/Desktop/Eclipse/sdk/tools$ traceview /mnt/sdcard/hc_traceview
Run Code Online (Sandbox Code Playgroud)

但是输出的是:

The standalone version of traceview is deprecated.
Please use Android Device Monitor (tools/monitor) instead.
trace file '/mnt/sdcard/hc_traceview' not found
Run Code Online (Sandbox Code Playgroud)

4-根据建议,我在终端运行以下命令:

@hesam-K5VD:~/Desktop/Eclipse/sdk/tools$ monitor /mnt/sdcard/hc_traceview
Run Code Online (Sandbox Code Playgroud)

DDMS打开但我的痕迹不在这里:(我怎么能看到我的痕迹?

任何建议将不胜感激.

android ddms android-traceview

6
推荐指数
2
解决办法
7903
查看次数

检查Git上的"拉取请求"以检查/测试PR

我们有一个repo,我已经添加到我的本地分支作为Upstream.有人发了PR,我想复习一下.虽然我可以通过他们的Diff工具查看Github上的代码,但我想在我的本地机器上进行测试并在真实设备上测试它以确保它正常工作(Android repo它).

什么是结账这个公关的最佳方式?

git github git-pull pull-request

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

如何在Android测试中显示日志文件System.out.println()?

我做了很多搜索,但遗憾的是无法让它发挥作用.

根据我的搜索,我发现我需要在build.gradle文件中添加以下代码.然而,Gradle似乎并不认识它并且总是说Geadle DSL method not found: test()

test  {
    testLogging.showStandardStreams = true
    testLogging.events("passed", "skipped", "failed", "standardOut", "standardError")

    afterTest { desc, result ->
        println "Executing test ${desc.name} [${desc.className}] with result: ${result.resultType}"
    }
}
Run Code Online (Sandbox Code Playgroud)

更新

如果你创建一个测试项目,并将所有测试用例内部的,而不是我可以证实上面的代码或比下面的代码更好地工作正常src/test/java,并src/androidTest/java在主体工程.这是因为您可以java在build.gradle文件中应用插件.但是,在任何com.android.*已定义的build.gradle文件中都不可能使用以下代码.由于这两个库不兼容:(

apply plugin: 'java'
evaluationDependsOn(':YOUR-LIB')

test {
    testLogging.showStandardStreams = true

    testLogging {
        events "passed", "skipped", "failed", "standardOut", "standardError"
        exceptionFormat = 'full'
    }

    afterTest { desc, result ->
        println "Executing test ${desc.name} [${desc.className}] with result: ${result.resultType}"
    }

    forkEvery = …
Run Code Online (Sandbox Code Playgroud)

logging android gradlew build.gradle android-gradle-plugin

6
推荐指数
0
解决办法
696
查看次数

Android,错误=无法找到以下内容的检测信息:ComponentInfo {}

关于stackoverflow上的这个问题有很多主题/问题(比如Error =无法找到:ComponentInfo {}的检测信息)和其他网站,但是让我的问题与其他网站不同的是我正致力于自动化.那么让我给你更多细节.

当我在本地机器上测试时,我没有问题(我的意思是我的笔记本电脑).我可以运行Espresso测试,所有测试都通过.

现在,我想在CI上运行这些测试(在我的案例中为Bitrise).我创建并运行模拟器.我确认那里没有问题.我有以下脚本:

...
# Check which instrumentation packages have been installed on your device, https://stackoverflow.com/a/23394559/513413
echo ""
echo "Check which instrumentation packages have been installed..."
adb shell pm list instrumentation

# Running tests
echo ""
echo "running test..."
adb shell am instrument -w -r   -e debug false -e class my.package.name.MyActivityTest my.package.name.test/android.support.test.runner.AndroidJUnitRunner
Run Code Online (Sandbox Code Playgroud)

这是CI的输出:

Check which instrumentation packages have been installed...
instrumentation:com.android.emulator.smoketests/android.support.test.runner.AndroidJUnitRunner (target=com.android.emulator.smoketests)
instrumentation:com.android.smoketest.tests/com.android.smoketest.SmokeTestRunner (target=com.android.smoketest)
instrumentation:com.example.android.apis/.app.LocalSampleInstrumentation (target=com.example.android.apis)
running test...
INSTRUMENTATION_STATUS: id=ActivityManagerService
INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info …
Run Code Online (Sandbox Code Playgroud)

automation android android-espresso bitrise

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

如何在 Postman 的当前时间戳中添加更多时间?

我知道我可以像这样将当前时间戳添加到请求中:

postman.setEnvironmentVariable('pickUpTime',(new Date()).toISOString());

但是,我想将 10 分钟后添加到 Postman 的当前时间戳。我怎样才能做到这一点?

似乎我不能这样做:

postman.setEnvironmentVariable('pickUpTime',(new Date() + 10000).toISOString());

postman

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

如何在 Flutter 中删除/减少 CheckboxListTile 的文本和复选框之间的空间?

如何减少/删除下图中 CheckboxListTile 和文本之间的空间?

看来以下行仅删除了周围的空间。

CheckboxListTile(
    title: Text('Account number not available'),
    contentPadding: EdgeInsets.all(0),
    controlAffinity: ListTileControlAffinity.leading,
)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

flutter

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